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@gmail.com>
Show the WSDL file part for updateRoutePartition

--
Victor Varvaryuk (Виктор Варварюк)


On 31 July 2013 20:16, daniele visaggio <visaggio.daniele@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@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/suds