我正在使用Coldfusion 10构建SOAP Web服务,我在IIS 7.5上运行,Coldfusion通过AJP 1.3连接器连接到独立的Java Tomcat服务器。
我的服务器将接受的SOAP请求大小似乎是4-8KB限制,如果超过该限制,则重置连接 - 不会显示错误。
但在我的CF日志中,我得到了:
The fault returned when invoking the web service operation is:<br> <pre>org.apache.axis2.AxisFault: Connection reset at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:197) at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:402) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:231) at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:443) at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:406) at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229) at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165) at reverserisk_ncm.Reverserisk_ncmStub.dumpHeader(Reverserisk_ncmStub... The specific sequence of files included or processed is: C:\rr1.5\Clarence\webservice\test_ncm.cfm, line: 36
我尝试了一些事情,首先我确保它是一个尺寸限制,添加睡眠30秒产生相同的结果,然后我尝试:
如果有人遇到类似的问题,那就太棒了,我知道这也可能是一个ServerFault问题 - 但希望有人在CF上做过类似的东西,谢谢!
答案 0 :(得分:0)
只是想知道,你需要Axis 2吗?你能试试Axis 1,看看会发生什么? CF 10将允许您在管理界面中更改该设置。
我建议的另一件事是拖尾CF的日志并观察当发生这种情况时是否有任何消息报告给控制台。
以下是其他一些要测试的内容:
1)如果您不拥有要连接的Web服务,请尝试下载WSDL并将其与您自己的CFC相关联。 CFC不必具有任何实现,我们只是想知道在不调用其他服务时是否可以获得不同的错误。
2)你能缩小问题的大小吗?例如,如果你调整WSDL的大小以使其足够小以使其工作,然后慢慢调整它的大小越来越大,你能找到WSDL的大小总是会导致你的问题吗?
3)您是否尝试删除CF创建的Web服务代理?我认为它们属于{coldfusion10} / cfusion / wwwroot / WEB-INF / cfclasses。
基本上,我认为你需要找到一种超越沉默失败的方法,以获得更多信息。
答案 1 :(得分:0)
你能尝试带附件的SOAP(saaj)??
如果您的SOAP envolope可以将数据作为附件,您可以拆分肥皂消息,如
1.Meta数据(在SOAP Envolope中)
2.Data(content)as SOAP attachement
我不知道CF的可能性,但是使用支持SOAP 1.2的工具应该这样做。