[Fedora-suds-list] suds client and soaplib

John Aherne jjaherne at googlemail.com
Sun Apr 25 12:54:18 UTC 2010


Jeff

I have moved on a bit.

I have only sent you part of the wsdl due to misunderstanding how the wsdl
is used.

When the client requests each time the wsdl, I wondered why the wsdl that
seemed to get generated only covered part of the wsdl.

I assumed that was how it was supposed to work.

I did try to find some other code in soaplib or suds that might be clearer
about getting the wsdl but did not find what I wanted.

Now I have used the soapui project to check what was happening. The code
that gets sent back is identical for suds and soapui, which is encouraging.

The full wsdl is below. If you need it as an attachment let me know.

Regards

John Aherne

<?xml version="1.0" encoding="UTF-8"?>
<definitions targetNamespace="CreateJob.CreateJob" name="CreateJob"
xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
xmlns:tns="CreateJob.CreateJob" xmlns:typens="CreateJob.CreateJob"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="
http://www.w3.org/1999/XMLSchema-instance" xmlns:soap="
http://schemas.xmlsoap.org/wsdl/soap/" xmlns="
http://schemas.xmlsoap.org/wsdl/">
  <types>
    <schema targetNamespace="CreateJob.CreateJob" xmlns="
http://www.w3.org/2001/XMLSchema">
      <xs:element name="JobArray" type="tns:JobArray"/>
      <xs:complexType name="SpecialInstructionArray">
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded"
type="tns:SpecialInstruction" name="SpecialInstruction"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="SpecialInstruction" type="tns:SpecialInstruction"/>
      <xs:element name="cancel_job" type="tns:cancel_job"/>
      <xs:complexType name="StopArray">
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" type="tns:Stop"
name="Stop"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="amend_job" type="tns:amend_job"/>
      <xs:element name="amend_jobResponse" type="tns:amend_jobResponse"/>
      <xs:complexType name="GeoLocation">
        <xs:sequence>
          <xs:element name="town" minOccurs="0" type="xs:string"/>
          <xs:element name="latitude" minOccurs="0" type="xs:float"/>
          <xs:element name="postcode" minOccurs="0" type="xs:string"/>
          <xs:element name="longitude" minOccurs="0" type="xs:float"/>
          <xs:element name="address" minOccurs="0" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="get_jobResponse">
        <xs:sequence>
          <xs:element name="get_jobResult" type="tns:Job"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="MeetingPointArray" type="tns:MeetingPointArray"/>
      <xs:element name="list_jobs" type="tns:list_jobs"/>
      <xs:complexType name="SpecialInstruction">
        <xs:sequence>
          <xs:element name="type" minOccurs="0" type="xs:string"/>
          <xs:element name="id" minOccurs="0" type="xs:integer"/>
          <xs:element name="value" minOccurs="0" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="get_job" type="tns:get_job"/>
      <xs:element name="SpecialInstructionArray"
type="tns:SpecialInstructionArray"/>
      <xs:complexType name="cancel_job">
        <xs:sequence>
          <xs:element name="number" type="xs:integer"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="add_job">
        <xs:sequence>
          <xs:element name="job" type="tns:Job"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="SpecialPlace" type="tns:SpecialPlace"/>
      <xs:element name="StopArray" type="tns:StopArray"/>
      <xs:element name="add_job" type="tns:add_job"/>
      <xs:element name="get_jobResponse" type="tns:get_jobResponse"/>
      <xs:element name="TerminalArray" type="tns:TerminalArray"/>
      <xs:element name="add_jobResponse" type="tns:add_jobResponse"/>
      <xs:complexType name="add_jobResponse">
        <xs:sequence>
          <xs:element name="add_jobResult" type="xs:integer"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="amend_jobResponse">
        <xs:sequence/>
      </xs:complexType>
      <xs:element name="ActorArray" type="tns:ActorArray"/>
      <xs:element name="Actor" type="tns:Actor"/>
      <xs:element name="cancel_jobResponse" type="tns:cancel_jobResponse"/>
      <xs:element name="list_jobsResponse" type="tns:list_jobsResponse"/>
      <xs:complexType name="Airport">
        <xs:sequence>
          <xs:element name="terminals" minOccurs="0"
type="tns:TerminalArray"/>
          <xs:element name="location" minOccurs="0" type="tns:GeoLocation"/>
          <xs:element name="name" minOccurs="0" type="xs:string"/>
          <xs:element name="id" minOccurs="0" type="xs:integer"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="Job" type="tns:Job"/>
      <xs:complexType name="MeetingPoint">
        <xs:sequence>
          <xs:element name="id" minOccurs="0" type="xs:integer"/>
          <xs:element name="location" minOccurs="0" type="tns:GeoLocation"/>
          <xs:element name="name" minOccurs="0" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="SpecialPlace">
        <xs:sequence>
          <xs:element name="name" minOccurs="0" type="xs:string"/>
          <xs:element name="cashCustomerAllowed" minOccurs="0"
type="xs:boolean"/>
          <xs:element name="meetingPoints" minOccurs="0"
type="tns:MeetingPointArray"/>
          <xs:element name="location" minOccurs="0" type="tns:GeoLocation"/>
          <xs:element name="type" minOccurs="0" type="xs:string"/>
          <xs:element name="id" minOccurs="0" type="xs:integer"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="Stop" type="tns:Stop"/>
      <xs:complexType name="JobArray">
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" type="tns:Job"
name="Job"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="MeetingPointArray">
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded"
type="tns:MeetingPoint" name="MeetingPoint"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="Actor">
        <xs:sequence>
          <xs:element name="id" minOccurs="0" type="xs:integer"/>
          <xs:element name="email" minOccurs="0" type="xs:string"/>
          <xs:element name="role" minOccurs="0" type="xs:string"/>
          <xs:element name="name" minOccurs="0" type="xs:string"/>
          <xs:element name="telephone" minOccurs="0" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="Airport" type="tns:Airport"/>
      <xs:complexType name="list_jobs">
        <xs:sequence/>
      </xs:complexType>
      <xs:complexType name="cancel_jobResponse">
        <xs:sequence/>
      </xs:complexType>
      <xs:complexType name="Stop">
        <xs:sequence>
          <xs:element name="note" minOccurs="0" type="xs:string"/>
          <xs:element name="meetingPoint" minOccurs="0" type="xs:string"/>
          <xs:element name="airportStop" minOccurs="0" type="xs:boolean"/>
          <xs:element name="specialPlace" minOccurs="0"
type="tns:SpecialPlace"/>
          <xs:element name="arrivalFrom" minOccurs="0" type="xs:string"/>
          <xs:element name="terminal" minOccurs="0" type="tns:Terminal"/>
          <xs:element name="airport" minOccurs="0" type="tns:Airport"/>
          <xs:element name="location" minOccurs="0" type="tns:GeoLocation"/>
          <xs:element name="operationType" minOccurs="0" type="xs:integer"/>
          <xs:element name="id" minOccurs="0" type="xs:integer"/>
          <xs:element name="flightNo" minOccurs="0" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="TerminalArray">
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded"
type="tns:Terminal" name="Terminal"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="MeetingPoint" type="tns:MeetingPoint"/>
      <xs:complexType name="get_job">
        <xs:sequence>
          <xs:element name="number" type="xs:integer"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="ActorArray">
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" type="tns:Actor"
name="Actor"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="amend_job">
        <xs:sequence>
          <xs:element name="job" type="tns:Job"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="Job">
        <xs:sequence>
          <xs:element name="specialInstructions" minOccurs="0"
type="tns:SpecialInstructionArray"/>
          <xs:element name="asSoonAsPossible" minOccurs="0"
type="xs:boolean"/>
          <xs:element name="callerName" minOccurs="0" type="xs:string"/>
          <xs:element name="lastDrop" minOccurs="0" type="xs:string"/>
          <xs:element name="jobDate" minOccurs="0" type="xs:dateTime"/>
          <xs:element name="callerPhone" minOccurs="0" type="xs:string"/>
          <xs:element name="number" minOccurs="0" type="xs:integer"/>
          <xs:element name="stops" minOccurs="0" type="tns:StopArray"/>
          <xs:element name="pinCode" minOccurs="0" type="xs:string"/>
          <xs:element name="delay" minOccurs="0" type="xs:string"/>
          <xs:element name="cancelledOnArrival" minOccurs="0"
type="xs:boolean"/>
          <xs:element name="actors" minOccurs="0" type="tns:ActorArray"/>
          <xs:element name="firstPickUp" minOccurs="0" type="xs:string"/>
          <xs:element name="cancelled" minOccurs="0" type="xs:boolean"/>
          <xs:element name="mainPassenger" minOccurs="0" type="xs:string"/>
          <xs:element name="price" minOccurs="0" type="xs:float"/>
          <xs:element name="callerEmail" minOccurs="0" type="xs:string"/>
          <xs:element name="id" minOccurs="0" type="xs:integer"/>
          <xs:element name="serviceCode" minOccurs="0" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="list_jobsResponse">
        <xs:sequence>
          <xs:element name="list_jobsResult" type="tns:JobArray"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="Terminal">
        <xs:sequence>
          <xs:element name="location" minOccurs="0" type="tns:GeoLocation"/>
          <xs:element name="meetingPoint" minOccurs="0" type="xs:string"/>
          <xs:element name="name" minOccurs="0" type="xs:string"/>
          <xs:element name="id" minOccurs="0" type="xs:integer"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="GeoLocation" type="tns:GeoLocation"/>
      <xs:element name="Terminal" type="tns:Terminal"/>
    </schema>
  </types>
  <message name="add_job">
    <part name="add_job" element="tns:add_job"/>
  </message>
  <message name="add_jobResponse">
    <part name="add_jobResponse" element="tns:add_jobResponse"/>
  </message>
  <message name="amend_job">
    <part name="amend_job" element="tns:amend_job"/>
  </message>
  <message name="amend_jobResponse"/>
  <message name="cancel_job">
    <part name="cancel_job" element="tns:cancel_job"/>
  </message>
  <message name="cancel_jobResponse"/>
  <message name="get_job">
    <part name="get_job" element="tns:get_job"/>
  </message>
  <message name="get_jobResponse">
    <part name="get_jobResponse" element="tns:get_jobResponse"/>
  </message>
  <message name="list_jobs"/>
  <message name="list_jobsResponse">
    <part name="list_jobsResponse" element="tns:list_jobsResponse"/>
  </message>
  <portType name="CreateJob">
    <operation name="add_job" parameterOrder="add_job">
      <documentation/>
      <input name="add_job" message="tns:add_job"/>
      <output name="add_jobResponse" message="tns:add_jobResponse"/>
    </operation>
    <operation name="amend_job" parameterOrder="amend_job">
      <documentation/>
      <input name="amend_job" message="tns:amend_job"/>
      <output name="amend_jobResponse" message="tns:amend_jobResponse"/>
    </operation>
    <operation name="cancel_job" parameterOrder="cancel_job">
      <documentation/>
      <input name="cancel_job" message="tns:cancel_job"/>
      <output name="cancel_jobResponse" message="tns:cancel_jobResponse"/>
    </operation>
    <operation name="get_job" parameterOrder="get_job">
      <documentation/>
      <input name="get_job" message="tns:get_job"/>
      <output name="get_jobResponse" message="tns:get_jobResponse"/>
    </operation>
    <operation name="list_jobs" parameterOrder="list_jobs">
      <documentation/>
      <input name="list_jobs" message="tns:list_jobs"/>
      <output name="list_jobsResponse" message="tns:list_jobsResponse"/>
    </operation>
  </portType>
  <plnk:partnerLinkType name="CreateJob">
    <plnk:role name="CreateJob">
      <plnk:portType name="tns:CreateJob"/>
    </plnk:role>
  </plnk:partnerLinkType>
  <binding name="CreateJob" type="tns:CreateJob">
    <soap:binding style="document" transport="
http://schemas.xmlsoap.org/soap/http"/>
    <operation name="add_job">
      <soap:operation soapAction="add_job" style="document"/>
      <input name="add_job">
        <soap:body use="literal"/>
      </input>
      <output name="add_jobResponse">
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="amend_job">
      <soap:operation soapAction="amend_job" style="document"/>
      <input name="amend_job">
        <soap:body use="literal"/>
      </input>
      <output name="amend_jobResponse">
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="cancel_job">
      <soap:operation soapAction="cancel_job" style="document"/>
      <input name="cancel_job">
        <soap:body use="literal"/>
      </input>
      <output name="cancel_jobResponse">
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="get_job">
      <soap:operation soapAction="get_job" style="document"/>
      <input name="get_job">
        <soap:body use="literal"/>
      </input>
      <output name="get_jobResponse">
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="list_jobs">
      <soap:operation soapAction="list_jobs" style="document"/>
      <input name="list_jobs">
        <soap:body use="literal"/>
      </input>
      <output name="list_jobsResponse">
        <soap:body use="literal"/>
      </output>
    </operation>
  </binding>
  <service name="CreateJob">
    <port name="CreateJob" binding="tns:CreateJob">
      <soap:address location="http://localhost:7789/CreateJob?wsdl"/>
    </port>
  </service>
</definitions>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.fedoraproject.org/pipermail/suds/attachments/20100425/4d706666/attachment-0001.html 


More information about the suds mailing list