Burak,
The bare parameter is forcing me to have, for the decorated function,
only one parameter of input, for example (given a Foo method):
/@srpc(FooType, _body_style='bare', _returns=SomeReturnStructure)/
giving the following exception:
/Exception: body_style='bare' can handle at most one function argument./
The request is being sent as this:
<?xml version="1.0" ?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:Initialize
xmlns="http://standards.iso.org/iso-iec/19794/-1/" xmlns:ns2="tns"
xmlns:ns3="http://some.domain.com/commonTypes"
xmlns:ns4="http://standards.iso.org/iso-iec/19794/-4/">
<ns3:id>some-id</ns3:id>
<ns3:name>some-name</ns3:nome>
</ns2:Initialize>
</S:Body>
</S:Envelope>
However, the responses are being validated. These are auto-generated
stubs from some java webservices lib, so I guess the consumer of the
webservice won't do any change in the way he calls my rpc's. Basically
he calls directly but expects bare naming in return.
How do I fix this ?
Thank you !
On 15/04/2015 04:58, Burak Arslan wrote:
On 04/14/15 21:08, Patricio Stegmann Gmail wrote:
Hello,
I am looking at a way to change the default behaviour on output
generation with soap.
Basically spyne creates the typedefs but responds with its
autogenerated names:
/
//<senv:Envelope xmlns:tns="tns" xmlns:s0="datamodel"
xmlns:senv="http://schemas.xmlsoap.org/soap/envelope/">//
// <senv:Body>//
//* <tns:helloResponse>*//*
*//* <tns:helloResult>*//
// <s0:param2>myval</s0:param2>//
// <s0:param1>1</s0:param1>//
//* </tns:helloResult>*//*
*//* </tns:helloResponse>*//
// </senv:Body>//
//</senv:Envelope>/
I need to change the default name of helloResult. I could already
manage it for helloResponse, by using on the srpc decorator the
parameter _in_message_name etc... However, I dont know how to change
the name for helloResult. I tried, on the return type, to do
something like this:
You need to use the bare mode. This disables auto class generation and
uses classes supplied by you. Bare mode supports only one input and
one output argument. You need to use a ComplexModel if you need to
work with more than one argument in input or output.
class HelloCustomResponse(ComplexModel):
#(...)
@rpc( (...) ,_body_style='bare', _returns=HelloCustomResponse)
hth,
burak
_______________________________________________
Soap mailing list
[email protected]
https://mail.python.org/mailman/listinfo/soap