如何从浏览器运行HelloWorld ODE?

时间:2010-11-24 08:13:52

标签: bpel apache-ode

我使用Eclipse IDE开发了一个简单的hello world项目。我可以从IDE运行它(Web Services - >使用Web Services Explorer进行测试)。从它完美的工作,但如果我尝试访问 http://localhost:8080/ode/processes/HelloWorld/
它给出了一些例外。

org.apache.axis2.AxisFault:未找到Operation的端点引用(EPR)是/ ode / processes / HelloWorld /,WSA Action = null     在org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:86)     在org.apache.axis2.engine.Phase.invoke(Phase.java:308)     在org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:212)     在org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:132)     at org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:125)     在org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:119)     at org.apache.axis2.transport.http.AxisServlet $ RestRequestProcessor.processURLRequest(AxisServlet.java:799)     在org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:242)     在org.apache.ode.axis2.hooks.ODEAxisServlet.doGet(ODEAxisServlet.java:62)     在javax.servlet.http.HttpServlet.service(HttpServlet.java:617)     在javax.servlet.http.HttpServlet.service(HttpServlet.java:717)     在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)     在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)     在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)     在org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)     在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)     在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)     在org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)     在org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:583)     在org.apache.tomcat.util.net.JIoEndpoint $ Worker.run(JIoEndpoint.java:447)     在java.lang.Thread.run(Thread.java:729)


可能是什么问题以及如何将其开发为,通过Web浏览器输入值并从中获取输出。 谢谢。

1 个答案:

答案 0 :(得分:3)

您的示例存在一些问题:

首先,根据发布的错误消息,您的端点的URL是错误的。您使用的是随ODE一起提供的helloWorld示例,那么正确的端点URL为http://localhost:8080/ode/processes/helloWorld

第二:使用Web Service Explorer,您正在使用SOAP端点。由于浏览器不会说SOAP,因此您需要坚持使用Axis2呈现的HTTP绑定。这基本上意味着URL应该像这样组成:

<endpointURL>/<operationName>?<part>=<value>...

helloWorld示例呈现一个Web服务,提供一个名为“hello”的操作。此操作将消息作为输入,其中包含一个名为“TestPart”的部分。这部分用于计算输出消息。

使用上面的架构,浏览器的工作URL(通过GET请求)如下所示:

http://localhost:8080/ode/processes/helloWorld/hello?TestPart=Hello