org.apache.axis2.AxisFault: HTTP (401) Несанкционированный адрес: - PullRequest
2 голосов
/ 19 апреля 2019

Подход 1 к трассе стека

javax.xml.ws.WebServiceException: не удалось получить доступ к WSDL по адресу: http://username:password@10.XXX.15.XX/ClientExt/NewAPI/api.asmx?wsdl. Сбой: Сервер вернул код ответа HTTP: 401 для URL: http://username:password@10.XXX.15.XX/ClientExt/NewAPI/api.asmx?wsdl. в com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.tryWithMex (RuntimeWSDLParser.java:250) в com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse (RuntimeWSDLParser.java:231) в com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse (RuntimeWSDLParser.java:194) в com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse (RuntimeWSDLParser.java:163) на com.sun.xml.internal.ws.client.WSServiceDelegate.parseWSDL (WSServiceDelegate.java:348) на com.sun.xml.internal.ws.client.WSServiceDelegate. (WSServiceDelegate.java:306) на com.sun.xml.internal.ws.client.WSServiceDelegate. (WSServiceDelegate.java:215) на com.sun.xml.internal.ws.client.WSServiceDelegate. (WSServiceDelegate.java:196) на com.sun.xml.internal.ws.client.WSServiceDelegate. (WSServiceDelegate.java:192) в com.sun.xml.internal.ws.spi.ProviderImpl.createServiceDelegate (ProviderImpl.java:104) на javax.xml.ws.Service. (Service.java:77) в org.tempuri.Api. (Api.java:82)

подход 1:

Authenticator.setDefault(new Authenticator() {
    @Override
    protected PasswordAuthentication getPasswordAuthentication() {
    return new PasswordAuthentication(username, password.toCharArray());
    }
});

заход на посадку 2

HttpURLConnection myURLConnection = (HttpURLConnection)url.openConnection();
String userCredentials = "username:password";
String basicAuth = "Basic " + new String(new Base64().encode(userCredentials.getBytes()));
myURLConnection.setRequestProperty ("Authorization", basicAuth);
myURLConnection.setRequestMethod("GET");
myURLConnection.setDoInput(true);
myURLConnection.setConnectTimeout(1500000);
myURLConnection.connect();
int responseCode = myURLConnection.getResponseCode();//returns 200 and error

Я получаю код ответа 200 в подходе 2, также получая выше трассировки стека в качестве сообщения об ошибке.

Затем я попытался с Authenticator (подход 1), он работает нормально, если я вызываю в файле javaTester, но получаю сообщение об ошибке ниже при вызове через приложение.

org.apache.axis2.AxisFault: HTTP (401) Несанкционированный адрес: http://10.XXX.15.XX/ClientExt/NewAPI/api.asmx

...