Axis 2 SOAP调用使用CF/AJP 1.3/IIS 7.5达到4KB限制

Cla*_*Liu 5 iis coldfusion soap axis2

我正在使用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
Run Code Online (Sandbox Code Playgroud)

我尝试了一些事情,首先我确保它是一个大小限制,添加睡眠30秒产生相同的结果,所以我尝试:

  1. Coldfusion Max POST大小数据设置为高值
  2. IIS服务器配置 - system.web/httpRuntime.maxRequestLength - > maxInt和security.requestFilter.maxAllowedContentLength
  3. Apache Tomcat:conf/server.xml - AJP 1.3连接器maxPostSize/maxSavePostSize值 - > 2MB
  4. 将Axis2.xml从HTTP/1.1更改为HTTP/1.0以强制禁用传输编码"chunked" - 我读到这可能是针对DDOS攻击的安全功能

如果有人遇到类似的问题,那就太棒了,我知道这也可能是一个ServerFault问题 - 但希望有人在CF上做过类似的东西,谢谢!

Dou*_*hes 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 下。

基本上,我认为你需要找到一种方法来克服无声的失败,获得更多信息。