Hi Tammo, As you can see in [1] I have set the extension in the WSDL.
The response from the server is an application/xml which is the mime type I set in the WSDL [1]. Besides you can find the complete BPEL and WSDL descriptions in [2] and [3] if this can help you figuring something out. GET http://128.0.0.6/test/a.xml Status-Line: HTTP/1.1 200 OK Response Headers: Date: Wed, 13 Jul 2011 08:46:15 GMT Server: Apache/2.2.14 (Ubuntu) Last-Modified: Tue, 12 Jul 2011 17:58:15 GMT Accept-Ranges: bytes Content-Length: 179 Content-Type: application/xml Response Entity: <?xml version='1.0' encoding='UTF-8'?> <CUSTOMER><ID>18</ID><FIRSTNAME>Example</FIRSTNAME><LASTNAME>Hamburg</LASTNAME><STREET>Rheinstrasse 2</STREET><CITY>Worms</CITY></CUSTOMER> [1] RestAsWS.wsdl --> http://pastebin.com/8QdnUK7U [2] BPEL_rest.bpel --> http://pastebin.com/QL03MHz9 [3] BPEL_RestArtifacts.wsdl --> http://pastebin.com/HpArvmnG On 13/07/2011 10:54, Tammo van Lessen wrote: > Hi George, > > According to [1], all HTTP 1.1 servers MUST understand the absoluteURI > form (and it is the most generic version as well), so I don't think a > change on ODE is needed in this case, but rather on the HTTP server > side. However, feel free to file a JIRA for that. > > Regarding the NPE (which should not happen of course), I guess that the > request either did not contain a body, or the body/mime/etc. definitions > in the WSDL did not match. Did you enrich your WSDL with the extension > described at [2]? > > Thanks, > Tammo > > [1] http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1.2 > [2] http://ode.apache.org/wsdl-11-extensions-for-rest.html > > On 13.07.2011 10:00, George wrote: >> Hi again, >> >> I think I've found what the matter could be, and it is the remote server. It >> seems (after checking with telnet on the server) that remote webserver does >> not accept calls with request line in the form: >> >> GET http://server/resources HTTP/1.1 >> Host: server >> >> In stead it has to be the "more standard" way: >> GET /resources HTTP/1.1 >> Host: server >> >> Is is possible to change that for future releases of ODE? >> >> Besides that, I have comeout with another problem. Now I have set the >> service to point to localhost (http://localhost:8080/test/{customerId}.xml. >> This xml file returns the same as the other webservice, so the BPEL process >> should be working. On the contrary I get the following exception: >> >> 19:41:01,941 ERROR [ExternalService] [Service: >> {http://ode/bpel/test/blog}BlogService, Port: BlogPort, Operation: doGET] >> Exception occured while processing the HTTP response of a two-way request. >> mexId= hqejbhcnphr6fh5xg8uj0b >> java.lang.NullPointerException >> at >> org.apache.ode.axis2.httpbinding.HttpMethodConverter.createPartElement(HttpMethodConverter.java:390) >> at >> org.apache.ode.axis2.httpbinding.HttpMethodConverter.parseHttpResponse(HttpMethodConverter.java:510) >> at >> org.apache.ode.axis2.httpbinding.HttpExternalService$TwoWayCallable._2xx_success(HttpExternalService.java:362) >> at >> org.apache.ode.axis2.httpbinding.HttpExternalService$TwoWayCallable.access$100(HttpExternalService.java:298) >> at >> org.apache.ode.axis2.httpbinding.HttpExternalService$TwoWayCallable$1.call(HttpExternalService.java:310) >> at >> org.apache.ode.axis2.httpbinding.HttpExternalService$TwoWayCallable$1.call(HttpExternalService.java:306) >> at >> org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:284) >> at >> org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:239) >> at >> org.apache.ode.axis2.httpbinding.HttpExternalService$TwoWayCallable.processResponse(HttpExternalService.java:306) >> at >> org.apache.ode.axis2.httpbinding.HttpExternalService$OneWayCallable.call(HttpExternalService.java:258) >> at >> org.apache.ode.axis2.httpbinding.HttpExternalService$OneWayCallable.call(HttpExternalService.java:227) >> at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) >> at java.util.concurrent.FutureTask.run(Unknown Source) >> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown >> Source) >> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) >> at java.lang.Thread.run(Unknown Source) >> 19:41:01,974 ERROR [INVOKE] Failure during invoke: Exception occured while >> processing the HTTP response of a two-way request. mexId= >> hqejbhcnphr6fh5xg8uj0b >> 19:41:01,978 INFO [BpelRuntimeContextImpl] ActivityRecovery: Registering >> activity 11, failure reason: Exception occured while processing the HTTP >> response of a two-way request. mexId= hqejbhcnphr6fh5xg8uj0b on channel 21 >> >> >> Any idea this time? What is this stuff of a two-way request? >> >> TA. >> >> On 13/07/2011 9:58, George wrote: >>> Hi all, >>> >>> This is the first sequence of a couple of mails describing my problems. >>> The next one will be a reply to this. Please do not consider it as spam ;) >>> >>> I'm trying to access a REST webservice within a BPEL process. I'm >>> using the HTTP bindings and I'm following the examples in apache-ode- >>> sources-1.3.5\axis2-war\src\test\resources\TestHttpBindingExt_GET. >>> >>> I have change the example somehow to fit the webservice I want to >>> access. Actually as it is a newbie program I'm accessing a REST >>> webservice available on the freely avalilabe on the web (http:// >>> www.thomas-bayer.com/sqlrest/CUSTOMER/20/). >>> >>> I'm using Eclipse BPEL Designer and it seems that there is no error >>> reported from it. The issue is that I'm getting the following error >>> each time I try to call the BPEL process. >>> >>> Exception reported ---> http://pastebin.com/JeWPsszx >>> >>> Any idea? The remote server is online and responding, but I don't know >>> why the iternal of ODE claims there is a connection error. >>> >>> I also attach the different files: >>> BPEL_rest.bpel --> http://pastebin.com/QL03MHz9 >>> BPEL_RestArtifacts.wsdl --> http://pastebin.com/HpArvmnG >>> RestAsWS.wsdl --> http://pastebin.com/8QdnUK7U >>> >>> Any help will be more than appreciated. >>> >>> TA >>> jlanza >>> >>> >> >
