Coldfusion10を使用してSOAPWebサービスを構築しています。IIS7.5で実行しています。ColdfusionはAJP1.3コネクタを介してスタンドアロンのJavaTomcatサーバーに接続します。
サーバーが受け入れるSOAPリクエストのサイズに4〜8 KBの制限があるようですが、その制限を超えると、接続がリセットされます。エラーは表示されません。
しかし、私の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秒間スリープを追加しても同じ結果が得られたので、次のことを試しました。
- Coldfusionの最大POSTサイズデータセットが高い値に設定されている
- IISサーバー構成-system.web/httpRuntime.maxRequestLength->maxIntおよびsecurity.requestFilter.maxAllowedContentLength
- Apache Tomcat:conf /server.xml-AJP1.3コネクタmaxPostSize/maxSavePostSize値->2MB
- Axis2.xmlをHTTP/1.1からHTTP/1.0に変更して、転送エンコーディングの「チャンク」を強制的に無効にする-これはDDOS攻撃に対するセキュリティ機能である可能性があることを読みました
誰かが同様の問題に遭遇した場合、これもServerFaultの質問である可能性がありますが、CFでSOAPを実行している誰かが、同様の問題を目にしたことを願っています。ありがとうございます。