0

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

org.apache.axis2.AxisFault:找不到操作的端点引用 (EPR) 是 /ode/processes/HelloWorld/,并且 org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java: 86) 在 org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:212) 在 org.apache.axis2.engine.AxisEngine 的 org.apache.axis2.engine.Phase.invoke(Phase.java:308) .receive(AxisEngine.java:132) 在 org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:125) 在 org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil .java:119) 在 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) 在org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at 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。org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) 的服务(CoyoteAdapter.java:286) .apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 在 java.lang.Thread.run(Thread.java:729)


可能是什么问题以及如何开发它,通过网络浏览器输入值并从中获取输出。谢谢你。

4

1 回答 1

3

您的示例存在一些问题:

首先,根据发布的错误消息,您的端点的 URL 是错误的。如果您使用的是 ODE 附带的 helloWorld 示例,那么正确的端点 URL 是http://localhost:8080/ode/processes/helloWorld

第二:通过 Web 服务资源管理器,您使用的是 SOAP 端点。由于浏览器不支持 SOAP,因此您需要坚持使用 Axis2 呈现的 HTTP 绑定。这基本上意味着 URL 应该像这样组成:

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

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

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

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

于 2011-01-17T12:48:58.670 回答