[Soap-Python] soaplib document/literal
Dieter Maurer
dieter at handshake.de
Fri Dec 3 10:43:06 CET 2010
voloviny wrote at 2010-12-3 10:19 +0100:
> ...
>... and soaplib responds with (document/encoded?):
>
><?xml version='1.0' encoding='utf-8'?>
><senv:Envelope xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing"
>xmlns:plink="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
>xmlns:xop="http://www.w3.org/2004/08/xop/include" xmlns:senc="
>http://schemas.xmlsoap.org/soap/encoding/" xmlns:s1="aaa" xmlns:s0="bbb"
>xmlns:s12env="http://www.w3.org/2003/05/soap-envelope/" xmlns:s12enc="
>http://www.w3.org/2003/05/soap-encoding/" xmlns:xs="
>http://www.w3.org/2001/XMLSchema" xmlns:wsdl="
>http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="
>http://www.w3.org/2001/XMLSchema-instance" xmlns:senv="
>http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="
>http://schemas.xmlsoap.org/wsdl/soap/">
> <senv:Header/>
> <senv:Body>
> <s0:HelloResponse>
> <s0:HelloResult>
> <s0:string xsi:type="xs:string">hello</s0:string>
> <s0:string xsi:type="xs:string">olleh</s0:string>
> </s0:HelloResult>
> </s0:HelloResponse>
> </senv:Body>
></senv:Envelope>
Where do you see "document/encoded"?
I can see one redundant "encoding='utf-8'" (it specifies the default)
and several unused namespace declarations for "encoding" (in some
variety). All of which is harmless (though not strictly necessary).
>called operation (Hello) is specified as:
>
><wsdl:operation name="Hello">
> <soap:operation soapAction="Hello" style="document"/>
> <wsdl:input name="Hello">
> <soap:body use="literal"/>
> </wsdl:input>
> <wsdl:output name="HelloResponse">
> <soap:body use="literal"/>
> </wsdl:output>
></wsdl:operation>
>
>
>everything is working fine (client accepts response message) ...
>but the question is ... why is soaplib breaking the contract defined in
>wsdl?
Does it?
I see only the use of freedom granted by the various specifications.
For example:
XML-Names requires that each used namespace prefix has an associated
definition. But it does not forbid to define unused namespaces.
XML uses "encoding='utf-8'" as the default but does not forbid
to specify it explicitely.
--
Dieter
More information about the Soap
mailing list