Ошибка при выполнении сервисного вызова SOAP с использованием java - PullRequest
0 голосов
/ 20 января 2020

У меня HTTPS веб-сервис. Я могу сгенерировать java классов с помощью wsimport, но когда я вызываю службу, я получаю следующее исключение:

com.sun. xml .internal.ws.client.ClientTransportException: ошибка транспорта HTTP: java. net .UnknownHostException: ab c .xyz.ca.com at com.sun. xml .internal.ws.transport.http.client.HttpClientTransport.getOutput (HttpClientTransport. java: 117 ) в com.sun. xml .internal.ws.transport.http.client.HttpTransportPipe.process (HttpTransportPipe. java: 208) в com.sun. xml .internal.ws.transport.http.client .HttpTransportPipe.processRequest (HttpTransportPipe. java: 130) в com.sun. xml .internal.ws.transport.DeferredTransportPipe.processRequest (DeferredTransportPipe. java: 124) в com.sun. xml .internal .ws.api.pipe.Fiber .__ doRun (Fiber. java: 1121) в com.sun. xml .internal.ws.api.pipe.Fiber._doRun (Fiber. java: 1035) в com .sun. xml .internal.ws.api.pipe.Fiber.doRun (Fiber. java: 1004) в com.sun. xml .internal.ws.api.pipe.Fiber.runSyn c . (Fiber java: 86 2) на com.sun. xml .internal.ws.client.Stub.process (Stub. java: 448) на com.sun. xml .internal.ws.client.sei.SEIStub.doProcess ( SEIStub. java: 178) на com.sun. xml .internal.ws.client.sei.SyncMethodHandler.invoke (SyncMethodHandler. java: 93) на com.sun. xml .internal.ws. client.sei.SyncMethodHandler.invoke (SyncMethodHandler. java: 77) на com.sun. xml .internal.ws.client.sei.SEIStub.invoke (SEIStub. java: 147) на com.sun. proxy. $ Proxy33.query (неизвестный источник) по адресу com.westpa c .idm.clarityuserprovisioning.MainClass.main (MainClass. java: 29) Причина: java. net .UnknownHostException: cppm6002-dev .ondemand.ca.com в java. net .AbstractPlainSocketImpl.connect (AbstractPlainSocketImpl. java: 184) в java. net .PlainSocketImpl.connect (PlainSocketImpl. java: 172) в java. net .SocksSocketImpl.connect (SocksSocketImpl. java: 392) в java. net .Socket.connect (Socket. java: 606) в sun.security.ssl.SSLSocketImpl.connect (SSLSocketImpl. java: 666) в sun.security.ssl.BaseSSLSocketIm pl.connect (BaseSSLSocketImpl. java: 173) на солнце. net .NetworkClient.doConnect (NetworkClient. java: 180) на солнце. net. www.http.HttpClient.openServer (HttpClient. java: 463) на солнце. net. www.http.HttpClient.openServer (HttpClient. java: 558) на солнце. net. www.protocol.https.HttpsClient. (HttpsClient. java: 264) на солнце. net. www.protocol.https.HttpsClient.New (HttpsClient . java: 367) на солнце. net. www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient (AbstractDelegateHttpsURLConnection. java: 191) на солнце. net. www.protocol.http.HttpURLConnection.plainConnect0 (HttpURLConnection. java: 1205) на солнце. net. www.protocol.http.HttpURLConnection.plainConnect (HttpURLConnection. java: 1056) на солнце. net. www.protocol.https.AbstractDelegateHttpsURLConnection.connect (AbstractDelegateHttpsURLConnection. java: 177) на солнце. net. www.protocol.http.HttpURLConnection.getOutputStream0 (HttpURLConnection. java: 1340) на солнце. net. www.protocol.http.HttpURLConnection.getOutputStream (HttpURLConnection. java: 1315) на солнце. net. www.protocol.https.HttpsURLConnectionImpl.getOutputStream (HttpsURLConnectionImpl. java: 264) на com.sun. xml .internal .ws.transport.http.client.HttpClientTransport.getOutput (HttpClientTransport. java: 104)

Мой класс, который вызывает службу, выглядит примерно так:

public static void main(String[] args) {


    try {
        Auth auth = new Auth();
        auth.setUsername("username");
        auth.setPassword("password");

        WbcActiveUsersQuery query_code = new WbcActiveUsersQuery();
        query_code.setCode("wbc_active_users");

        WbcActiveUsersQueryService service = new WbcActiveUsersQueryService();
        WbcActiveUsersQueryPort port = service.getWbcActiveUsersQueryService();

        WbcActiveUsersQueryResult result =  port.query(query_code, auth);

    }catch(Exception e) {

        e.printStackTrace();
    }

}

Я попытался использовать SoapUI для вызова веб-службы, там все работает нормально. enter image description here

Может кто-нибудь помочь. Заранее спасибо.

1 Ответ

0 голосов
/ 20 января 2020

java.net.UnknownHostException: abc.xyz.ca.com означает, что вы не используете правильное имя хоста / URL-адрес службы.

Пожалуйста, используйте правильный URL-адрес.

Для использования прокси:

System.setProperty("http.proxyHost", host);
System.setProperty("http.proxyPort", port);
System.setProperty("http.nonProxyHosts", "localhost|127.0.0.1");

Кроме того, вы также можете установить прокси на сервере, на котором вы развернули свой клиентский код, для вызова Soap службы.

...