间歇性javax.xml.ws.soap.SOAPFaultException:不合格{http://schemas.xmlsoap.org/soap/envelope/}客户过失

间歇性javax.xml.ws.soap.SOAPFaultException:不合格{http://schemas.xmlsoap.org/soap/envelope/}客户过失,java,jboss,jbossws,solaris-10,Java,Jboss,Jbossws,Solaris 10,我们使用的是JBossWS-Native(版本3.1.2)(标准JBoss EAP 5.1安装),我们间歇性地遇到以下异常…,有人知道了吗 如果我通过对webservice的一些调用进行测试,它工作得很好,但是一旦部署到生产环境中,我们就会看到这个错误。。大多数情况下,它工作正常。。但有时我们会看到这个错误 我估计大约有10%的web服务调用会遇到此错误 web服务客户端是使用wsconsume 2011-11-17 09:35:05,652 ERROR [org.jboss.ws.core.C

我们使用的是
JBossWS-Native(版本3.1.2)
(标准JBoss EAP 5.1安装),我们间歇性地遇到以下异常…,有人知道了吗

如果我通过对webservice的一些调用进行测试,它工作得很好,但是一旦部署到生产环境中,我们就会看到这个错误。。大多数情况下,它工作正常。。但有时我们会看到这个错误

我估计大约有10%的web服务调用会遇到此错误

web服务客户端是使用
wsconsume

2011-11-17 09:35:05,652 ERROR [org.jboss.ws.core.CommonClient] (ajp-10.1.75.243-8209-5) Exception caught while (preparing for) performing the invocation:
javax.xml.ws.soap.SOAPFaultException: Unqualified {http://schemas.xmlsoap.org/soap/envelope/}Client fault
    at org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS.getSOAPFaultException(SOAPFaultHelperJAXWS.java:85)
    at org.jboss.ws.core.jaxws.binding.SOAP11BindingJAXWS.throwFaultException(SOAP11BindingJAXWS.java:107)
    at org.jboss.ws.core.CommonSOAPBinding.unbindResponseMessage(CommonSOAPBinding.java:558)
    at org.jboss.ws.core.CommonClient.invoke(CommonClient.java:396)
    at org.jboss.ws.core.jaxws.client.ClientImpl.invoke(ClientImpl.java:231)
    at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:171)
    at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:157)
    at $Proxy234.searchCustomerIdEquip(Unknown Source)

这是我为解决这个问题所做的

第一步

我将Solaris Java版本从
1.6.0\u 23
升级到
1.6.0\u 27
。升级后,异常从
javax.xml.ws.soap.SOAPFaultException更改为

ERROR [org.jboss.ws.core.CommonClient] (ajp-10.1.75.243-8109-4) Exception caught while (preparing for) performing the invocation:
javax.xml.ws.soap.SOAPFaultException: Unqualified {http://schemas.xmlsoap.org/soap/envelope/}Client fault
    at org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS.getSOAPFaultException(SOAPFaultHelperJAXWS.java:85)
    at org.jboss.ws.core.jaxws.binding.SOAP11BindingJAXWS.throwFaultException(SOAP11BindingJAXWS.java:107)
    at org.jboss.ws.core.CommonSOAPBinding.unbindResponseMessage(CommonSOAPBinding.java:558)
    at org.jboss.ws.core.CommonClient.invoke(CommonClient.java:396)
    at org.jboss.ws.core.jaxws.client.ClientImpl.invoke(ClientImpl.java:231)
    at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:171)
    at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:157)
java.io.IOException

[org.jboss.ws.core.CommonClient] (ajp-10.1.75.243-8109-1) Exception caught while (preparing for) performing the invocation:
java.io.IOException: Could not transmit message
    at org.jboss.ws.core.client.HTTPRemotingConnection.invoke(HTTPRemotingConnection.java:253)
    at org.jboss.ws.core.client.SOAPProtocolConnectionHTTP.invoke(SOAPProtocolConnectionHTTP.java:71)
    at org.jboss.ws.core.CommonClient.invoke(CommonClient.java:360)
    at org.jboss.ws.core.jaxws.client.ClientImpl.invoke(ClientImpl.java:231)
    at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:171)
    at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:157)
第二步

在得到IOException后,我意识到我们的负载平衡器可能不允许分块编码。。因此,我更改了Jboss配置,使其不使用分块编码,请编辑下面的文件

jboss-eap-5.1.0.GA/jboss-as/server/<instance>/deployers/jbossws.deployer/META-INF/standard-jaxws-client-config.xml
jboss-eap-5.1.0.GA/jboss-as/server//deployers/jbossws.deployer/META-INF/standard-jaxws-client-config.xml
。。并设置
http://org.jboss.ws/http#chunksize
2048
0

成功了!。。我们不再有例外