Я пытаюсь вызвать веб-службу, которая имеет базовую HTTP-аутентификацию. Я создал код клиента с помощью инструмента WSDL2JAVA из AXIS.Базовая аутентификация HTTP для вызова WEBService
Но я не могу установить имя пользователя и пароль для вызова веб-службы.
Я постарался, чтобы в конечной точке URL, как
Но я получаю сообщение об ошибке неавторизованного для этого. Я пытаюсь понять, как получить этот набор для моего вызова в Java-коде ....
Примечание: Я могу вызвать ту же услугу через soapUI и получить результаты. Я указал имя пользователя и пароль на вкладке «Авто» в запросе.
Вот некоторые фрагменты кода моего Окурка, если это Userful для вас
_serviceClient = new org.apache.axis2.client.ServiceClient(configurationContext,_service);
_serviceClient.getOptions().setTo(new org.apache.axis2.addressing.EndpointReference(
targetEndpoint));
_serviceClient.getOptions().setUseSeparateListener(useSeparateListener);
//adding SOAP soap_headers
_serviceClient.addHeadersToEnvelope(env);
// set the message context with that soap envelope
_messageContext.setEnvelope(env);
// add the message contxt to the operation client
_operationClient.addMessageContext(_messageContext);
//execute the operation client
_operationClient.execute(true);
Все входы будут высоко оценили !!
Спасибо! Это сработало. Я нашел только это, но _serviceClient.getOptions(). SetProperty (org.apache.axis2.transport.http.HTTPConstants.AUTHENTICATE, auth); –
Кто-нибудь знает, почему учетные данные не могут быть помещены в URL-адрес конечной точки, как показано в вопросе? Вы можете сделать это с Apache HttpClient, и я думаю, что Axis использует это за кулисами ... – Kaitsu