Thank you all for helping me, I googled up an article describing the main differences between RPC/encoded and Document/Literal and compared it to your answers and things are far more clear now to me.
Bram Op donderdag 5 januari 2006 16:15, schreef Anne Thomas Manes: > Here's your WSDL following the wrapped convention: > > <?xml version="1.0" encoding="UTF-8"?> > > <definitions name="ScreenkastMetaOptionQueryService" > targetNamespace=" > http://ws.test.com/screenkast/ScreenkastMetaOptionQuery" > xmlns="http://schemas.xmlsoap.org/wsdl/" > xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:tns=" > http://ws.test.com/screenkast/ScreenkastMetaOptionQuery" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:myxsd="http://ws.test.com/screenkast/xsd" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> > > <!-- TYPE DEFINITIONS --> > > <types> > <schema targetNamespace="http://ws.test.com/screenkast/xsd" > xmlns="http://www.w3.org/2001/XMLSchema" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > elementFormDefault="qualified"> > > <complexType name="PlatformSelectionType"> > <all> > <element name="id" type="xsd:int"/> > <element name="title" > type="xsd:string"/> > </all> > </complexType> > > <complexType name="PlatformArrayType"> > <sequence> > <element name="platform" > minOccurs="0" maxOccurs="unbounded" > > type="myxsd:PlatformSelectionType"/> > </sequence> > </complexType> > > <complexType name="OsSelectionType"> > <all> > <element name="id" type="xsd:int"/> > <element name="title" > type="xsd:string"/> > </all> > </complexType> > > <complexType name="OsArrayType"> > <sequence> > <element name="os" minOccurs="0" > maxOccurs="unbounded" > type="myxsd:OsSelectionType"/> > </sequence> > </complexType> > > <complexType name="OsVersionSelectionType"> > <all> > <element name="id" type="xsd:int"/> > <element name="title" > type="xsd:string"/> > </all> > </complexType> > > <complexType name="OsVersionArrayType"> > <sequence> > <element name="osVersion" > minOccurs="0" maxOccurs="unbounded" > > type="myxsd:OsVersionSelectionType"/> > </sequence> > </complexType> > > <element name="PlatformSelection" > type="myxsd:PlatformSelectionType"/> > <element name="PlatformArray" > type="myxsd:PlatformArrayType"/> > > <element name="OsSelection" > type="myxsd:OsSelectionType"/> > <element name="OsArray" type="myxsd:OsArrayType"/> > > <element name="OsVersionSelection" > type="myxsd:OsVersionSelectionType"/> > <element name="OsVersionArray" > type="myxsd:OsVersionArrayType"/> > > <element name="getAvailablePlatforms"> > <complexType> > <sequence/> > </complexType> > </element> > > <element name="getAvailablePlatformsReturn"> > <complexType> > <sequence> > <element ref="myxsd:PlatformArray"/> > </sequence> > </complexType> > </element> > > <element name="getAvailableOSs"> > <complexType> > <sequence> > <element ref="myxsd:PlatformSelection"/> > </sequence> > </complexType> > </element> > > <element name="getAvailableOSsReturn"> > <complexType> > <sequence> > <element ref="myxsd:OsArray"/> > </sequence> > </complexType> > </element> > > <element name="getAvailableOsVersions"> > <complexType> > <sequence> > <element ref="myxsd:PlatformSelection"/> > <element ref="myxsd:OsSelection"/> > </sequence> > </complexType> > </element> > > <element name="getAvailableOsVersionsReturn"> > <complexType> > <sequence> > <element ref="myxsd:OsVersionArray"/> > </sequence> > </complexType> > </element> > > </schema> > </types> > > <!-- MESSAGE DEFINITIONS --> > > <message name="getAvailablePlatformsRequest"> > <part name="parameters" element="myxsd:getAvailablePlatforms"/> > </message> > <message name="getAvailablePlatformsResponse"> > <part name="parameters" > element="myxsd:getAvailablePlatformsReturn"/> > </message> > > <message name="getAvailableOSsRequest"> > <part name="parameters" element="myxsd:getAvailableOSs"/> > </message> > <message name="getAvailableOSsResponse"> > <part name="parameters" > element="myxsd:getAvailableOSsReturn"/> > </message> > > <message name="getAvailableOsVersionsRequest"> > <part name="parameters" > element="myxsd:getAvailableOsVersions"/> > </message> > <message name="getAvailableOsVersionsResponse"> > <part name="parameters" > element="myxsd:getAvailableOsVersionsReturn"/> > </message> > > <!-- PORT DEFINITIONS --> > > <portType name="ScreenkastMetaOptionQueryPortType"> > <operation name="getAvailablePlatforms"> > <input message="tns:getAvailablePlatformsRequest"/> > <output > message="tns:getAvailablePlatformsResponse"/> </operation> > > <operation name="getAvailableOSs"> > <input message="tns:getAvailableOSsRequest"/> > <output message="tns:getAvailableOSsResponse"/> > </operation> > > <operation name="getAvailableOsVersions"> > <input message="tns:getAvailableOsVersionsRequest"/> > <output > message="tns:getAvailableOsVersionsResponse"/> > </operation> > </portType> > > <!-- BINDING DEFINITIONS --> > > <binding name="ScreenkastMetaOptionQueryBinding" > type="tns:ScreenkastMetaOptionQueryPortType"> > <soap:binding style="document" transport=" > http://schemas.xmlsoap.org/soap/http"/> > > <operation name="getAvailablePlatforms"> > <soap:operation style="document" > soapAction="getAvailablePlatforms"/> > <input> > <soap:body use="literal"/> > </input> > <output> > <soap:body use="literal"/> > </output> > </operation> > > <operation name="getAvailableOSs"> > <soap:operation style="document" > soapAction="getAvailableOSs"/> > <input> > <soap:body use="literal"/> > </input> > <output> > <soap:body use="literal"/> > </output> > </operation> > > <operation name="getAvailableOsVersions"> > <soap:operation style="document" > soapAction="getAvailableOsVersions"/> > <input> > <soap:body use="literal"/> > </input> > <output> > <soap:body use="literal"/> > </output> > </operation> > </binding> > > <!-- SERVICE DEFINITIONS --> > > <service name="ScreenkastMetaOptionQueryService"> > <documentation>ScreenKast web service</documentation> > <port name="ScreenkastMetaOptionQueryPort" > binding="tns:ScreenkastMetaOptionQueryBinding"> > <soap:address location=" > http://beligum.org/screenkast.wsdl"/> > </port> > </service> > > </definitions> > > On 1/5/06, Anne Thomas Manes <[EMAIL PROTECTED]> wrote: > > Doc/literal messages must reference 0 or 1 body parts, so > > getAvailablePlatforms is not ill-formed, but I recommend that you supply > > an input message anyway (define an empty element), because otherwise it's > > challenging to configure Axis. (You might consider adopting the wrapped > > convention, which will make configuration much easier all the way > > around.) > > > > You also must remove the namespace attributes from the <soap:body> > > definitions. (The namespace attribute must be used only with RPC style > > bindings). > > > > Anne > > > > On 1/5/06, Ted Jones <[EMAIL PROTECTED]> wrote: > > > This looks like a problem: > > > > > > The following operations were ill-formed or referenced ill-formed > > > schema constructs: > > > getAvailablePlatforms : Doc/Lit operation's soap:body referenced 0 > > > parts, must reference exactly 1 part > > > getAvailableOsVersions : Doc/Lit operation's soap:body referenced 2 > > > parts, must reference exactly 1 part > > > > > > What validator did you use? Did you validate against WSI? > > > > > > -----Original Message----- > > > From: Bram Biesbrouck [mailto: [EMAIL PROTECTED] > > > Sent: Thursday, January 05, 2006 8:12 AM > > > To: [email protected] > > > Subject: my wsdl flaw > > > > > > Hi everybody, > > > > > > Here I am again (it's driving me crazy, though). > > > After a lot of testing and validating, my wsdl file still doesn't get > > > parsed well by WSDL2java (NullPointerException). I tried two validators > > > and they both tell me everything is fine, so perhaps, I'm thinking the > > > flaw may be in WSDL2java (if that is even possible). > > > I'm hoping someone on this list has more knowledge on the topic than I > > > do, so if you do, please lend me a hand. > > > > > > Here's my WSDL file: > > > > > > <?xml version=" 1.0" encoding="UTF-8"?> > > > > > > <definitions name="ScreenkastMetaOptionQueryService" > > > > > > targetNamespace="http://ws.test.com/screenkast/ScreenkastMetaOptionQuer > > >y > > > > > > " > > > xmlns="http://schemas.xmlsoap.org/wsdl/" > > > xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/ > > > " xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" > > > > > > xmlns:tns=" http://ws.test.com/screenkast/ScreenkastMetaOptionQuery" > > > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > > > xmlns:myxsd=" http://ws.test.com/screenkast/xsd" > > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> > > > > > > <!-- TYPE DEFINITIONS --> > > > > > > <types> > > > <schema > > > targetNamespace="http://ws.test.com/screenkast/xsd" > > > xmlns=" http://www.w3.org/2001/XMLSchema" > > > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > > > elementFormDefault="qualified"> > > > > > > <complexType name="PlatformSelectionType"> > > > <all> > > > <element name="id" > > > type="xsd:int"/> > > > <element name="title" > > > type="xsd:string"/> > > > </all> > > > </complexType> > > > > > > <complexType name="PlatformArrayType"> > > > <sequence> > > > <element name="platform" > > > minOccurs="0" maxOccurs="unbounded" > > > type="myxsd:PlatformSelectionType"/> > > > </sequence> > > > </complexType> > > > > > > <complexType name="OsSelectionType"> > > > <all> > > > <element name="id" > > > type="xsd:int"/> > > > <element name="title" > > > type="xsd:string"/> > > > </all> > > > </complexType> > > > > > > <complexType name="OsArrayType"> > > > <sequence> > > > <element name="os" > > > minOccurs="0" maxOccurs="unbounded" > > > type="myxsd:OsSelectionType"/> > > > </sequence> > > > </complexType> > > > > > > <complexType name="OsVersionSelectionType"> > > > <all> > > > <element name="id" > > > type="xsd:int"/> > > > <element name="title" > > > type="xsd:string"/> > > > </all> > > > </complexType> > > > > > > <complexType name="OsVersionArrayType"> > > > <sequence> > > > <element name="osVersion" > > > minOccurs="0" maxOccurs="unbounded" > > > type="myxsd:OsVersionSelectionType"/> > > > </sequence> > > > </complexType> > > > > > > <element name="PlatformSelection" > > > type="myxsd:PlatformSelectionType"/> > > > <element name="PlatformArray" > > > type="myxsd:PlatformArrayType"/> > > > > > > <element name="OsSelection" > > > type="myxsd:OsSelectionType"/> > > > <element name="OsArray" > > > type="myxsd:OsArrayType"/> > > > > > > <element name="OsVersionSelection" > > > type="myxsd:OsVersionSelectionType"/> > > > <element name="OsVersionArray" > > > type="myxsd:OsVersionArrayType"/> > > > > > > </schema> > > > </types> > > > > > > <!-- MESSAGE DEFINITIONS --> > > > > > > <message name="getAvailablePlatformsRequest"/> > > > <message name="getAvailablePlatformsResponse"> > > > <part name="return" element="myxsd:PlatformArray"/> > > > </message> > > > > > > <message name="getAvailableOSsRequest"> > > > <part name="platform" > > > element="myxsd:PlatformSelection"/> > > > </message> > > > <message name="getAvailableOSsResponse"> > > > <part name="return" element="myxsd:OsArray"/> > > > </message> > > > > > > <message name="getAvailableOsVersionsRequest"> > > > <part name="platform" > > > element="myxsd:PlatformSelection"/> > > > <part name="os" element="myxsd:OsSelection"/> > > > </message> > > > <message name="getAvailableOsVersionsResponse"> > > > <part name="return" element="myxsd:OsVersionArray"/> > > > </message> > > > > > > <!-- PORT DEFINITIONS --> > > > > > > <portType name="ScreenkastMetaOptionQueryPortType"> > > > <operation name="getAvailablePlatforms"> > > > <input > > > message="tns:getAvailablePlatformsRequest"/> > > > <output > > > message="tns:getAvailablePlatformsResponse"/> > > > </operation> > > > > > > <operation name="getAvailableOSs"> > > > <input message="tns:getAvailableOSsRequest"/> > > > <output message="tns:getAvailableOSsResponse"/> > > > </operation> > > > > > > <operation name="getAvailableOsVersions"> > > > <input > > > message="tns:getAvailableOsVersionsRequest"/> > > > <output > > > message="tns:getAvailableOsVersionsResponse"/> > > > </operation> > > > </portType> > > > > > > <!-- BINDING DEFINITIONS --> > > > > > > <binding name="ScreenkastMetaOptionQueryBinding" > > > type="tns:ScreenkastMetaOptionQueryPortType"> > > > <soap:binding style="document" > > > transport="http://schemas.xmlsoap.org/soap/http"/<http://schemas.xmlsoa > > >p.org/soap/http%22/> > > > > > > > > > <operation name="getAvailablePlatforms"> > > > <soap:operation style="document" > > > soapAction="getAvailablePlatforms"/> > > > <input> > > > <soap:body use="literal" > > > namespace="http://ws.test.com/screenkast/ScreenkastMetaOptionQuery"/<ht > > >tp://ws.test.com/screenkast/ScreenkastMetaOptionQuery%22/> > > > > > > </input> > > > <output> > > > <soap:body use="literal" > > > namespace="http://ws.test.com/screenkast/ScreenkastMetaOptionQuery"/<ht > > >tp://ws.test.com/screenkast/ScreenkastMetaOptionQuery%22/> > > > > > > </output> > > > </operation> > > > > > > <operation name="getAvailableOSs"> > > > <soap:operation style="document" > > > soapAction="getAvailableOSs"/> > > > <input> > > > <soap:body use="literal" > > > namespace="http://ws.test.com/screenkast/ScreenkastMetaOptionQuery"/<ht > > >tp://ws.test.com/screenkast/ScreenkastMetaOptionQuery%22/> > > > > > > </input> > > > <output> > > > <soap:body use="literal" > > > namespace="http://ws.test.com/screenkast/ScreenkastMetaOptionQuery"/<ht > > >tp://ws.test.com/screenkast/ScreenkastMetaOptionQuery%22/> > > > > > > </output> > > > </operation> > > > > > > <operation name="getAvailableOsVersions"> > > > <soap:operation style="document" > > > soapAction="getAvailableOsVersions"/> > > > <input> > > > <soap:body use="literal" > > > namespace="http://ws.test.com/screenkast/ScreenkastMetaOptionQuery"/<ht > > >tp://ws.test.com/screenkast/ScreenkastMetaOptionQuery%22/> > > > > > > </input> > > > <output> > > > <soap:body use="literal" > > > namespace="http://ws.test.com/screenkast/ScreenkastMetaOptionQuery"/<ht > > >tp://ws.test.com/screenkast/ScreenkastMetaOptionQuery%22/> > > > > > > </output> > > > </operation> > > > </binding> > > > > > > <!-- SERVICE DEFINITIONS --> > > > > > > <service name="ScreenkastMetaOptionQueryService"> > > > <documentation>ScreenKast web service</documentation> > > > <port name="ScreenkastMetaOptionQueryPort" > > > binding="tns:ScreenkastMetaOptionQueryBinding"> > > > <soap:address > > > location=" > > > http://beligum.org/screenkast.wsdl"/<http://beligum.org/screenkast.wsdl > > >%22/> > > > > > > </port> > > > </service> > > > > > > </definitions>
