Apache CXF 3.16 soap客户端 - 文件过早结束

时间:2016-06-07 08:45:21

标签: java spring cxf

我正在使用Apache CXF 3.16开发SOAP客户端。当我执行我的客户端时,wildfly服务器响应文件的过早结束。我需要找出这个截断发生的位置所以我使用了fiddler并设置了一个代理来捕获请求,但突然之间错误就消失了。任何人都可以解释发生了什么,我应该怎么做才能解决CXF的这个问题?

此致

与小提琴手:

ID: 1

地址:http://localhost:8080/iam/im/TEWS6/sbxd 编码:UTF-8 Http-Method:POST 内容类型:text / xml

标题:{Accept = [ / ],SOAPAction = [" KMDCreateHRSoap"]}

ID:1 响应代码:200 编码:UTF-8 Content-Type:text / xml; charset = utf-8 标题:{connection = [keep-alive],Content-Length = [556],content-type = [text / xml; charset = utf-8],Date = [Tue,07 Jun 2016 07:57:36 GMT] ,Server = [WildFly / 8],Set-Cookie = [JSESSIONID = jnbJb_S4XZDJp-mM8XqW513q.idmapp0002; path = / iam / im],X-Powered-By = [Undertow / 1]}

没有Fiddler:

ID:1 地址:http://localhost:8080/iam/im/TEWS6/sbxd 编码:UTF-8 Http-Method:POST 内容类型:text / xml 标题:{Accept = [ / ],SOAPAction = [" KMDCreateHRSoap"]} 有效载荷:

ID:1 响应代码:500 编码:UTF-8 Content-Type:text / xml; charset = utf-8 标题:{connection = [keep-alive],Content-Length = [983],content-type = [text / xml; charset = utf-8],Date = [Tue,07 Jun 2016 08:03:50 GMT] ,Server = [WildFly / 8],Set-Cookie = [JSESSIONID = OnQoW3wBypZGI8qLWrjZ9lcs.idmapp0002; path = / iam / im],X-Powered-By = [Undertow / 1]}

2 个答案:

答案 0 :(得分:0)

我担心这个答案不符合您的口味,但您的问题似乎源于cxf的一些安全功能。由于许多攻击都使用了大量的SOAP请求(极大的元素名称,内容等),因此允许和不允许存在某些限制。您可以在cxf-site上找到有关这些限制的详细信息。

也许你可以尝试在wildfly-startup期间将提到的属性设置为系统属性。

答案 1 :(得分:0)

原因是soap请求被分块,即使我已将allowchunk设置为false,但它帮助将autoredirect设置为false并将soap协议设置为1.2而不是1.1。 thx所有的帮助!