Hov. Du er ikke logget ind.
DU SKAL VÆRE LOGGET IND, FOR AT INTERAGERE PÅ DENNE SIDE

php og sæbe?

Side 1 ud af 1 (9 indlæg)
  • 1
Tilmeldt 10. Nov 09
Indlæg ialt: 0
Skrevet kl. 22:10
Hvor mange stjerner giver du? :

Jeg sidder og skal lave lidt php kode der bruger en soap funktion til at hente lidt data. Men Jeg er totalt nybegynder hvad angår soap! Er der nogen der kan hjælpe lidt?

$client = new SoapClient(	
		"https://www.xxxxxxx.dk/public/navn.asmx?WSDL", 
		array	(
			'soap_version'		=> SOAP_1_2,
			'navn'			=> 'MIG'
			)
		);
$result = $client->__soapCall("HentMinListe", array('navn'=>'MIG'));

Constructeren virker fint, men i __soapCall siger den at keg mangler en DSN???

Er der nogen der ved hvad det betyder?

Tilmeldt 10. Nov 09
Indlæg ialt: 0
Skrevet kl. 21:45
Hvor mange stjerner giver du? :

hmm... er der ingen der ved noget om soap???? 

Fra Nykøbing Falster
Tilmeldt 17. Jul 08
Indlæg ialt: 5906
Fra  Casper Schneidereit A/S Skrevet kl. 22:38
Hvor mange stjerner giver du? :

Prøv at søge på den eksakte fejl besked du får, eller prøv et af skoleeksemplerne fra PHP dokumationen, og se om du kan genskabe fejlen. Hvis fejlen ikke kommer hvad er så forskellen mellem din kode og eksemplet?

 

Fra København
Tilmeldt 7. Jun 09
Indlæg ialt: 1662
Skrevet kl. 22:42
Hvor mange stjerner giver du? :

Hvis du er på PHP4 (hvad det tyder lidt på i dine eksempler) er livet simpelthen for kort til at lave SOAP.

Er du på PHP5 skal vi have

$result = $client->HenteMinListe( array( ....

Kan ikke lige vurdere din constructor.

Folkeafstemning om Patentdomstolen

Tilmeldt 10. Nov 09
Indlæg ialt: 0
Skrevet kl. 15:48
Hvor mange stjerner giver du? :

Hvorfor tyder det på at jeg bruger PHP4 ? Er det fordi jeg kalder __soapCall ?

Fra København
Tilmeldt 7. Jun 09
Indlæg ialt: 1662
Skrevet kl. 15:53
Hvor mange stjerner giver du? :

Fordi du sætter den metode du ønsker at kalde som en del af parameterne, hvilket man kun skal gøre i PHP4.

Helt af h.... til bliver det, hvis man skal lave SOAP kald fra PHP4 kode på en PHP5 server.

Folkeafstemning om Patentdomstolen

Tilmeldt 10. Nov 09
Indlæg ialt: 0
Skrevet kl. 16:08
Hvor mange stjerner giver du? :

Tak

Så kan det være en af grundene til at det driller! :-)
Jeg må vist lige i læsehjørnet igen! 

Fra København
Tilmeldt 7. Jun 09
Indlæg ialt: 1662
Skrevet kl. 01:35
Hvor mange stjerner giver du? :

Lars,

Du sikrer dig lige du kører PHP5 og ikke version 4. php -v fra kommandolinjen eller en fil der udskriver resultatet af funktionen phpinfo() (tror jeg den hedder).

Her er lidt crappy kode jeg har klippet fra vores Tiger-projekt. Bemærk den forbinder til en webservice vi har skrevet i .NET.  Prøv evt. at fjerne '->GetRolesResult', da .NET som standard tilføjer [metodenavn]Result som resultatet.

PHP4 er crap og hvis du har behov for dette, må du skrive konkret.

PHP5:

$tiger_client = new SoapClient(https://bla.bla.bla/service.asmx?WSDLI);
$roles = $tiger_client->GetRoles(array(
    "parameter1" => "min værdi 1",
   "parameter " => "bla bla bla"
))->GetRolesResult;
var_dump($roles);

Bemærk hvordan metoden GetRoles kaldes - det er ikke et parameter i arrayet.

Hvis du ikke har været forbi, så skal du google 'php try catch' og bruge dette når du kalder webservices, men test noget i stil med ovenstående først.

God fornøjelse.

Folkeafstemning om Patentdomstolen

Tilmeldt 10. Nov 09
Indlæg ialt: 0
Skrevet kl. 18:56
Hvor mange stjerner giver du? :

Jesper:

Lars,

Du sikrer dig lige du kører PHP5 og ikke version 4. php -v fra kommandolinjen eller en fil der udskriver resultatet af funktionen phpinfo() (tror jeg den hedder).

Her er lidt crappy kode jeg har klippet fra vores Tiger-projekt. Bemærk den forbinder til en webservice vi har skrevet i .NET.  Prøv evt. at fjerne '->GetRolesResult', da .NET som standard tilføjer [metodenavn]Result som resultatet.

PHP4 er crap og hvis du har behov for dette, må du skrive konkret.

PHP5:

$tiger_client = new SoapClient(https://bla.bla.bla/service.asmx?WSDLI);
$roles = $tiger_client->GetRoles(array(
    "parameter1" => "min værdi 1",
   "parameter " => "bla bla bla"
))->GetRolesResult;
var_dump($roles);

Bemærk hvordan metoden GetRoles kaldes - det er ikke et parameter i arrayet.

Hvis du ikke har været forbi, så skal du google 'php try catch' og bruge dette når du kalder webservices, men test noget i stil med ovenstående først.

God fornøjelse.

Tak for det svar. Jeg er sikker på jeg kører PHP 5.2.6. Jeg var bare i tvivl om jeg brugte nogle gamle funktioner der hørte til i php4. Jeg prøver lige ovenstående lidt senere. Det er forresten også en windows server jeg skal kalde funktionen fra. Og jeg arbejder fra en linux server.

Side 1 ud af 1 (9 indlæg)