我使用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浏览器输入值并从中获取输出。
谢谢。
答案 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