snv
snv

Reputation: 11

issue with elang (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 fix the issue?

Thanks.

Upvotes: 1

Views: 413

Answers (1)

mkorszun
mkorszun

Reputation: 4571

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'.

Upvotes: 0

Related Questions