Inside WSDL:
<message name="updateRoutePartitionIn">
<part element="xsd1:updateRoutePartition"
name="axlParams"/>
</message>
<message name="updateRoutePartitionOut">
<part element="xsd1:updateRoutePartitionResponse"
name="axlParams"/>
</message>
<operation name="updateRoutePartition">
<input message="s0:updateRoutePartitionIn"/>
<output message="s0:updateRoutePartitionOut"/>
</operation>
<operation name="updateRoutePartition">
<soap:operation soapAction="CUCM:DB ver=8.5 updateRoutePartition"
style="document"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
Inside XSD:
<xsd:element name='updateRoutePartition'
type='axlapi:UpdateRoutePartitionReq'></xsd:element>
<xsd:element name='updateRoutePartitionResponse'
type='axlapi:StandardResponse'></xsd:element>
I think this is the really relevant part, where all the methods related to
the "partition" element are defined:
<xsd:element name='addRoutePartition'
type='axlapi:AddRoutePartitionReq'></xsd:element>
<xsd:element name='addRoutePartitionResponse'
type='axlapi:StandardResponse'></xsd:element>
<xsd:element name='updateRoutePartition'
type='axlapi:UpdateRoutePartitionReq'></xsd:element>
<xsd:element name='updateRoutePartitionResponse'
type='axlapi:StandardResponse'></xsd:element>
<xsd:element name='getRoutePartition'
type='axlapi:GetRoutePartitionReq'></xsd:element>
<xsd:element name='getRoutePartitionResponse'
type='axlapi:GetRoutePartitionRes'></xsd:element>
<xsd:element name='removeRoutePartition'
type='axlapi:NameAndGUIDRequest'></xsd:element>
<xsd:element name='removeRoutePartitionResponse'
type='axlapi:StandardResponse'></xsd:element>
<xsd:element name='listRoutePartition'
type='axlapi:ListRoutePartitionReq'></xsd:element>
<xsd:element name='listRoutePartitionResponse'
type='axlapi:ListRoutePartitionRes'></xsd:element>
<xsd:complexType name='AddRoutePartitionReq'>
<xsd:complexContent>
<xsd:extension base='axlapi:APIRequest'>
<xsd:sequence>
<xsd:element name='routePartition'
type='axlapi:XRoutePartition'></xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name='UpdateRoutePartitionReq'>
<xsd:complexContent>
*<xsd:extension base='axlapi:NameAndGUIDRequest'> ---> probably the
problem
lies here, since this xml request is not added to the soap request*
<xsd:sequence>
<xsd:element nillable='false' name='newName' minOccurs='0'
type='xsd:string' maxOccurs='1'></xsd:element>
<xsd:element nillable='false' name='description' minOccurs='0'
type='xsd:string' maxOccurs='1'></xsd:element>
<xsd:element nillable='true' name='timeScheduleIdName'
minOccurs='0'
type='axlapi:XFkType' maxOccurs='1'></xsd:element>
<xsd:element type='axlapi:boolean' nillable='false'
maxOccurs='1'
minOccurs='0' name='useOriginatingDeviceTimeZone'
default='true'></xsd:element>
<xsd:element type='axlapi:XTimeZone' nillable='false'
maxOccurs='1'
minOccurs='0' name='timeZone' default='GMT'>
<xsd:annotation>
<xsd:documentation>Only Applicable if TimeSchedule is selected. If
OriginatingDevice is selected then this tag is not
applicable.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence></xsd:extension>
</xsd:complexContent>
</xsd:complexType>
By the way it seems that the argument missing from the method (and so the
lacking xml tag) is defined below:
*<xsd:complexType name="NameAndGUIDRequest">*
<xsd:annotation>
<xsd:documentation>This is a utility object that created because many of
the Get, Remove, and Update methods allow the user to specify either the
name or the uuid.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="axlapi:APIRequest">
<xsd:sequence>
<xsd:choice>
<xsd:element name="name" type="axlapi:String100"
nillable="false">
<xsd:annotation>
<xsd:documentation>Not nullable.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="uuid" type="axlapi:XUUID"
nillable="false">
<xsd:annotation>
<xsd:documentation>Not nullable.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
Thank you
2013/8/1 Victor Varvariuc <victor.varvariuc(a)gmail.com>
Show the WSDL file part for updateRoutePartition
--
*Victor Varvaryuk (Виктор Варварюк)*
On 31 July 2013 20:16, daniele visaggio <visaggio.daniele(a)gmail.com>wrote:
> Hi all,
>
> using version: 0.4.1 (beta) build: R703-20101015.
>
> I built a soap client from a wsdl file. The method I'm trying to use is
> the following:
>
> updateRoutePartition(xs:string newName, xs:string description,
> ns0:XFkType timeScheduleIdName, ns0:boolean useOriginatingDeviceTimeZone,
> ns0:XTimeZone timeZone, )
>
> The problem is that a fundamental argument is missing from the method
> arguments' list. The result is that on the outgoing request a crucial xml
> tag is not present.
>
> This is the resulting xml sent on the wire (it's broken and the request
> fails):
>
> <SOAP-ENV:Envelope
xmlns:ns0="http://www.cisco.com/AXL/API/8.5"
>
xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="
>
http://www.w3.org/2001/XMLSchema-instance
> "
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
> <SOAP-ENV:Header/>
> <ns1:Body>
> <ns0:updateRoutePartition>
> <newName>newName</newName>
> <description>NewDescrition</description>
> </ns0:updateRoutePartition>
> </ns1:Body>
> </SOAP-ENV:Envelope>
>
> From soapui I see that the correct xml should be:
>
> <soapenv:Envelope xmlns:soapenv="
>
http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="
>
http://www.cisco.com/AXL/API/8.5">
> <soapenv:Header/>
> <soapenv:Body>
> <ns:updateRoutePartition sequence="?">
> * <name>?</name>* <---- missing tag!
> <newName>?</newName>
> <description>?</description>
> </ns:updateRoutePartition>
> </soapenv:Body>
> </soapenv:Envelope>
>
>
> Is there a way to overcome this issue? why suds is showing me a method
> with a missing argument?
>
> Thank you in advance,
>
> Daniele
>
> p.s. pls see attached wsdl/xsd files I'm using
>
>
>
> _______________________________________________
> suds mailing list
> suds(a)lists.fedoraproject.org
>
https://admin.fedoraproject.org/mailman/listinfo/suds
>