Hi Matthew,
The operation StartApplicationSessionin in this wsdl will be mapped to
wrapper style and
the output will be mapped to holder class(see jaxws spec section 2.3.1.2 for
details).
If you want to get an operation which just returns a single object , you can
modify this wsdl like this :
<portType name="ApplicationSessionServices">
<!--modfied the operation name -->
<operation name="StartApplicationSessionOperation">
<input message="tns:startApplicationSession" />
<output message="tns:startApplicationSessionPosResponse" />
<fault name="StartFault"
message="tns:startApplicationSessionNegResponse" />
</operation>
</portType>
<binding name="ApplicationSessionBinding"
type="tns:ApplicationSessionServices">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<!--modfied the operation name -->
<operation name="StartApplicationSessionOperation">
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
<fault name="StartFault">
<soap:fault name="StartFault" use="literal" />
</fault>
</operation>
</binding>
Regards
Jim
> -----Original Message-----
> From: Matthew Good [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, February 28, 2007 9:39 AM
> To: [email protected]
> Subject: Re: wsdl2java and holders
>
>
> Here's the wsdl. I ran "wsdl2java.bat -client server-appl.wsdl"
> on windows. Thanks!
>
> <?xml version="1.0" encoding="UTF-8"?>
> <definitions
> xmlns="http://schemas.xmlsoap.org/wsdl/"
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>
> xmlns:aps="http://www.ecma-international.org/standards/ecma-354/ap
pl_session"
> xmlns:tns="http://xml.me.com/ws/pr"
> targetNamespace="http://xml.me.com/ws/pr"
> >
> <types>
>
>
> http://www.ecma-international.org/standards/ecma-354/appl_session/
start-application-session.xsd"/>
> </xsd:schema>
> </types>
> <message name="startApplicationSession">
> <part name="body" element="aps:StartApplicationSession" />
> </message>
> <message name="startApplicationSessionPosResponse">
> <part name="outbody"
> element="aps:StartApplicationSessionPosResponse" />
> </message>
> <message name="startApplicationSessionNegResponse">
> <part name="faultbody"
> element="aps:StartApplicationSessionNegResponse" />
> </message>
> <portType name="ApplicationSessionServices">
> <operation name="StartApplicationSession">
> <input message="tns:startApplicationSession" />
> <output message="tns:startApplicationSessionPosResponse" />
> <fault name="StartFault"
> message="tns:startApplicationSessionNegResponse" />
> </operation>
> </portType>
> <binding name="ApplicationSessionBinding"
> type="tns:ApplicationSessionServices">
>
> <operation name="StartApplicationSession">
>
> <input>
> <soap:body use="literal" />
> </input>
> <output>
> <soap:body use="literal" />
> </output>
> <fault name="StartFault">
> <soap:fault name="StartFault" use="literal" />
> </fault>
> </operation>
> </binding>
> <service name="MyWebService">
> <port name="ApplicationSessionServicesSoapHttpPort"
> binding="tns:ApplicationSessionBinding">
>
> </port>
> </service>
> </definitions>
>
>
>
>
> ----- Original Message ----
> From: Dan Diephouse <[EMAIL PROTECTED]>
> To: [email protected]
> Sent: Friday, February 23, 2007 2:41:43 PM
> Subject: Re: wsdl2java and holders
>
> Hi Matthew,
>
> CXF should only generate Holders if you have multiple outputs or the
> input/output message contain the same message part. An example
> of the later
> would be something like this:
>
> <message name="echoRequest">
> <part name="text" type="xsd:string"/>
> </message>
>
> <message name="echoResponse">
> <part name="text" type="xsd:string"/>
> </message>
>
> I believe if you change the part names it won't treat it as an "IN/OUT"
> parameters.
>
> If you provide a WSDL sample I can probably help more. Cheers,
>
> - Dan
>
> On 2/23/07, Matthew Good <[EMAIL PROTECTED]> wrote:
> >
> > When I use wsdl2java to generate client source, I get all these
> holders in
> > the operation calls. These are for return values. This is
> really a pain to
> > create these. How can I get it to generate code that just
> returns a single
> > object?
> >
> >
> >
> >
> >
> >
>
>
> --
> Dan Diephouse
> Envoi Solutions
> http://envoisolutions.com | http://netzooid.com/blog
>
>
>