You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by "Rafal Rusin (JIRA)" <ji...@apache.org> on 2009/01/15 23:41:59 UTC
[jira] Commented: (ODE-155) Examples: Exceptions for SOAP calls
after retrieving WSDL
[ https://issues.apache.org/jira/browse/ODE-155?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12664300#action_12664300 ]
Rafal Rusin commented on ODE-155:
---------------------------------
You can set some JBI options using ws addressing. It is not so elegant way, but convenient. You can send a message to http://localhost:8080/ping/:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hel="urn:/HelloWorld2.wsdl">
<soapenv:Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
<wsa:To>urn:/HelloWorld2.wsdl/HelloService/HelloPort</wsa:To>
<wsa:Action>urn:/HelloWorld2.wsdl/HelloService/Hello</wsa:Action>
</soapenv:Header>
<soapenv:Body>
<HelloRequest xmlns="urn:/HelloWorld2.wsdl">
<text>hello</text>
</HelloRequest>
</soapenv:Body>
</soapenv:Envelope>
And it will be delivered to wsa:To HelloWord JBI destination. wsa:Action will be used as operation.
Regards
> Examples: Exceptions for SOAP calls after retrieving WSDL
> ---------------------------------------------------------
>
> Key: ODE-155
> URL: https://issues.apache.org/jira/browse/ODE-155
> Project: ODE
> Issue Type: Bug
> Components: Examples, JBI Integration
> Affects Versions: 1.0-incubating, 1.1, 1.1.1
> Environment: Kubuntu 7.04 & 7.10; Service Mix 3.1, 3.1.1 & 3.2.1; ODE 1.0, 1.1, 1.1.1
> Reporter: Falko Menge
> Assignee: Guillaume Nodet
> Priority: Critical
> Fix For: 2.0
>
>
> I deployed the examples HelloWorld2 and PingPong as JBI service assemblies into ServiceMix. Testing with `ant test' works fine untill I request the WSDL from ServiceMix.
> Obtaining WSDL via http://localhost:8080/hello-doc/?wsdl throws no errors in the ServiceMix logfile.
> But subsequent SOAP calls result in a stack trace (see below) and ServiceMix has to be restarted in order to accept new messages.
> I don't think that this Issue is directly related to https://issues.apache.org/jira/browse/ODE-43 since in the issue described here the WSDL is provided, but accessing it results in a denial of service.
> From ServiceMix logfile:
> 11:41:30,769 | DEBUG | btpool0-0 - Acceptor0 SelectChannelConnector @ localhost:8080 | JettyContextManager | ntextManager$ThreadPoolWrapper 437 | Dispatching job: HEP@7086362[d=true,io=0,w=true,b=0|0]
> 11:41:30,770 | DEBUG | btpool0-3 | ConsumerProcessor | p.processors.ConsumerProcessor 122 | Receiving HTTP request: POST /hello-doc/ HTTP/1.1
> Content-Type: text/xml
> User-Agent: Jakarta Commons-HttpClient/3.0
> Host: localhost:8080
> Content-Length: 1099
> 11:41:30,852 | DEBUG | btpool0-3 | HttpComponent | emix.common.AsyncBaseLifeCycle 532 | Created correlation id: ID:feistyfawn-1143-1184581994568-4:0
> 11:41:30,852 | DEBUG | btpool0-3 | DeliveryChannelImpl | .messaging.DeliveryChannelImpl 411 | Send ID:feistyfawn-1143-1184581994568-4:0 in DeliveryChannel{servicemix-http}
> 11:41:30,853 | DEBUG | btpool0-3 | SedaFlow | emix.jbi.nmr.flow.AbstractFlow 121 | Called Flow send
> 11:41:30,859 | DEBUG | btpool0-3 | ConsumerProcessor | p.processors.ConsumerProcessor 186 | Suspending continuation for exchange: ID:feistyfawn-1143-1184581994568-4:0
> 11:41:30,864 | DEBUG | pool-flow.seda.OdeBpelEngine-thread-1 | SedaQueue | .jbi.nmr.flow.seda.SedaQueue$1 132 | org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@1f2a8fb dequeued exchange: InOut[
> id: ID:feistyfawn-1143-1184581994568-4:0
> status: Active
> role: provider
> interface: {urn:/HelloWorld2.wsdl}HelloPortType
> service: {urn:/HelloWorld2.wsdl}HelloService
> endpoint: HelloPort
> operation: {urn:/HelloWorld2.wsdl}HelloRequest
> in: <?xml version="1.0" encoding="UTF-8"?><HelloRequest xmlns="urn:/HelloWorld2.wsdl" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
> <text>hello</text>
> </HelloRequest>
> ]
> 11:41:30,864 | DEBUG | Thread-8 | DeliveryChannelImpl | .messaging.DeliveryChannelImpl 263 | Accepting ID:feistyfawn-1143-1184581994568-4:0 in DeliveryChannel{OdeBpelEngine}
> 11:41:30,868 | INFO | pool-3-thread-1 | Runtime | log.Log4JLogFactory$LogAdapter 80 | Starting OpenJPA 0.9.7-incubating
> 11:41:30,870 | INFO | pool-3-thread-1 | JDBC | log.Log4JLogFactory$LogAdapter 80 | OpenJPA will now connect to the database to attempt to determine what type of database dictionary to use. To prevent this connection in the future, set your openjpa.jdbc.DBDictionary configuration property to the appropriate value for your database (see the documentation for available values).
> 11:41:30,871 | INFO | pool-3-thread-1 | JDBC | log.Log4JLogFactory$LogAdapter 80 | Using dictionary class "org.apache.openjpa.jdbc.sql.DerbyDictionary" (Apache Derby 10.2.1.6 - (452058) ,Apache Derby Embedded JDBC Driver 10.2.1.6 - (452058)).
> 11:41:31,100 | ERROR | pool-3-thread-1 | OdeService | org.apache.ode.jbi.OdeService 256 | ODE MEX {MyRoleMex#hqejbhcnphr2fkf9c2wei9 [Client ID:feistyfawn-1143-1184581994568-4:0] calling {urn:/HelloWorld2.wsdl}HelloService.HelloRequest(...)} was unroutable.
> 11:41:31,100 | DEBUG | pool-3-thread-1 | DeliveryChannelImpl | .messaging.DeliveryChannelImpl 411 | Send ID:feistyfawn-1143-1184581994568-4:0 in DeliveryChannel{OdeBpelEngine}
> 11:41:31,101 | DEBUG | pool-3-thread-1 | SedaFlow | emix.jbi.nmr.flow.AbstractFlow 121 | Called Flow send
> 11:41:31,138 | DEBUG | pool-flow.seda.OdeBpelEngine-thread-2 | SedaQueue | .jbi.nmr.flow.seda.SedaQueue$1 132 | org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@1ea5711 dequeued exchange: InOut[
> id: ID:feistyfawn-1143-1184581994568-4:0
> status: Error
> role: consumer
> interface: {urn:/HelloWorld2.wsdl}HelloPortType
> service: {urn:/HelloWorld2.wsdl}HelloService
> endpoint: HelloPort
> operation: {urn:/HelloWorld2.wsdl}HelloRequest
> in: <?xml version="1.0" encoding="UTF-8" standalone="no"?><HelloRequest xmlns="urn:/HelloWorld2.wsdl" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
> <text>hello</text>
> </HelloRequest>
> error: java.lang.IllegalArgumentException: Unroutable invocation.
> ]
> 11:41:31,138 | DEBUG | pool-flow.seda.OdeBpelEngine-thread-2 | HttpComponent | emix.common.AsyncBaseLifeCycle 419 | Received exchange: status: Error, role: consumer
> 11:41:31,139 | DEBUG | pool-flow.seda.OdeBpelEngine-thread-2 | HttpComponent | emix.common.AsyncBaseLifeCycle 487 | Retrieved correlation id: ID:feistyfawn-1143-1184581994568-4:0
> 11:41:31,139 | DEBUG | pool-flow.seda.OdeBpelEngine-thread-2 | ConsumerProcessor | p.processors.ConsumerProcessor 98 | Resuming continuation for exchange: ID:feistyfawn-1143-1184581994568-4:0
> 11:41:31,139 | DEBUG | btpool0-0 - Acceptor0 SelectChannelConnector @ localhost:8080 | JettyContextManager | ntextManager$ThreadPoolWrapper 437 | Dispatching job: HEP@7086362[d=true,io=0,w=true,b=0|0]
> 11:41:31,140 | DEBUG | btpool0-3 | ConsumerProcessor | p.processors.ConsumerProcessor 122 | Receiving HTTP request: POST /hello-doc/ HTTP/1.1
> Content-Type: text/xml
> User-Agent: Jakarta Commons-HttpClient/3.0
> Host: localhost:8080
> Content-Length: 1099
> 11:41:31,141 | WARN | btpool0-3 | jetty | ervicemix.http.jetty.JCLLogger 93 | EXCEPTION
> javax.servlet.ServletException: Failed to process request: java.lang.Exception: java.lang.IllegalArgumentException: Unroutable invocation.
> at org.apache.servicemix.http.HttpBridgeServlet.doPost(HttpBridgeServlet.java:79)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:445)
> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:356)
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:627)
> at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:149)
> at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:123)
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:141)
> at org.mortbay.jetty.Server.handle(Server.java:269)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:430)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:333)
> at org.mortbay.jetty.nio.HttpChannelEndPoint.run(HttpChannelEndPoint.java:270)
> at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
> 11:41:31,143 | WARN | btpool0-3 | jetty | ervicemix.http.jetty.JCLLogger 93 | Nested in javax.servlet.ServletException: Failed to process request: java.lang.Exception: java.lang.IllegalArgumentException: Unroutable invocation.:
> java.lang.Exception: java.lang.IllegalArgumentException: Unroutable invocation.
> at org.apache.servicemix.http.processors.ConsumerProcessor.process(ConsumerProcessor.java:214)
> at org.apache.servicemix.http.HttpBridgeServlet.doPost(HttpBridgeServlet.java:71)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:445)
> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:356)
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:627)
> at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:149)
> at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:123)
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:141)
> at org.mortbay.jetty.Server.handle(Server.java:269)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:430)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:333)
> at org.mortbay.jetty.nio.HttpChannelEndPoint.run(HttpChannelEndPoint.java:270)
> at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
> Caused by: java.lang.IllegalArgumentException: Unroutable invocation.
> at org.apache.ode.jbi.OdeService.invokeOde(OdeService.java:257)
> at org.apache.ode.jbi.OdeService.onJbiMessageExchange(OdeService.java:148)
> at org.apache.ode.jbi.JbiMessageExchangeEventRouter.onJbiMessageExchange(JbiMessageExchangeEventRouter.java:47)
> at org.apache.ode.jbi.Receiver$1.run(Receiver.java:179)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
> at java.lang.Thread.run(Thread.java:619)
> 11:41:31,148 | WARN | btpool0-3 | jetty | ervicemix.http.jetty.JCLLogger 93 | /hello-doc/:
> java.lang.Exception: java.lang.IllegalArgumentException: Unroutable invocation.
> at org.apache.servicemix.http.processors.ConsumerProcessor.process(ConsumerProcessor.java:214)
> at org.apache.servicemix.http.HttpBridgeServlet.doPost(HttpBridgeServlet.java:71)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:445)
> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:356)
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:627)
> at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:149)
> at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:123)
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:141)
> at org.mortbay.jetty.Server.handle(Server.java:269)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:430)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:333)
> at org.mortbay.jetty.nio.HttpChannelEndPoint.run(HttpChannelEndPoint.java:270)
> at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
> Caused by: java.lang.IllegalArgumentException: Unroutable invocation.
> at org.apache.ode.jbi.OdeService.invokeOde(OdeService.java:257)
> at org.apache.ode.jbi.OdeService.onJbiMessageExchange(OdeService.java:148)
> at org.apache.ode.jbi.JbiMessageExchangeEventRouter.onJbiMessageExchange(JbiMessageExchangeEventRouter.java:47)
> at org.apache.ode.jbi.Receiver$1.run(Receiver.java:179)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
> at java.lang.Thread.run(Thread.java:619)
> 11:41:31,148 | WARN | btpool0-3 | jetty | ervicemix.http.jetty.JCLLogger 93 | /hello-doc/
> java.lang.Exception: java.lang.IllegalArgumentException: Unroutable invocation.
> at org.apache.servicemix.http.processors.ConsumerProcessor.process(ConsumerProcessor.java:214)
> at org.apache.servicemix.http.HttpBridgeServlet.doPost(HttpBridgeServlet.java:71)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:445)
> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:356)
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:627)
> at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:149)
> at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:123)
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:141)
> at org.mortbay.jetty.Server.handle(Server.java:269)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:430)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:333)
> at org.mortbay.jetty.nio.HttpChannelEndPoint.run(HttpChannelEndPoint.java:270)
> at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
> Caused by: java.lang.IllegalArgumentException: Unroutable invocation.
> at org.apache.ode.jbi.OdeService.invokeOde(OdeService.java:257)
> at org.apache.ode.jbi.OdeService.onJbiMessageExchange(OdeService.java:148)
> at org.apache.ode.jbi.JbiMessageExchangeEventRouter.onJbiMessageExchange(JbiMessageExchangeEventRouter.java:47)
> at org.apache.ode.jbi.Receiver$1.run(Receiver.java:179)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
> at java.lang.Thread.run(Thread.java:619)
> 11:41:31,212 | DEBUG | btpool0-0 - Acceptor0 SelectChannelConnector @ localhost:8080 | JettyContextManager | ntextManager$ThreadPoolWrapper 437 | Dispatching job: HEP@7086362[d=true,io=1,w=true,b=0|0]
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.