Hi,
thanks for all the help.
I finally managed to find the problem and (slightly) modified the WSDL
file.
I now have this binding:
<wsdl:binding name="intfwsLBClientEndpoint0Binding" type=
"tns:portType">
<soap:binding style="document" transport="
http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="LBClientOp">
<soap:operation soapAction="/Processes/LBClientOp"/>
<wsdl:input>
<soap:body use="encoded" encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/" namespace="
http://Input.LBGetMntcHistory.remarketing.x.com" parts="parameters"/>
</wsdl:input>
<wsdl:output>
<soap:body use="encoded" encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/" namespace="
http://Output.LBGetMntcHistory.remarketing.x.com" parts="parameters"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
Previously, the soap:operation element also had an attribute style="rpc",
which I started to find strange since soap:binding specifies "document".
After removing that, I get the datamodel I expected to see, and the WS is
functioning properly.
Thanks,
Steven
From:
Leif Rilbe <[email protected]>
To:
[email protected]
Date:
27/05/2010 12:29
Subject:
Re: Cannot see logic in WSDL2Java generated with ADB
Hi Steven,
Are you sure that RPC/literal binding is correct for your service?
I think the document/literal wrapped binding is the most WS-I compliant
variant. Seems you received the wsdl from someone else? Maybe ask if the
specified binding is correct? For a document style binding you can keep
the element attribute in the message part.
To summarize: maybe change the binding instead of the message part spec?
Kind regards,
/Leif
Steven De Groote wrote:
> Hi,
>
> interesting that you mention this.
> In fact the original WSDL provided to me had this:
> <wsdl:message name="MntcHistory">
> <wsdl:part name="parameters" element="ns0:MntcHistory"/>
> </wsdl:message>
> <wsdl:message name="MaintenanceHistory">
> <wsdl:part name="parameters" element="ns1:MaintenanceHistory"/>
> </wsdl:message>
>
> However this resulted in the following error:
> org.apache.axis2.AxisFault: The binding operation LeaseBaseClientOp is
> RPC/literal. The message parts for this operation must use the type
> attribute as specificed by WS-I Basic Profile specification (4.4.1).
> Message part, parameters, violatesthis rule. Please remove the
> element attribute and use the type attribute.
>
> Hence I changed it to what is below, giving me a valid WSDL, but with
> the aforementioned strange object model.
>
> Is there another way to adapt the WSDL to make it valid?
> Any ideas?
>
>
> Thanks,
> Steven
>
>
>
>
> From: Andreas Veithen <[email protected]>
> To: [email protected]
> Date: 26/05/2010 17:42
> Subject: Re: Cannot see logic in WSDL2Java generated with
ADB
>
>
> ------------------------------------------------------------------------
>
>
>
> Could be because the WSDL defines the message as follows:
>
> <wsdl:part name="parameters" type="ns1:MaintenanceHistory"/>
>
> But MaintenanceHistory is not a type; it's an element.
>
> Andreas
>
> On Wed, May 26, 2010 at 17:07, Steven De Groote
> <[email protected]> wrote:
> > Hi all,
> >
> > I'm struggling to find out how to use the generated code by axis2.
> > I have a wsdl file (see below) from where I generated the server code.
> >
> > Everything fine so far, but I am struggling a bit with a particular
> part.
> > Basically, this WS should return one item of MaintenanceHistory.
> >
> > LBClientOpResponse response = new LBClientOpResponse();
> > MaintenanceHistory mh = new MaintenanceHistory();
> >
> > So I thought: response.setMaintenanceHistory(mh), but it appears that
> > response only has setParameters(OMElement).
> > I'm wondering why that is, and what I need to do to get my
> > MaintenanceHistory into the response.
> >
> > I hope it's clear enough to help me out.
> > It would be greatly appreciated!
> >
> > Thanks,
> > Steven
> >
> >
> >
> >
> > The wsdl looks like this:
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <wsdl:definitions
> > xmlns:tns="http://Master.LBGetMntcHistory.Remarketing.x.com
> <http://master.lbgetmntchistory.remarketing.x.com/>"
> > xmlns:ns0="http://Input.LBGetMntcHistory.remarketing.x.com
> <http://input.lbgetmntchistory.remarketing.x.com/>"
> > xmlns:ns1="http://Output.LBGetMntcHistory.remarketing.x.com
> <http://output.lbgetmntchistory.remarketing.x.com/>"
> > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" name="LBMntcHistory"
> > targetNamespace="http://Master.LBGetMntcHistory.Remarketing.x.com
> <http://master.lbgetmntchistory.remarketing.x.com/>">
> > <wsdl:types>
> > <xsd:schema xmlns =
> > "http://Input.LBGetMntcHistory.remarketing.x.com
> <http://input.lbgetmntchistory.remarketing.x.com/>"
> > targetNamespace =
> > "http://Input.LBGetMntcHistory.remarketing.x.com
> <http://input.lbgetmntchistory.remarketing.x.com/>"
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> > elementFormDefault="unqualified"
> > attributeFormDefault="unqualified">
> > <xsd:element name="FleetID" type="xsd:string"/>
> > <xsd:element name="CountryID" type="xsd:string"/>
> > <xsd:element name="RegID" type="xsd:string"/>
> > <xsd:element name="CompanyID" type="xsd:string"/>
> > <xsd:element name="ChassisID" type="xsd:string"/>
> > <xsd:element name="FleetDetails">
> > <xsd:complexType>
> > <xsd:sequence>
> > <xsd:element ref="FleetID"/>
> > <xsd:element ref="CountryID"/>
> > <xsd:element ref="RegID"
> > minOccurs="0"/>
> > <xsd:element ref="CompanyID"
> > minOccurs="0"/>
> > <xsd:element ref="ChassisID"/>
> > </xsd:sequence>
> > </xsd:complexType>
> > </xsd:element>
> > <xsd:element name="MntcHistory">
> > <xsd:complexType>
> > <xsd:sequence>
> > <xsd:element
> ref="FleetDetails"/>
> > </xsd:sequence>
> > </xsd:complexType>
> > </xsd:element>
> > </xsd:schema>
> > <xsd:schema xmlns =
> > "http://Output.LBGetMntcHistory.remarketing.x.com
> <http://output.lbgetmntchistory.remarketing.x.com/>"
> > targetNamespace =
> > "http://Output.LBGetMntcHistory.remarketing.x.com
> <http://output.lbgetmntchistory.remarketing.x.com/>"
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> > elementFormDefault="qualified"
> > attributeFormDefault="unqualified">
> > <xsd:element name="Date" type="xsd:string"/>
> > <xsd:element name="Mileage" type="xsd:string"/>
> > <xsd:element name="StatusCD" type="xsd:string"/>
> > <xsd:element name="Operation" type="xsd:string"/>
> > <xsd:element name="Details">
> > <xsd:complexType>
> > <xsd:sequence>
> > <xsd:element ref="Detail"
> > maxOccurs="unbounded"/>
> > </xsd:sequence>
> > </xsd:complexType>
> > </xsd:element>
> > <xsd:element name="FleetID" type="xsd:string"/>
> > <xsd:element name="RegID" type="xsd:string"/>
> > <xsd:element name="MaintenanceHistory">
> > <xsd:complexType>
> > <xsd:sequence>
> > <xsd:element ref="FleetID"/>
> > <xsd:element ref="RegID"/>
> > <xsd:element
> ref="LstUpdateDate"/>
> > <xsd:element
> ref="MntcWorkHistory"/>
> > </xsd:sequence>
> > </xsd:complexType>
> > </xsd:element>
> > <xsd:element name="LstUpdateDate" type="xsd:string"/>
> > <xsd:element name="MntcWorkHistory">
> > <xsd:complexType>
> > <xsd:sequence>
> > <xsd:element ref="MntcWork"
> > maxOccurs="unbounded"/>
> > </xsd:sequence>
> > </xsd:complexType>
> > </xsd:element>
> > <xsd:element name="MntcWork">
> > <xsd:complexType>
> > <xsd:sequence>
> > <xsd:element ref="Date"/>
> > <xsd:element ref="Mileage"/>
> > <xsd:element ref="StatusCD"/>
> > <xsd:element ref="LineItems"/>
> > </xsd:sequence>
> > </xsd:complexType>
> > </xsd:element>
> > <xsd:element name="LineItems">
> > <xsd:complexType>
> > <xsd:sequence>
> > <xsd:element ref="LineItem"
> > maxOccurs="unbounded"/>
> > </xsd:sequence>
> > </xsd:complexType>
> > </xsd:element>
> > <xsd:element name="LineItem">
> > <xsd:complexType>
> > <xsd:sequence>
> > <xsd:element ref="Operation"/>
> > <xsd:element ref="Details"/>
> > </xsd:sequence>
> > </xsd:complexType>
> > </xsd:element>
> > <xsd:element name="Detail" type="xsd:string"/>
> > </xsd:schema>
> > </wsdl:types>
> >
> > <wsdl:message name="MntcHistory">
> > <wsdl:part name="parameters" type="ns0:MntcHistory"/>
> > </wsdl:message>
> > <wsdl:message name="MaintenanceHistory">
> > <wsdl:part name="parameters" type="ns1:MaintenanceHistory"/>
> > </wsdl:message>
> > <wsdl:portType name="portType">
> > <wsdl:operation name="LBClientOp">
> > <wsdl:input message="tns:MntcHistory"/>
> > <wsdl:output message="tns:MaintenanceHistory"/>
> > </wsdl:operation>
> > </wsdl:portType>
> > <wsdl:binding name="intfwsLBClientEndpoint0Binding"
> type="tns:portType">
> > <soap:binding style="document"
> > transport="http://schemas.xmlsoap.org/soap/http"/>
> > <wsdl:operation name="LBClientOp">
> > <soap:operation style="rpc"
> soapAction="/Processes/LBClientOp"/>
> > <wsdl:input>
> > <soap:body use="encoded"
> > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> > namespace="http://Input.LBGetMntcHistory.remarketing.x.com
> <http://input.lbgetmntchistory.remarketing.x.com/>"/>
> > </wsdl:input>
> > <wsdl:output>
> > <soap:body use="encoded"
> > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> > namespace="http://Output.LBGetMntcHistory.remarketing.x.com
> <http://output.lbgetmntchistory.remarketing.x.com/>"/>
> > </wsdl:output>
> > </wsdl:operation>
> > </wsdl:binding>
> > <wsdl:service name="intfLBClient-service">
> > <wsdl:port name="intfwsLBClientEndpoint0"
> > binding="tns:intfwsLBClientEndpoint0Binding">
> > <soap:address
> > location="http://localhost:8080/Processes/intfwsLBClientEndpoint0"/>
> > </wsdl:port>
> > </wsdl:service>
> > </wsdl:definitions>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]