Communication avec un serveur SOAP

teeez Messages postés 3 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 11 octobre 2006 - 7 sept. 2006 à 10:11
nickadele Messages postés 1251 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 avril 2013 - 10 sept. 2006 à 14:07
Bonjour à toutes et à tous !
Je dois pourvoir échanger des infos sur des clients avec un serveur soap.
En clair je dois exécuter une fonction présente sur le serveur soap distant en lui passant des paramètres  et en réponse je dois récupérer d'autres infos sur ces clients.
Je n'ai jamais travaillé avec soap. En regardant un peu la doc je suis tombé sur  <cfinvoke ki me parait être la solution pour  exécuter la fonction à distance en passant mes paramètres et j’ai pensé à CFHTP avec method = GET pour récupérer les infos…voilà pour la théorie, en pratique c’est une autre histoire :



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 




GetPinCLIInfo est le nom de la fct à exécuter



 




Les paramètres à passer :



 




MSISDN=>'44484238701'


username=>'test'


password=>'testpass'



 





 ensuite ça se complique, ce qui suit, sont les infos XML à échanger



 




ENVOI



 




<?xml version="1.0" encoding="ISO-8859-1"?><SOAP-ENV:Envelope


SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"


xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"


xmlns:xsd="http://www.w3.org/2001/XMLSchema"


xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"


xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">



<SOAP-ENV:Body>





<ns9342:GetPinCLIInfo xmlns:ns9342="http://tempuri.org">





<MSISDN xsi:type= "xsd:string">44484238701</MSISDN>





test





testpass





</ns9342:GetPinCLIInfo>





</SOAP-ENV:Body>




</SOAP-ENV:Envelope>



 




REPONSE



 




<?xml version ="1.0" encoding="ISO-8859-1"?><SOAP-ENV:Envelope


SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"


xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"


xmlns:xsd="http://www.w3.org/2001/XMLSchema"


xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"


xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"



xmlns:tns="urn:LoCoIN">





<SOAP-ENV:Body>





<ns1:GetPinCLIInfoResponse xmlns:ns1="http://tempuri.org">










<MSISDN xsi:type= "xsd:string">44484238701</MSISDN>





44484238701





1





<StatusDescription xsi:type ="xsd:string">Active</StatusDescription>





<CreditsLeftCents xsi:type="xsd:integer">1400</CreditsLeftCents>





<LanguageID xsi:type="xsd:integer">1</LanguageID>





<MNPBeepActivated xsi:type="xsd:integer">0</MNPBeepActivated>





<CurrencyDescription xsi:type="xsd:string">Euro</CurrencyDescription>





<ExpirationDate xsi:type="xsd:string">20070904</ExpirationDate>










</ns1:GetPinCLIInfoResponse>





</SOAP-ENV:Body>





</SOAP-ENV:Envelope>





 





 




Pour exécuter la fonction à distance et pour passer les paramètres j’ai exécuté le code suivant :



 





<cfinvoke webservice="https://soap.AdresseServeur.php?wsdl"






    method="GetPinCLIInfo"  returnVariable="res">






    <cfinvokeargument name="MSISDN"  value="44472589347">






    <cfinvokeargument name="username"  value="test">






    <cfinvokeargument name="password"  value="testpass">




</cfinvoke>


<cfoutput>#res#</cfoutput>



 




mais j’ai déjà l’ erreur suivante :



 








Could not generate stub objects for web service invocation.

,
 ,

----

javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated It is recommended that you use a web browser to retrieve and examine the requested WSDL document for correctness. If the requested WSDL document can't be retrieved or it is dynamically generated, it is likely that the target web service has programming errors.




 





Une âme charitable pour me sortir de là, mille mercis !



 




 



 




 

1 réponse

nickadele Messages postés 1251 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 avril 2013
10 sept. 2006 à 14:07
Bonjour Teez,

Le message d'erreur que tu reçois, te conseille de faire un test avec un Browser pour détecter l'origine du problème tel que :
https://soap.AdresseServeur.php?method=GetPinCLIInfo&MSISDN=44472589347&username=test&password=testpass
D'autre part, SOAP n'est pas un serveur mais un protocol de communication de message, il n'est pas lié à un protocol particulier mais utilisé principalement en HTTP.
Plus d'infos : http://fr.wikipedia.org/wiki/SOAP

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
0
Rejoignez-nous