2010-10-21 4 views
1

J'ai serveur de savon à base de python et a essayé de l'appeler fonctions à l'aide client de savon Erlang (à base de yaws_soap_lib):avec Elang (yaws_soap_lib base) du savon client

1> INET: start(). ok 2> yaws_soap_lib: call ("http://127.0.0.1:90/soap/system/wsdl", "cpu_count", []). {ok, non défini, non défini}

voici ce que j'ai pu voir avec le programme tcpdump (réponse du serveur au client):

HTTP/1.1.200.OK..Date: .Wed ,. 20.Oct.2010.15: 56: 11.GMT..Serveur: .Apache/2.2.15. (Unix) .mod_wsgi/2.5.Python/2.5.2..Content-Length: .276..Content-Type :. text/xml

< SOAP-ENV: Envelope.xmlns: xsi = "http://www.w3.org/1999/XMLSchema-instance" .xmlns: SOAP-ENV = "http: //schemas.xmlsoap .org/soap/envelope/"> < SOAP-NV: Corps> < cpu_countResponse> < cpu_countResult.xsi: type =" xs: int "> 2 </cpu_countResult> </cpu_countResponse> </SOAP-ENV: Body> </SOAP-ENV: Envelope>

comme on peut le voir dans le serveur enveloppe réponse 2, mais yaws_soap_lib: appel n'a pas été en mesure de voir que 2 dans la réponse. Y at-il une option pour résoudre le problème?

Merci.

Répondre

0

Je suppose que vous n'avez pas spécifié le préfixe NS, qui est par défaut "P" ou "p" (je ne m'en souviens pas). Ainsi, chaque fois que vous recevez une réponse, le client de savon n'est pas capable de la désérialiser, car il est représenté dans le modèle erlsom sous la forme d'un enregistrement 'P: cpu_countResponse'.

+0

Bienvenue dans le débordement de la pile. Pour info, vous n'avez pas besoin de laisser une signature sur tous vos messages. C'est à ça que sert la carte d'utilisateur. Voir [faq # signatures]. –

Questions connexes