使用java进行SOAP服务调用时出错
我有HTTPS网络服务。我可以使用wsimport生成java类,但当我调用该服务时,会收到以下异常: com.sun.xml.internal.ws.client.ClientTransportException:HTTP传输错误:java.net.UnknownHostException:abc.xyz.ca.com 位于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.\uuu-doRun(Fiber.java:1121) 位于com.sun.xml.internal.ws.api.pipe.Fiber.\u-doRun(Fiber.java:1035) 位于com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:1004) 位于com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:862) 位于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.westpac.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.socksocketimpl.connect(socksocketimpl.java:392) 位于java.net.Socket.connect(Socket.java:606) 位于sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:666) 位于sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173) 位于sun.net.NetworkClient.doConnect(NetworkClient.java:180) 位于sun.net.www.http.HttpClient.openServer(HttpClient.java:463) 位于sun.net.www.http.HttpClient.openServer(HttpClient.java:558) 在sun.net.www.protocol.https.HttpsClient.(HttpsClient.java:264) 位于sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367) 位于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) 位于sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.java:1340) 位于sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1315) 位于sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:264) 位于com.sun.xml.internal.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:104) 调用服务的类如下所示:使用java进行SOAP服务调用时出错,java,web-services,soap,wsdl,wsimport,Java,Web Services,Soap,Wsdl,Wsimport,我有HTTPS网络服务。我可以使用wsimport生成java类,但当我调用该服务时,会收到以下异常: com.sun.xml.internal.ws.client.ClientTransportException:HTTP传输错误:java.net.UnknownHostException:abc.xyz.ca.com 位于com.sun.xml.internal.ws.transport.http.client.HttpClientTransport.getOutput(HttpClient
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调用Web服务,它在那里工作正常。
有人能帮忙吗。提前感谢。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服务的服务器。是否可以使用Soap UI的屏幕截图更新问题,该屏幕截图清楚地显示了使用的确切URL?更新了Soap UI。URL位于公司网络内部,在调用服务时使用https方法。主机
abc.xyz.ca.com
到底来自哪里?日志里有吗?它存在于wsdl文件中还是代码中的任何地方?我更改了它,隐藏了实际的URLHow可以为此设置代理。如果我在SOAP中禁用代理,我会得到相同的异常