Как запустить ODW HelloWorld из браузера? - PullRequest
0 голосов
/ 24 ноября 2010

Я разрабатываю простой проект hello world с использованием Eclipse IDE.Я могу запустить его из IDE (Веб-сервисы -> Тестирование с помощью веб-сервисов).С этого он отлично работает, но если я пытаюсь получить доступ к http://localhost:8080/ode/processes/HelloWorld/Это дает некоторые исключения.org.apache.axis2.AxisFault: ссылка на конечную точку (EPR) для не найденной операции - / ode / projects / HelloWorld /, а действие WSA = 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) в org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine (RESTUtil.java:125) в org.apache.axis2.transport.http.util.RESTUtil.processURLRequest.java: 119) в org.apache.axis2.transport.http.AxisServlet $ RestRequestProcessor.processURLRequest (AxisServlet.java:799) в org.apache.axis2.transport.http.AxisServlet.doGet (AxisServlet.24).org.apache.ode.axis2.hooks.ODEAxisServlet.doGet (ODEAxisServlet.java:62) в javax.servlet.http.HttpServlet.service (HttpServlet.java:617) в javax.servlet.http.HttpServ.Java: 717) в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:290) в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:206) в org.apache.catalina.core.StandardWraveravalveWarake.apache.catalina.core...java: 102) в org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:109) в org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:286) в org.apache.coote.http11.Http11Processor.process (Http11Processor.java:845) на org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process (Http11Protocol.java:583) на org.apache.tomcat.util.net.JEJIoEndpoint.java:447) на java.lang.Thread.run (Thread.java:729)В чем может быть проблема и как ее разработать, введите значения через веб-браузер и получите выходные данные.Спасибо.

1 Ответ

3 голосов
/ 17 января 2011

В вашем примере есть несколько проблем:

Во-первых, согласно опубликованному сообщению об ошибке, URL вашей конечной точки неверен.Если вы используете пример helloWorld, поставляемый с ODE, то правильный URL-адрес конечной точки будет http://localhost:8080/ode/processes/helloWorld.

Второй: в обозревателе веб-служб вы используете конечную точку SOAP.Поскольку браузер не говорит на SOAP, вам необходимо придерживаться HTTP-привязки, представленной Axis2.По сути, это означает, что URL должен быть составлен следующим образом:

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

Пример helloWorld отображает веб-сервис, предоставляющий одну операцию под названием «hello».Эта операция принимает в качестве входного сообщения сообщение, которое содержит одну часть с именем «TestPart».Эта часть используется для вычисления выходного сообщения.

Используя схему выше, рабочий URL для вашего браузера (через запрос GET) выглядит следующим образом:

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

...