Я пытаюсь реализовать клиентский веб-сервис (AXIS 2 1.6.1) в JBoss 5.1.0 GA.Axis 2 (1.6.1) client webservice Basic Auth
Я создавал заглушки, и первый вызов (to mockService) отлично работает.
Теперь я хочу вызвать мой веб-сервис (без mockService), и мне нужно реализовать Basic-Authentication.
Я уже реализую базовый код аутентификации, и я почти уверен, что в коде отсутствует ошибка.
HttpTransportProperties.Authenticator basicAuth = new HttpTransportProperties.Authenticator();
basicAuth.setUsername("userName");
basicAuth.setPassword("password");
basicAuth.setPreemptiveAuthentication(true);
stub._getServiceClient().getOptions().setProperty(HTTPConstants.AUTHENTICATE, basicAuth);
Поскольку я могу сделать вызов с использованием SOAP UI, я твердо верю, что моя проблема в том, что я haven't установить мой «Тип О-пароль» и «О TimeToLive» (я имею такое же ошибку когда я отключу эти свойства в SOAP-UI).
Я думаю, что мне может понадобиться поставить на сервер axis2.xml, чтобы поместить эти свойства, но ... Когда я добавляю свой файл конфигурации (в JBoss)? Или где я определяю путь к этому файлу? Или что-то еще?
Спасибо всем.
Примечание: Я попытался unsucessfully это решение: Adding User/Password to SOAPHeader for WebService client call with AXIS2
Моя ошибка является:
Exception in thread "main" org.apache.axis2.AxisFault: Internal Error (from server)
at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:375)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at myPackage.process(MyStub.java:187)
P.S- Обратите внимание, что веб-службы сервера обмениваться данными по протоколу HTTPS.
P.S.2 - Tks Эдвард
я решить мою проблему, используя решение в этом посте: http://stackoverflow.com/questions/7910776/adding-user-password-to-soapheader-for-webservice-client-call-with-axis2 I был ли неправильный префикс в UsernameToken. После исправления этого он отлично работает, но это решение является более обходным решением. :( Проблема в первом решении заключается в том, что Axis2 doen't не включает в себя заголовок для запроса. Это ошибка Axis? – JMarques