BPEL process with invoke? [message #874467] |
Mon, 21 May 2012 00:49 |
Alex G Messages: 3 Registered: May 2012 |
Junior Member |
|
|
Hello, I tried to make a BPEL process with a simple invoke of an external web service, which asks for the bank number and returns the name of the bank.
Unfortunately, this doesn't work. I get an error message and a couple of warnings, and I'm unable to put the correct settings in the deploy.xml.
Quote:Error: The role named "BLZServiceProvider" on this partnerLinkType uses portType "wsdl:BLZServicePortType" which is not defined anywhere. - BLZAbfrageProcess.bpel (line 25)
Warnings:
WS-I: (BP2105) A wsdl:import element in the WSDL namespace under the wsdl:definitions element, is preceded by child elements other than wsdl:documentation elements. BLZAbfrageProcessArtifacts.wsdl (line 2)
The activity <bpel:invoke> refers to a bpel:partnerLink (via the attribute "partnerLink") - this bpel:partnerLink needs to be defined correctly. BLZAbfrageProcess.bpel (line 71)
The "D:\Admin\Dokumente\Eclipse\Eclipse Workspace\Workspace 2\BLZAbfrage\bpelContent\BLZService.wsdl" document could not be imported while parsing "platform:/resource/BLZAbfrage/bpelContent/BLZAbfrageProcessArtifacts.wsdl" BLZAbfrageProcessArtifacts.wsdl (line 13)
No grammar constraints (DTD or XML schema) detected for the document. deploy.xml (line 1)
The error message shouldn't happen, because BLZServicePortType is defined in the BLZService.wsdl. I've seen similiar questions from years ago, but there was no answer then.
Can somebody give me a hint what to do here?
My next goal is to combine two webservices, but at the moment I can't even invoke one external WS without problems.
Thank you very much,
Alex
|
|
|
Re: BPEL process with invoke? [message #874853 is a reply to message #874467] |
Mon, 21 May 2012 17:14 |
|
Hmm, I wonder if this has anything to do with the editor not being able to find your BLZService.wsdl document - looks like the "location" specified in your bpel and artifacts.wsdl files is an absolute path to "D:\Admin\Dokumente\Eclipse\Eclipse Workspace\Workspace 2\BLZAbfrage\bpelContent\BLZService.wsdl". Are you sure the document is there? Maybe there's an issue with spaces in the location path?
I was able to correct the problem by simply changing the location to a project-relative path in both BLZAbfrageProcessArtifacts.wsdl and BLZAbfrageProcess.bpel (replace the absolute path with just location="BLZService.wsdl", since it's in the bpelContent folder)
Please let me know if that document does exist in your D:\Admin\Dokumente... folder but is just not being found by the BPEL editor's resource resolver - this may be a bug.
Thanks!
Bob
|
|
|
Re: BPEL process with invoke? [message #874921 is a reply to message #874853] |
Mon, 21 May 2012 19:59 |
Alex G Messages: 3 Registered: May 2012 |
Junior Member |
|
|
Thank you very much, replacing the absolute path with location="BLZService.wsdl" seemed to work - most of the error messages vanished. The file was definitly there (just normal subdirectories - no funny stuff like external harddrives, directory links (like C:\Programme pointing to C:\Program Files) or whatever), so I guess the space in the path was the issue.
But then again, yesterday when trying to make the invoke, I had trouble to add the external WSDL file ("Browse for a WSDL to import"). Specifiying the URL did not work (error: "could not load"), so I imported the external WSDL to my project. But even then, "Import Source: Resource" did not work (it wouldn't show me the files), so I had to use the third way: "Import Source: File".
I tried to reproduce this strange behaviour today, but all 3 WSDL import variants (Resource, File, external URL) seem to work fine, so maybe eclipse was just glitched yesterday.
[Updated on: Mon, 21 May 2012 20:00] Report message to a moderator
|
|
|
Re: BPEL process with invoke? [message #874931 is a reply to message #874921] |
Mon, 21 May 2012 20:22 |
Alex G Messages: 3 Registered: May 2012 |
Junior Member |
|
|
Today I have another problem, though: My process is deployed now, but doesn't seem to work.
localhost:8080 | ode | processes | BLZAbfrageProcess?wsdl shows the WSDL of my process just fine, but if I try to call it:
localhost:8080 | ode | processes | BLZAbfrageProcess | process?input=test (input doesn't really matter, since for the moment, I assigned a fixed value ("30020900") to the variable which is assigned to the external webservice)
the expected answer would be <ns1:bezeichnung>Citibank Privatkunden</ns1:bezeichnung> which is the name of the bank with the bank number 30020900 in Germany.
Instead, my browser loads forever and then throws an exception:
<Exception>org.apache.ode.axis2.OdeFault: Timeout or execution error when waiting for response to MEX {MyRoleMex#hqejbhcnphr7ar15j03ofn [Client hqejbhcnphr7ar15j03ofm] calling {http:|| example.org | BLZAbfrageNamespace}BLZAbfrageProcess.process(...)} java.util.concurrent.TimeoutException: Message exchange org.apache.ode.bpel.engine.MyRoleMessageExchangeImpl$ResponseFuture@10afd2c timed out(120000 ms) when waiting for a response!
at org.apache.ode.axis2.ODEService.onAxisMessageExchange(ODEService.java:166)
at org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODEMessageReceiver.java:69)
at org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODEMessageReceiver.java:52)
at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
at org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:125)
at org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:119)
at org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processURLRequest(AxisServlet.java:799)
at org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:242)
at org.apache.ode.axis2.hooks.ODEAxisServlet.doGet(ODEAxisServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:304)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
</Exception>
I thought maybe the external webservice is unavailable at the moment, but when testing it with an external source, it seems to work fine:
http: || www.service-repository.com | service | overview | -210897616
edit: oh god, the "You cannot use links until you have posted more than 25 messages"-rule is killing me. It won't even let me use localhost URLs.
[Updated on: Mon, 21 May 2012 20:33] Report message to a moderator
|
|
|
|
Re: BPEL process with invoke? [message #907328 is a reply to message #874467] |
Mon, 03 September 2012 19:21 |
Laura Lane Messages: 1 Registered: September 2012 |
Junior Member |
|
|
Hi,
I'm getting the following error:
The role named "CustomerServiceProvider" on this partnerLinkType uses portType "CustomerPortType" which is not defined anywhere.
Although the CustomerPortType is defined in the WSDL file!!!
Can anyone help plz
Attached are the project files.
Thanks
[Updated on: Mon, 03 September 2012 19:23] Report message to a moderator
|
|
|
|
Powered by
FUDForum. Page generated in 0.03236 seconds