问题描述
一个提供程序公开了一个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}
按照以下链接参考。