3

下午好,

我在 GNU/Linux CentOS 6.6 Final 和这个 JAVA_OPTS 下运行 Apache Tomcat 7.0.57:

-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/"

我可以做些什么来增加消息的字节数?

谢谢!

4

4 回答 4

2

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

private int limit = 100 * 1024;

如果你想拥有整个消息,你应该将它设置为-1 In Spring,它会是这样的:

<property name="limit" value="-1"/>
于 2015-01-19T16:47:17.807 回答
2

CXF 选项loggingSizeLimit="-1"将防止消息被截断。

于 2015-01-19T16:47:19.560 回答
1

对于在 Spring 中使用 CXF 的人,解决方案是使用 contrucotr-arg 参数为 loggingInInterceptor 或 loggingOutInterceptor 声明 bean,方式如下:

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

这样,拦截器是使用为日志限制设置自定义值的构造函数创建的。消息不会被任何负值截断。

于 2019-04-19T15:47:53.870 回答
0

如果您只想检查里面的内容 - 在 CXF 的 LoggingOutInterceptor / LogginInInterceptor 类中放置一个断点,靠近

(message truncated to " + limit + " bytes)

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

于 2016-05-17T11:22:32.300 回答