Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.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中实现cventwsdl_Java_Ssl_Soap_Wsdl - Fatal编程技术网

在Java中实现cventwsdl

在Java中实现cventwsdl,java,ssl,soap,wsdl,Java,Ssl,Soap,Wsdl,我目前正在尝试用Java实现CVENT WSDL- 我正在使用Eclipse- 我已经用给定的WSDL地址创建了一个WebService客户端,并让它利用Axis自动生成代码。 (请尝试卸下锁扣) 从那里简单地尝试存根会给我一个连接错误 AxisFault 故障代码:{http://schemas.xmlsoap.org/soap/envelope/}Server.userException 故障子代码: faultString:java.net.ConnectException:连接超时:连接

我目前正在尝试用Java实现CVENT WSDL-

我正在使用Eclipse-

我已经用给定的WSDL地址创建了一个WebService客户端,并让它利用Axis自动生成代码。 (请尝试卸下锁扣)

从那里简单地尝试存根会给我一个连接错误

AxisFault
故障代码:{http://schemas.xmlsoap.org/soap/envelope/}Server.userException
故障子代码:
faultString:java.net.ConnectException:连接超时:连接
故障因素:
故障节点:
faultDetail:

      {http://xml.apache.org/axis/}stackTrace:java.net.ConnectException: Connection timed out: connect
   at java.net.DualStackPlainSocketImpl.connect0(Native Method)
   at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
   at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
   at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
   at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
   at java.net.PlainSocketImpl.connect(Unknown Source)
   at java.net.SocksSocketImpl.connect(Unknown Source)
   at java.net.Socket.connect(Unknown Source)
   at sun.security.ssl.SSLSocketImpl.connect(Unknown Source)
   at sun.security.ssl.SSLSocketImpl.<init>(Unknown Source)
   at sun.security.ssl.SSLSocketFactoryImpl.createSocket(Unknown Source)
   at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:92)
   at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191)
   at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404)
   at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
   at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
   at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
   at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
   at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
   at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
   at org.apache.axis.client.Call.invoke(Call.java:2767)
   at org.apache.axis.client.Call.invoke(Call.java:2443)
   at org.apache.axis.client.Call.invoke(Call.java:2366)
   at org.apache.axis.client.Call.invoke(Call.java:1812)
   at com.cvent.api._2006_11.V200611SoapStub.login(V200611SoapStub.java:3621)
   at wsdlTest.main(wsdlTest.java:46)

   {http://xml.apache.org/axis/}hostname:COMPUTERNAME
对于此连接异常,我已尝试扩展存根上的超时值

stub.setTimeout(600000)

而且还修改

System.setProperty.//修改运行参数

我知道我可以访问WSDL(通过IP白名单),因为我可以访问它/进行Powershell调用


这个问题花了太长时间才解决-安全设置阻止我访问WSDL,而窗口->首选项->常规->网络连接中的代理设置是针对Eclipse应用程序的(我猜)。要建立连接,我必须在应用程序中手动设置代理设置

System.setProperty("http.proxyHost",host);
System.setProperty("http.proxyPort",port);
此问题与以下问题重复:

对我来说,web服务实际上构建得很好——存根方法会超时

如果你有类似的问题-

尝试从web浏览器访问WSDL-如果可以访问它,请进入高级网络设置以获取主机和端口代理设置


如果您无法从web浏览器访问它,则可能存在防火墙问题(您可能需要Cvent将您的IP列为白名单)

我会先给Axis一个失误。最近的更新是12年前根据。用CXF试试看它是否管用。@Namphibian——我也用过CXF——但这是一个安全问题,我仍然把头撞在墙上。谢谢你的建议,因为你对axis的年龄完全正确。
System.setProperty("http.proxyHost",host);
System.setProperty("http.proxyPort",port);