Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java进行SOAP服务调用时出错_Java_Web Services_Soap_Wsdl_Wsimport - Fatal编程技术网

使用java进行SOAP服务调用时出错

使用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

我有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)

调用服务的类如下所示:

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中禁用代理,我会得到相同的异常