[英]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.