ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From George <george.n...@gmx.net>
Subject Re: REST webservice on BPEL with WSDL1.1 extensions
Date Wed, 13 Jul 2011 09:58:13 GMT
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

Besides you can find the complete BPEL and WSDL descriptions in [2] and [3] if this can help
you figuring something out.

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'?>

[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

View raw message