簡體   English   中英

使用 java 進行 SOAP 服務調用時出錯

[英]Error on doing SOAP service call using java

我有 HTTPS 網絡服務。 我可以使用 wsimport 生成 java 類,但是當我調用該服務時,我收到以下異常:

com.sun.xml.internal.ws.client.ClientTransportException: HTTP 傳輸錯誤: java.net.UnknownHostException: abc.xyz.ca.com at com.sun.xml.internal.ws.transport.http.client.HttpClientTransport。 getOutput(HttpClientTransport.java:117) at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:208) at 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) at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:1035) at com.sun.xml.internal.ws.api.pipe。 Fiber.doRun(Fiber.java:1004) at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:862) at com.sun.xml.internal.ws.client.Stub。 com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:178) 處的進程(Stub.java:448) com.sun.xml.internal.ws.client.sei.SyncMetho dHandler.invoke(SyncMethodHandler.java:93) at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:77) at com.sun.xml.internal.ws.client.sei。 SEIStub.invoke(SEIStub.java:147) at com.sun.proxy.$Proxy33.query(Unknown Source) at com.westpac.idm.clarityuserprovisioning.MainClass.main(MainClass.java:29) 由:java.net .UnknownHostException: cppm6002-dev.ondemand.ca.com at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) at java.net.SocksSocketImpl.connect (SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:606) at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:666) at sun.security.ssl.BaseSSLSocketImpl.connect( BaseSSLSocketImpl.java:173) at sun.net.NetworkClient.doConnect(NetworkClient.java:180) at sun.net.www.http.HttpClient.openServer(HttpClient.java:463) at sun.net.www.http.HttpClient .openServer(HttpClient.java:558) 在 sun.net.www.protocol.https .HttpsClient.(HttpsClient.java:264) at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java: 191) 在 sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1205) 在 sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056) 在 sun.net.www .protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177) at sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.java:1340) at sun.net.www.protocol.http.HttpURLConnection.getOutputStream (HttpURLConnection.java:1315) at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:264) at 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 來調用網絡服務,它在那里工作正常。 在此處輸入圖片說明

任何人都可以幫忙。 先感謝您。

java.net.UnknownHostException: abc.xyz.ca.com表示您沒有使用正確的服務主機名/url。

請使用正確的網址。

代理使用:

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

或者,您也可以將代理設置為已部署客戶端代碼的服務器以調用 Soap 服務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM