m.banaouas wrote:
Can you tell us more about SOAPpy bug ?
Is it about authentication ?
Ivan Zuzak a écrit :
...
I need a package/tool that generates web service proxies that will do
all the low-level HTTP work. (Someting like the WSDL.EXE tool in .NET
Framework) The ZSI and SOAPy packages [1] that i found (should) have
those functionalities but either have a bug (SOAPy) or either do not
work for arbitrary web services (ZSI). ...
SOAPy :
http://soapy.sourceforge.net/
SOAPPy :
http://pywebsvcs.sourceforge.net/
The bugged one is SOAPy (parsing errors and something else). I just
downloaded and tried SOAPPy and that one crashes too. I get an "Index
out of range" error while parsing the wsdl ( in XMLSchema.py ). The
traceback is a bit long, so I wont list the whole thing here.
Bellow this message is the wsdl of the service for which im trying to
get a proxy. If anyone manages to get a proxy out of it - please let me
know :).
Thank you for your help,
Ivan
//////////////////////// WSDL START ////////////////////////////////
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitio ns xmlns:s1="http://www.ris.fer.hr/overlay/addressing"
xmlns:http="htt p://schemas.xmlsoap .org/wsdl/http/"
xmlns:soap="htt p://schemas.xmlsoap .org/wsdl/soap/"
xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns:s3="http://www.ris.fer.hr/OpenCollectives/CoopetitionServ ices/MailBox/MessageStatisti cs"
xmlns:s2="http://www.ris.fer.hr/OpenCollectives/CoopetitionServ ices/XmlDoc"
xmlns:s4="http://ris.zemris.fer. hr/remotingSchema"
xmlns:soapenc=" http://schemas.xmlsoap .org/soap/encoding/"
xmlns:tns="http ://www.ris.fer.hr/OpenCollectives/CoopetitionServ ices/MailBox"
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
xmlns:mime="htt p://schemas.xmlsoap .org/wsdl/mime/"
targetNamespace ="http://www.ris.fer.hr/OpenCollectives/CoopetitionServ ices/MailBox"
xmlns:wsdl="htt p://schemas.xmlsoap .org/wsdl/">
<wsdl:types>
<s:schema elementFormDefa ult="qualified"
targetNamespace ="http://www.ris.fer.hr/OpenCollectives/CoopetitionServ ices/MailBox">
<s:import namespace="http ://www.ris.fer.hr/overlay/addressing" />
<s:import
namespace="http ://www.ris.fer.hr/OpenCollectives/CoopetitionServ ices/XmlDoc"
/>
<s:element name="Create">
<s:complexTyp e>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="mbID"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1"
ref="s1:Endpoin tReference" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="CreateRes ponse">
<s:complexTyp e>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="CreateRes ult"
type="s:boolean " />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="ResourceI D" type="tns:Resou rceID" />
<s:complexTyp e name="ResourceI D" mixed="true">
<s:annotation >
<s:appinfo>
<keepNamespaceD eclarations>xml ns</keepNamespaceDe clarations>
</s:appinfo>
</s:annotation>
</s:complexType>
<s:element name="Destroy">
<s:complexTyp e>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
ref="s1:Endpoin tReference" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="DestroyRe sponse">
<s:complexTyp e>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="DestroyRe sult"
type="s:boolean " />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="PutMessag e">
<s:complexTyp e>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" ref="s2:xmlDoc" />
<s:element minOccurs="0" maxOccurs="1"
ref="s1:Endpoin tReference" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="PutMessag eResponse">
<s:complexTyp e>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1"
name="PutMessag eResult" type="s:boolean " />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetMessag e">
<s:complexTyp e>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="timeParam "
type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="cb"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1"
ref="s1:Endpoin tReference" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetMessag eResponse">
<s:complexTyp e>
<s:sequence>
<s:any minOccurs="0" maxOccurs="1" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="FlushPerf ormanceLog">
<s:complexTyp e />
</s:element>
<s:element name="FlushPerf ormanceLogRespo nse">
<s:complexTyp e />
</s:element>
<s:element name="GetPerfor manceLog">
<s:complexTyp e />
</s:element>
<s:element name="GetPerfor manceLogRespons e">
<s:complexTyp e>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="GetPerfor manceLogResult" >
<s:complexTyp e mixed="true">
<s:sequence>
<s:any />
</s:sequence>
</s:complexType>
</s:element>
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
<s:schema elementFormDefa ult="qualified"
targetNamespace ="http://www.ris.fer.hr/overlay/addressing">
<s:element name="EndpointR eference"
type="s1:Endpoi ntReferenceType " />
<s:complexTyp e name="EndpointR eferenceType">
<s:annotation >
<s:appinfo>
<keepNamespaceD eclarations>xml ns</keepNamespaceDe clarations>
</s:appinfo>
</s:annotation>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Address"
type="s1:Attrib utedURI" />
<s:element minOccurs="0" maxOccurs="1" name="RemotingA ddress"
type="s1:Attrib utedURI" />
<s:element minOccurs="0" maxOccurs="1"
name="Reference Properties" type="s1:Refere ncePropertiesTy pe" />
<s:element minOccurs="0" maxOccurs="1" name="PortType"
type="s1:Attrib utedQName" />
<s:element minOccurs="0" maxOccurs="1" name="ServiceNa me"
type="s1:Servic eNameType" />
<s:element minOccurs="0" maxOccurs="1" name="To"
type="s1:Attrib utedURI" />
<s:element minOccurs="0" maxOccurs="1" name="From"
type="s1:Endpoi ntReferenceType " />
</s:sequence>
</s:complexType>
<s:complexTyp e name="Attribute dURI">
<s:simpleConten t>
<s:extension base="s:anyURI" />
</s:simpleContent >
</s:complexType>
<s:complexTyp e name="Reference PropertiesType" >
<s:annotation >
<s:appinfo>
<keepNamespaceD eclarations>xml ns</keepNamespaceDe clarations>
</s:appinfo>
</s:annotation>
<s:sequence>
<s:any minOccurs="0" maxOccurs="unbo unded" />
</s:sequence>
</s:complexType>
<s:complexTyp e name="Attribute dQName">
<s:simpleConten t>
<s:extension base="s:QName" />
</s:simpleContent >
</s:complexType>
<s:complexTyp e name="ServiceNa meType">
<s:simpleConten t>
<s:extension base="s:QName">
<s:attribute name="PortName" type="s:NCName" />
</s:extension>
</s:simpleContent >
</s:complexType>
<s:element name="FacilityI D" type="s1:Facili tyID" />
<s:complexTyp e name="FacilityI D" mixed="true">
<s:annotation >
<s:appinfo>
<keepNamespaceD eclarations>xml ns</keepNamespaceDe clarations>
</s:appinfo>
</s:annotation>
</s:complexType>
<s:element name="To" type="s1:ToAttr ibutedURI" />
<s:complexTyp e name="ToAttribu tedURI" mixed="true">
<s:anyAttribu te />
</s:complexType>
</s:schema>
<s:schema elementFormDefa ult="qualified"
targetNamespace ="http://www.ris.fer.hr/OpenCollectives/CoopetitionServ ices/XmlDoc">
<s:element name="xmlDoc" nillable="true" type="s2:XmlDoc " />
<s:complexTyp e name="XmlDoc" mixed="true">
<s:sequence>
<s:any minOccurs="0" maxOccurs="unbo unded" />
</s:sequence>
<s:anyAttribu te />
</s:complexType>
</s:schema>
<s:schema elementFormDefa ult="qualified"
targetNamespace ="http://www.ris.fer.hr/OpenCollectives/CoopetitionServ ices/MailBox/MessageStatisti cs">
<s:element name="MessageSt atistics" type="s3:Messag eStatistics" />
<s:complexTyp e name="MessageSt atistics">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="messageWa iting"
type="s:double" />
</s:sequence>
</s:complexType>
</s:schema>
<s:schema elementFormDefa ult="qualified"
targetNamespace ="http://ris.zemris.fer. hr/remotingSchema" >
<s:element name="service" type="s4:Servic e" />
<s:complexTyp e name="Service">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="class"
type="s4:Classe s" />
</s:sequence>
<s:attribute name="name" type="s:string" />
<s:attribute name="location" type="s:string" />
</s:complexType>
<s:complexTyp e name="Classes">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbo unded" name="method"
type="s4:Method s" />
</s:sequence>
<s:attribute name="name" type="s:string" />
<s:attribute name="namespace " type="s:string" />
</s:complexType>
<s:complexTyp e name="Methods">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbo unded" name="param"
type="s4:Params " />
</s:sequence>
<s:attribute name="name" type="s:string" />
<s:attribute name="returnTyp e" type="s:string" />
</s:complexType>
<s:complexTyp e name="Params">
<s:attribute name="name" type="s:string" />
<s:attribute name="type" type="s:string" />
</s:complexType>
</s:schema>
</wsdl:types>
<wsdl:message name="CreateSoa pIn">
<wsdl:part name="parameter s" element="tns:Cr eate" />
</wsdl:message>
<wsdl:message name="CreateSoa pOut">
<wsdl:part name="parameter s" element="tns:Cr eateResponse" />
</wsdl:message>
<wsdl:message name="CreateFac ilityID">
<wsdl:part name="FacilityI D" element="s1:Fac ilityID" />
</wsdl:message>
<wsdl:message name="CreateRes ourceID">
<wsdl:part name="ResourceI D" element="tns:Re sourceID" />
</wsdl:message>
<wsdl:message name="CreateTo" >
<wsdl:part name="To" element="s1:To" />
</wsdl:message>
<wsdl:message name="DestroySo apIn">
<wsdl:part name="parameter s" element="tns:De stroy" />
</wsdl:message>
<wsdl:message name="DestroySo apOut">
<wsdl:part name="parameter s" element="tns:De stroyResponse" />
</wsdl:message>
<wsdl:message name="DestroyFa cilityID">
<wsdl:part name="FacilityI D" element="s1:Fac ilityID" />
</wsdl:message>
<wsdl:message name="DestroyRe sourceID">
<wsdl:part name="ResourceI D" element="tns:Re sourceID" />
</wsdl:message>
<wsdl:message name="DestroyTo ">
<wsdl:part name="To" element="s1:To" />
</wsdl:message>
<wsdl:message name="PutMessag eSoapIn">
<wsdl:part name="parameter s" element="tns:Pu tMessage" />
</wsdl:message>
<wsdl:message name="PutMessag eSoapOut">
<wsdl:part name="parameter s" element="tns:Pu tMessageRespons e" />
</wsdl:message>
<wsdl:message name="PutMessag eFacilityID">
<wsdl:part name="FacilityI D" element="s1:Fac ilityID" />
</wsdl:message>
<wsdl:message name="PutMessag eResourceID">
<wsdl:part name="ResourceI D" element="tns:Re sourceID" />
</wsdl:message>
<wsdl:message name="PutMessag eTo">
<wsdl:part name="To" element="s1:To" />
</wsdl:message>
<wsdl:message name="GetMessag eSoapIn">
<wsdl:part name="parameter s" element="tns:Ge tMessage" />
</wsdl:message>
<wsdl:message name="GetMessag eSoapOut">
<wsdl:part name="parameter s" element="tns:Ge tMessageRespons e" />
</wsdl:message>
<wsdl:message name="GetMessag eFacilityID">
<wsdl:part name="FacilityI D" element="s1:Fac ilityID" />
</wsdl:message>
<wsdl:message name="GetMessag eResourceID">
<wsdl:part name="ResourceI D" element="tns:Re sourceID" />
</wsdl:message>
<wsdl:message name="GetMessag eTo">
<wsdl:part name="To" element="s1:To" />
</wsdl:message>
<wsdl:message name="GetMessag eMessageStatist ics">
<wsdl:part name="MessageSt atistics" element="s3:Mes sageStatistics" />
</wsdl:message>
<wsdl:message name="FlushPerf ormanceLogSoapI n">
<wsdl:part name="parameter s" element="tns:Fl ushPerformanceL og" />
</wsdl:message>
<wsdl:message name="FlushPerf ormanceLogSoapO ut">
<wsdl:part name="parameter s"
element="tns:Fl ushPerformanceL ogResponse" />
</wsdl:message>
<wsdl:message name="GetPerfor manceLogSoapIn" >
<wsdl:part name="parameter s" element="tns:Ge tPerformanceLog " />
</wsdl:message>
<wsdl:message name="GetPerfor manceLogSoapOut ">
<wsdl:part name="parameter s" element="tns:Ge tPerformanceLog Response" />
</wsdl:message>
<wsdl:message name="GetPerfor manceLogservice ">
<wsdl:part name="service" element="s4:ser vice" />
</wsdl:message>
<wsdl:portTyp e name="MailBoxSo ap">
<wsdl:operati on name="Create">
<wsdl:input message="tns:Cr eateSoapIn" />
<wsdl:output message="tns:Cr eateSoapOut" />
</wsdl:operation>
<wsdl:operati on name="Destroy">
<wsdl:input message="tns:De stroySoapIn" />
<wsdl:output message="tns:De stroySoapOut" />
</wsdl:operation>
<wsdl:operati on name="PutMessag e">
<wsdl:input message="tns:Pu tMessageSoapIn" />
<wsdl:output message="tns:Pu tMessageSoapOut " />
</wsdl:operation>
<wsdl:operati on name="GetMessag e">
<wsdl:input message="tns:Ge tMessageSoapIn" />
<wsdl:output message="tns:Ge tMessageSoapOut " />
</wsdl:operation>
<wsdl:operati on name="FlushPerf ormanceLog">
<wsdl:input message="tns:Fl ushPerformanceL ogSoapIn" />
<wsdl:output message="tns:Fl ushPerformanceL ogSoapOut" />
</wsdl:operation>
<wsdl:operati on name="GetPerfor manceLog">
<wsdl:input message="tns:Ge tPerformanceLog SoapIn" />
<wsdl:output message="tns:Ge tPerformanceLog SoapOut" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="MailBoxSo ap" type="tns:MailB oxSoap">
<soap:binding transport="http ://schemas.xmlsoap .org/soap/http"
style="document " />
<wsdl:operati on name="Create">
<soap:operati on
soapAction="htt p://www.ris.fer.hr/OpenCollectives/CoopetitionServ ices/MailBox/Create"
style="document " />
<wsdl:input>
<soap:body use="literal" />
<soap:header message="tns:Cr eateFacilityID" part="FacilityI D"
use="literal" />
<soap:header message="tns:Cr eateTo" part="To" use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
<soap:header message="tns:Cr eateResourceID" part="ResourceI D"
use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="Destroy">
<soap:operati on
soapAction="htt p://www.ris.fer.hr/OpenCollectives/CoopetitionServ ices/MailBox/Destroy"
style="document " />
<wsdl:input>
<soap:body use="literal" />
<soap:header message="tns:De stroyFacilityID " part="FacilityI D"
use="literal" />
<soap:header message="tns:De stroyResourceID " part="ResourceI D"
use="literal" />
<soap:header message="tns:De stroyTo" part="To" use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="PutMessag e">
<soap:operati on
soapAction="htt p://www.ris.fer.hr/OpenCollectives/CoopetitionServ ices/MailBox/PutMessage"
style="document " />
<wsdl:input>
<soap:body use="literal" />
<soap:header message="tns:Pu tMessageFacilit yID"
part="FacilityI D" use="literal" />
<soap:header message="tns:Pu tMessageResourc eID"
part="ResourceI D" use="literal" />
<soap:header message="tns:Pu tMessageTo" part="To" use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="GetMessag e">
<soap:operati on
soapAction="htt p://www.ris.fer.hr/OpenCollectives/CoopetitionServ ices/MailBox/GetMessage"
style="document " />
<wsdl:input>
<soap:body use="literal" />
<soap:header message="tns:Ge tMessageFacilit yID"
part="FacilityI D" use="literal" />
<soap:header message="tns:Ge tMessageResourc eID"
part="ResourceI D" use="literal" />
<soap:header message="tns:Ge tMessageTo" part="To" use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
<soap:header message="tns:Ge tMessageMessage Statistics"
part="MessageSt atistics" use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="FlushPerf ormanceLog">
<soap:operati on
soapAction="htt p://www.ris.fer.hr/OpenCollectives/CoopetitionServ ices/MailBox/FlushPerformanc eLog"
style="document " />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operati on name="GetPerfor manceLog">
<soap:operati on
soapAction="htt p://www.ris.fer.hr/OpenCollectives/CoopetitionServ ices/MailBox/GetPerformanceL og"
style="document " />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
<soap:header message="tns:Ge tPerformanceLog service"
part="service" use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="MailBox">
<documentatio n xmlns="http://schemas.xmlsoap .org/wsdl/" />
<wsdl:port name="MailBoxSo ap" binding="tns:Ma ilBoxSoap">
<soap:address
location="http://localhost/coopetitionserv ices/mailbox/MailBox.asmx" />
</wsdl:port>
</wsdl:service>
</wsdl:definition s>
//////////////////////////// WSDL END /////////////////////////////