Axis2 - всегда получаю 404 ошибки - PullRequest
6 голосов
/ 16 декабря 2010

Я пытаюсь переместить некоторые заглушки веб-сервисов из Metro в Axis2, однако после генерации заглушек с помощью wsdl2java я постоянно получаю 404 ошибки всякий раз, когда пытаюсь выполнить вызов службы.

16/12/2010 11:14:57 AM org.apache.axis2.deployment.ModuleDeployer deploy
INFO: Deploying module: addressing-1.5.3-jar - file:/C:/Users/xxx/.m2/repository/org/apache/axis2/axis2/1.5.3/axis2-1.5.3-jar.jar
16/12/2010 11:14:57 AM org.apache.axis2.transport.http.HTTPSender sendViaPost
INFO: Unable to sendViaPost to url[xxxx]
org.apache.axis2.AxisFault: Transport error: 404 Error: Not Found
    at org.apache.axis2.transport.http.HTTPSender.handleResponse(HTTPSender.java:307)
    at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:200)
    at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:76)
    at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:400)
    at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:225)
    at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:438)
    at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:402)
    at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
    at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
    at au.com.jpaterso.betcalc.axis2.tab.LoginStub.getKey(LoginStub.java:184)
    at au.com.jpaterso.betcalc.axis2.tab.Test.main(Test.java:13)
Exception in thread "main" org.apache.axis2.AxisFault: Transport error: 404 Error: Not Found
    at org.apache.axis2.transport.http.HTTPSender.handleResponse(HTTPSender.java:307)
    at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:200)
    at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:76)
    at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:400)
    at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:225)
    at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:438)
    at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:402)
    at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
    at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
    at au.com.jpaterso.betcalc.axis2.tab.LoginStub.getKey(LoginStub.java:184)
    at au.com.jpaterso.betcalc.axis2.tab.Test.main(Test.java:13)

URL-адрес, к которому он пытается подключиться, определенно правильный, поскольку я могу получить к нему доступ через мой браузер / SoapUI.

Любая помощь будет принята с благодарностью!

Спасибо, Джозеф.

Ответы [ 2 ]

2 голосов
/ 17 мая 2014

Я также вижу эту ошибку при использовании "axis2-wsdl2code-maven-plugin" для создания заглушки для веб-службы .NET (.asmx).

Я исправил, отключив "chunked" _serviceClient. Добавляйте только приведенный ниже код в метод Конструктор файловой заглушки.

_serviceClient.getOptions().setProperty(HTTPConstants.CHUNKED, "false");
2 голосов
/ 17 декабря 2010

Вы не предоставили много информации о среде, в которой вы пытаетесь развернуть свой WS. Например. это веб-приложение, работающее под управлением Tomcat / JBoss или, возможно, автономный сервер, развернутый с Axis2?

Из трассы, которую вы опубликовали, я полагаю, что есть соединение с вашим сервером, но ваш WS не был успешно развернут. Я предполагаю, что вы можете использовать автономный сервер для своих тестов, и я предлагаю:

  1. Перейдите в свой репозиторий WS. На моей тестовой машине это будет что-то вроде ~ / axis2-x.x.x / repository / services и убедитесь, что ваш сервис там есть (файл .aar или распакованная версия).

  2. Запустите сервер и проверьте, действительно ли ваша служба развернута. Например, при моей установке сервер сгенерирует следующий вывод (не полный):

    me @ melinuxpc: ~ / axis2-1.5.1 / bin> ./axis2server.sh
    Использование AXIS2_HOME: ххх
    Использование JAVA_HOME: ххх
    Использование JAVA_OPTS: -Xdebug -Xrunjdwp: transport = dt_socket, address = 8000, server = y, suspend = n Прослушивание транспорта dt_socket по адресу: 8000 [INFO] [SimpleAxisServer] Запуск [INFO] [SimpleAxisServer] Использование репозитория Axis2 xxx [SimpleAxisServer] Использование репозитория Axis2 xxx [SimpleAxisServer] Использование файла конфигурации Axis2 xxx [INFO] Кластеризация отключена [INFO] Модуль развертывания: ххх [INFO] Развертывание веб-службы: MyTestService - файл: ~ / axis2-1.5.1 / хранилище / services / MyTestService /

Проверьте, развернут ли ваш веб-сервис и нет ли ошибок. Вы можете проверить, доступен ли WSDL службы «в браузере». На моей тестовой машине URL будет:

http://localhost:8080/axis2/services/MyTestService?wsdl

Хотя список всех развернутых сервисов можно увидеть по адресу:

http://localhost:8080/axis2/services/

И не спешите покидать Axis2;)

Удачи!

...