I have the following web service defined using Spyne.

class CapsWebService(ServiceBase):
    @rpc(String, Integer, _returns=Iterable(String))
    def SayHello(ctx, name, times):
        for i in xrange(times):
            yield 'Hello, %s' % name

The corresponding WSDL generated for the web services inputs is:

<wsdl:types>
<xs:schema targetNamespace="solutions.sfcs" elementFormDefault="qualified">
<xs:complexType name="SayHello">
<xs:sequence>
<xs:element name="name" type="xs:string" minOccurs="0" nillable="true"/>
<xs:element name="times" type="xs:integer" minOccurs="0" nillable="true"/>
</xs:sequence>
</xs:complexType>

Why are these inputs being wrapped in a complexType? This forces me to
consume the web service in .NET using the following statement:

SayHelloResponse response = client.SayHello(new SayHello() { name = "Dave",
times = "5" });

As opposed to:

SayHelloResponse response = client.SayHello("Dave", "5");

Is there a way to stop Spyne from wrapping the inputs? Am I doing something
wrong in either python or .NE that's forcing me to use the longer more
cludgey .NET statement to consume the web service?


Thanks,
Charlie
_______________________________________________
Soap mailing list
[email protected]
http://mail.python.org/mailman/listinfo/soap

Reply via email to