如何解决javax.xml.ws.WebServiceException:无法发送消息| java.net.ConnectException:调用xxx的ConnectException:连接超时:connect
一个提供程序公开了一个Web服务,我从WSDL创建了一个Java客户端,并在cacerts和keystore中配置了所有证书以确保安全,在我的计算机上一切正常,客户要求在其Windows机器之一中部署客户端,但是我无法运行它,因为运行代码时出现错误。在这台机器上,有活动的防火墙,forescout,卡巴斯基防病毒软件和网络代理,因此我认为其中一些可能会阻止连接,甚至ping端点也会失败(在我的计算机上,我没有任何这些工具,只有Internet连接) 令人惊讶的是,我可以在他们的计算机上从SOAPUI调用服务,这让我有些困惑。我想问问是否有人可能会出问题。.预先感谢。
2020-08-30 13:18:27 DEBUG (PhaseInterceptorChain.java:305) - Invoking handleMessage on interceptor org.apache.cxf.ws.policy.PolicyVerificationOutInterceptor@61884cb1
2020-08-30 13:18:27 DEBUG (PolicyVerificationOutInterceptor.java:78) - Verified policies for outbound message.
2020-08-30 13:18:27 DEBUG (PhaseInterceptorChain.java:305) - Invoking handleMessage on interceptor org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor$SoapOutEndingInterceptor@423e4cbb
2020-08-30 13:18:27 DEBUG (PhaseInterceptorChain.java:305) - Invoking handleMessage on interceptor org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor$SAAJOutEndingInterceptor@545de5a4
2020-08-30 13:18:27 DEBUG (PhaseInterceptorChain.java:305) - Invoking handleMessage on interceptor org.apache.cxf.interceptor.StaxOutEndingInterceptor@acb0951
2020-08-30 13:18:27 DEBUG (PhaseInterceptorChain.java:305) - Invoking handleMessage on interceptor org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor@1d7f7be7
2020-08-30 13:18:27 DEBUG (Headers.java:320) - Accept: */*
2020-08-30 13:18:27 DEBUG (Headers.java:320) - Authorization: ***
2020-08-30 13:18:27 DEBUG (Headers.java:320) - Connection: Keep-Alive
2020-08-30 13:18:27 DEBUG (HTTPConduit.java:1814) - No Trust Decider for Conduit '{xxx}'. An affirmative Trust Decision is assumed.
2020-08-30 13:18:48 DEBUG (PhaseInterceptorChain.java:496) - Invoking handleFault on interceptor org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor@1d7f7be7
2020-08-30 13:18:48 DEBUG (PhaseInterceptorChain.java:496) - Invoking handleFault on interceptor org.apache.cxf.interceptor.StaxOutEndingInterceptor@acb0951
2020-08-30 13:18:48 DEBUG (PhaseInterceptorChain.java:496) - Invoking handleFault on interceptor org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor$SAAJOutEndingInterceptor@545de5a4
2020-08-30 13:18:48 DEBUG (PhaseInterceptorChain.java:496) - Invoking handleFault on interceptor org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor$SoapOutEndingInterceptor@423e4cbb
2020-08-30 13:18:48 DEBUG (PhaseInterceptorChain.java:496) - Invoking handleFault on interceptor org.apache.cxf.ws.policy.PolicyVerificationOutInterceptor@61884cb1
2020-08-30 13:18:48 DEBUG (PhaseInterceptorChain.java:496) - Invoking handleFault on interceptor org.apache.cxf.ws.security.wss4j.PolicyBasedWSS4JOutInterceptor$PolicyBasedWSS4JOutInterceptorInternal@3faf2e7d
2020-08-30 13:18:48 DEBUG (PhaseInterceptorChain.java:496) - Invoking handleFault on interceptor org.apache.cxf.binding.soap.interceptor.RPCOutInterceptor@3cfdd820
2020-08-30 13:18:48 DEBUG (PhaseInterceptorChain.java:496) - Invoking handleFault on interceptor org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor@e25951c
2020-08-30 13:18:48 DEBUG (PhaseInterceptorChain.java:496) - Invoking handleFault on interceptor org.apache.cxf.ws.security.wss4j.PolicyBasedWSS4JOutInterceptor@2e11485
2020-08-30 13:18:48 DEBUG (PhaseInterceptorChain.java:496) - Invoking handleFault on interceptor org.apache.cxf.interceptor.StaxOutInterceptor@6b0d80ed
2020-08-30 13:18:48 DEBUG (PhaseInterceptorChain.java:496) - Invoking handleFault on interceptor org.apache.cxf.ws.security.wss4j.PolicyBasedWSS4JStaxOutInterceptor@60dce7ea
2020-08-30 13:18:48 DEBUG (PhaseInterceptorChain.java:496) - Invoking handleFault on interceptor org.apache.cxf.interceptor.AttachmentOutInterceptor@452e19ca
2020-08-30 13:18:48 DEBUG (PhaseInterceptorChain.java:496) - Invoking handleFault on interceptor org.apache.cxf.interceptor.MessageSenderInterceptor@64ec96c6
2020-08-30 13:18:48 DEBUG (PhaseInterceptorChain.java:496) - Invoking handleFault on interceptor org.apache.cxf.binding.soap.interceptor.SoapPreProtocolOutInterceptor@928763c
2020-08-30 13:18:48 DEBUG (PhaseInterceptorChain.java:496) - Invoking handleFault on interceptor org.apache.cxf.ws.security.policy.interceptors.SecurityVerificationOutInterceptor@fd8294b
2020-08-30 13:18:48 DEBUG (PhaseInterceptorChain.java:496) - Invoking handleFault on interceptor org.apache.cxf.binding.soap.interceptor.SoapHeaderOutFilterInterceptor@6f8e8894
2020-08-30 13:18:48 DEBUG (PhaseInterceptorChain.java:496) - Invoking handleFault on interceptor org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor@456d6c1e
2020-08-30 13:18:48 DEBUG (PhaseInterceptorChain.java:496) - Invoking handleFault on interceptor org.apache.cxf.jaxws.interceptors.SwAOutInterceptor@77659b30
2020-08-30 13:18:48 DEBUG (PhaseInterceptorChain.java:496) - Invoking handleFault on interceptor org.apache.cxf.jaxws.interceptors.HolderOutInterceptor@1e13529a
2020-08-30 13:18:48 DEBUG (PhaseInterceptorChain.java:496) - Invoking handleFault on interceptor org.apache.cxf.ws.policy.PolicyOutInterceptor@1b410b60
2020-08-30 13:18:48 WARN (LogUtils.java:475) - Interceptor for {xxx} has thrown exception,unwinding now
org.apache.cxf.interceptor.Fault: Could not send Message.
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:67)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:530)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:441)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:356)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:314)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:140)
at com.sun.proxy.$Proxy35.deleteBook(Unknown Source)
at it.main.MyMain.main(MyMain.java:65)
Caused by: java.net.ConnectException: ConnectException invoking xxx: Connection timed out: connect
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:1400)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1384)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:671)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:63)
... 9 more
Caused by: java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.waitForConnect(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.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.<init>(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.New(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(Unknown Source)
at org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.setupWrappedStream(URLConnectionHTTPConduit.java:274)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleHeadersTrustCaching(HTTPConduit.java:1343)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.onFirstWrite(HTTPConduit.java:1304)
at org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.onFirstWrite(URLConnectionHTTPConduit.java:307)
at org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:47)
at org.apache.cxf.io.AbstractThresholdOutputStream.write(AbstractThresholdOutputStream.java:69)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1356)
... 12 more
2020-08-30 13:18:48 ERROR (MyMain.java:77) - javax.xml.ws.WebServiceException: Could not send Message.
解决方法
我也遇到了同样的问题。在花费大量时间并在谷歌中搜索错误之后。我终于找到了一个解决方案,它对我有用。我希望它也适用于您。
我能够通过编辑 standalone-full.xml 来解决它。
{code:xml}
<modify-wsdl-address>true</modify-wsdl-address>
<wsdl-host>your server ip</wsdl-host>
<endpoint-config name="Standard-Endpoint-Config"/>
<endpoint-config name="Recording-Endpoint-Config">
<pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM">
<handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/>
</pre-handler-chain>
</endpoint-config>
{code:xml}
修改后,我重新启动了我的服务器和使用我的 ip 生成的 WSDL 文件,如下所示
{code:xml}
<wsdl:service name="AppointmentFacadeService">
<wsdl:port binding="tns:AppointmentFacadeServiceSoapBinding" name="AppointmentFacadePort">
<soap:address location="http://server_ip:port/wsServe/AppointmentFacade"/>
</wsdl:port>
</wsdl:service>
{code:xml}
按照以下链接参考。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。