Re: Friendly API for calling a RESTful webservice
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]
Friendly API for calling a RESTful webservice
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]
Re: Friendly API for calling a RESTful webservice
Not sure what you are looking for exactly but have you tried www.restlet.org. Also, I am implementing RESTful WS for a major project but its all hand written Servlet based code. On Tue, Aug 26, 2008 at 8:26 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] -- warm regards, Rahul Devgan Cell: +61-412163412 --- there is no pleasure in life like music ---
Re: Friendly API for calling a RESTful webservice
Hi, 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(); Thanks, Keith. 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]