On Tue, Aug 26, 2008 at 07:55:56PM +0530, keith chapman wrote:
> If you use the -uw options when generating the stub it becomes more
> user friendly. -uw instructs the code generator to unwrap the
> parameters. hence you will be able to call the stub as,
> 
> GeoStub stub = new GeoStub();
> LfmType response = stub.getEvents(apiKey, location).getLfm();

Many thanks, that was exactly what I was hoping for.


Arnout

> On Tue, Aug 26, 2008 at 3:56 PM, Arnout Engelen <[EMAIL PROTECTED]> wrote:
> > Hi,
> >
> > I'm trying to generate some friendly client code for accessing a
> > REST-ish webservice.
> >
> > To that end, I wrote a WSDL2.0 description of the webservice, containing
> > the following operation:
> >
> >    <wsdl:operation name="getEvents"
> >       pattern="http://www.w3.org/ns/wsdl/in-out";
> >       style="http://www.w3.org/ns/wsdl/style/iri";
> >       wsdlx:safe="true">
> >      <wsdl:input element="lastfmgeo:getEventsRequest"/>
> >      <wsdl:output element="lastfmgeo:lfm"/>
> >    </wsdl:operation>
> >
> > The request type is defined as follows:
> >
> >  <xs:element name="getEventsRequest" type="tns:getEventsRequestType">
> >        <xs:annotation>
> >          <xs:documentation>
> >         The request element for the getEvents service.
> >          </xs:documentation>
> >    </xs:annotation>
> >  </xs:element>
> >
> >  <complexType name="getEventsRequestType">
> >    <sequence>
> >      <element name="api_key" type="string" minOccurs="1" maxOccurs="1"/>
> >      <element name="location" type="string" minOccurs="0" maxOccurs="1"/>
> >    </sequence>
> >  </complexType>
> >
> > I called wsdl2code on this (adb bindings), which generated a GeoStub. This
> > already works, like this:
> >
> >                        GeoStub stub = new 
> > GeoStub("http://ws.audioscrobbler.com/2.0/?method=geo.getevents";);
> >
> >                        GetEventsRequestType request = new 
> > GetEventsRequestType();
> >                        request.setApi_key(apiKey);
> >                        request.setLocation(location);
> >
> >                        GetEventsRequest requestDoc = new GetEventsRequest();
> >                        requestDoc.setGetEventsRequest(request);
> >                        LfmType response = 
> > stub.getEvents(requestDoc).getLfm();
> >
> > However, it would of course be much nicer if it could look something like 
> > this:
> >
> >                        GeoStub stub = new 
> > GeoStub("http://ws.audioscrobbler.com/2.0/?method=geo.getevents";);
> >                        LfmType response = stub.getEvents(apiKey, location);
> >
> > Would it be possible to generate a friendly interface like this?
> >
> >
> > Kind regards,
> >
> > Arnout
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> 
> 
> 
> -- 
> Keith Chapman
> Senior Software Engineer
> WSO2 Inc.
> Oxygenating the Web Service Platform.
> http://wso2.org/
> 
> blog: http://www.keith-chapman.org
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to