2009-12-04 2 views
0

J'ai besoin d'une base de client PHP sur nusoap lib. pour obtenir une réponse de service asmx avec auth Haeder activé:Comment puis-je écrire un script client Nusoap pour le service Web asmx?

C'est la demande (en utilisant soapUI):

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:res="namespaceurl"> <soap:Header> <res:AuthHeader> <!--Optional:--> <res:UserName>myuser</res:UserName> <!--Optional:--> <res:Password>mypass</res:Password> </res:AuthHeader> </soap:Header> <soap:Body> <res:LoanStatus> <res:iAccountNbr>?</res:iAccountNbr> <res:iResortNbr>?</res:iResortNbr> <!--Optional:--> <res:strXRef></res:strXRef> </res:LoanStatus> </soap:Body> </soap:Envelope>

es ici la réponse (soapUI): <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:res="namespaceurl"> <soap:Header> <res:AuthHeader> <!--Optional:--> <res:UserName>myuser</res:UserName> <!--Optional:--> <res:Password>mypass</res:Password> </res:AuthHeader> </soap:Header> <soap:Body> <res:LoanStatus> <res:iAccountNbr>?</res:iAccountNbr> <res:iResortNbr>?</res:iResortNbr> <!--Optional:--> <res:strXRef></res:strXRef> </res:LoanStatus> </soap:Body> </soap:Envelope>

Répondre

0

Si vous vraiment besoin d'utiliser NuSoap (je recommande d'utiliser l'extension PHP-native Soap!), Jetez un oeil sur les échantillons de clients dans le Introduction to NuSoap:

<?php 
// Pull in the NuSOAP code 
require_once('nusoap.php'); 
// Create the client instance 
$client = new soapclient('http://localhost/phphack/helloworld.php'); 
// Call the SOAP method 
$result = $client->call('hello', array('name' => 'Scott')); 
// Display the result 
print_r($result); 
?> 

De là, il devrait être simple.

+0

J'ai le même code avec l'en-tête et quelque chose que je dois obtenir la réponse HTTP/1.1 200 OK mais je ne vois pas la réponse xml comme XML. Je suis juste vide. et un message de savon pré-formaté – kraiosis

0

Vous pouvez utiliser nusoap pour envoyer du code XML brut si vous rencontrez des difficultés pour passer un appel SOAP à un service Web .NET prédéfini.

Vérifiez this post pour plus d'informations.

Toutefois, il est préférable d'essayer d'analyser le fichier WSDL. Essayez d'utiliser wsdl2php. C'est vraiment bien pour analyser des fichiers WSDL. Il va répliquer la structure de type de données à partir du fichier WSDL vers une bibliothèque de classe php.

Vous pouvez trouver une description sur comment l'utiliser here.

Questions connexes