开发者

issue with elang (yaws_soap_lib based) soap client

开发者 https://www.devze.com 2023-01-21 07:21 出处:网络
I have python\'s based soap server and tried to call it functions using erlang (yaws_soap_lib based) soap client:

I have python's based soap server and tried to call it functions using erlang (yaws_soap_lib based) soap client:

1> inets:start(). ok 2> yaws_soap_lib:call("http://127.0.0.1:90/soap/system/wsdl","cpu_count",[]). {ok,undefined,undefined}

here is what I was able to see with tcpdump program (answer of server to client):

HTTP/1.1.200.OK..Date:.Wed,.20.Oct.2010.15:56:11.GMT..Server:.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:Body> < cpu_countResponse>< cpu_countResult.xsi:type="xs:int">2< /cpu_countResult>< /cpu_countResponse>< /SOAP-ENV:Body>< /SOAP-ENV:Envelope>

as one can see in envelope server answer 2, but yaws_soap_lib:call was not able to see that 2 in the answer. is there an option to开发者_如何学C fix the issue?

Thanks.


I suspect you have not specified NS prefix, which is by default "P" or "p" (I can't remember). So whenever you receive response soap client is not able to deserialize it, because it is represented in erlsom model as a record 'P:cpu_countResponse'.

0

精彩评论

暂无评论...
验证码 换一张
取 消