Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CXF JAVA消息被截断_Java_Tomcat7_Cxf_Truncated - Fatal编程技术网

CXF JAVA消息被截断

CXF JAVA消息被截断,java,tomcat7,cxf,truncated,Java,Tomcat7,Cxf,Truncated,下午好 我在GNU/Linux CentOS 6.6 Final下运行Apache Tomcat 7.0.57,并使用以下JAVA选项: -server\ -Xms512m\ -Xmx512m\ -XX:MaxPermSize=256m\ -XX:MaxNewSize=160m\ -XX:NewSize=160m\ -XX:SurvivorRatio=128\ -XX:MaxTenuringThreshold=0\ -XX:+UseConcMarkSweepGC\ -XX:+CMSIncreme

下午好

我在GNU/Linux CentOS 6.6 Final下运行Apache Tomcat 7.0.57,并使用以下JAVA选项:

-server\
-Xms512m\
-Xmx512m\
-XX:MaxPermSize=256m\
-XX:MaxNewSize=160m\
-XX:NewSize=160m\
-XX:SurvivorRatio=128\
-XX:MaxTenuringThreshold=0\
-XX:+UseConcMarkSweepGC\
-XX:+CMSIncrementalMode\
-XX:+CMSIncrementalPacing\
-XX:+CMSClassUnloadingEnabled\
-XX:+DisableExplicitGC\
-XX:+UseParNewGC\
-XX:+UseTLAB\
-Djava.net.preferIPv4Stack=true\
-Djava.net.preferIPv4Addresses\
-Dgrails.env=prod\
-Dspring.profiles.active=prod\
-Dport-offset=0\
-Dajp.port=8009\
-Dhttp.port=8080\
-Dhttp.maxthreads=457\
-Dshutdown.port=8005\
-Dcom.sun.xml.ws.transport.http.client.HttpTransportPipe.dump=true
并且日志文件具有以下内容:

Inbound Message
----------------------------
ID: 66210
Response-Code: 200
Encoding: ISO-8859-1
Content-Type: text/xml
Headers: {Content-Length=[6693], content-type=[text/xml]}
Messages:
Message (saved to tmp file):
Filename: /usr/local/services/tomcat_02/temp/cxf-tmp-720465/cos4330744862698212100tmp
(message truncated to 65536 bytes)

Payload: <?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
入站消息
----------------------------
身份证号码:66210
响应代码:200
编码:ISO-8859-1
内容类型:text/xml
标题:{Content Length=[6693],Content type=[text/xml]}
信息:
消息(保存到tmp文件):
文件名:/usr/local/services/tomcat_02/temp/cxf-tmp-720465/cos4330744868269821200tmp
(消息被截断为65536字节)

有效负载:尝试将LoggingOutInterceptor的限制设置为更大的大小。 在某些版本的cxf api中,此限制设置为默认大小100*1024

private int limit = 100 * 1024;
如果您希望获得整个消息,应将其设置为
-1
在春天,情况会是这样:

<property name="limit" value="-1"/>


CXF选项
loggingSizeLimit=“-1”
将阻止消息被截断。

如果您只想检查内部内容,请在CXF的LoggingOutiterCeptor/LogginInInterceptor类中的

(消息被截断为“+limit+”字节)


并复制输出/输入流的内容

对于在Spring中使用CXF的用户,解决方案是使用construcotr arg参数声明用于loggingInInterceptor或loggingOutInterceptor的bean,方法如下:

<bean id="loggingInInterceptor" class="org.apache.cxf.interceptor.LoggingInInterceptor" parent="abstractLoggingInterceptor">
    <constructor-arg name="lim" value="-1"/>
</bean>

通过这种方式,拦截器是使用构造函数创建的,该构造函数为日志限制设置了一个自定义值。
消息不会被任何负值截断。

但是它应该放在哪个文件中的属性?在什么标签下?谢谢你可以直接在构造函数-LoggingOutinerCeptor(int lim)中设置它,或者使用setLimit方法-public void setLimit(int lim)在不修改代码的情况下,无法将其放入配置文件中?是的,你可以,但我不知道你使用的是什么框架:Spring、ApacheAries、Guice等等?你的配置文件看起来怎么样?嗨@panagdu,我的拦截器也面临同样的问题,它扩展了LoggingOutinerCeptor。消息在49149个空格后被传送。我应该在子类构造函数中使用super(-1)吗?应该在哪里添加该选项?ThanksIt取决于,如果您使用注释来定义您的服务,请使用注释:@Logging(limit=-1,inLocation=“”)使用Spring: