[英]How to change org.apache.cxf.stax.maxTextLength using CXF.xml
我遇到以下錯誤:
java.util.concurrent.ExecutionException:javax.xml.ws.soap.SOAPFaultException:Unmarshalling Error:超出文本大小限制(134217728)
它簡單地說通過SOAP Web服務存在最大文本大小限制。 根據Securing CXF Services文檔,可以在CXF.xml文件中定義以下屬性:
org.apache.cxf.stax.maxTextLength
我的問題是如何做到這一點? 文件中的哪個位置應該寫出來?
我是Java的新手,謝謝你的幫助
也許現在為時已晚...... :)
對我來說,這適用於JBoss EAP 6.4:
首先,在WEB-INF /中創建一個nammed webservice-conf.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<jaxws-config xmlns="urn:jboss:jbossws-jaxws-config:4.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:javaee="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="urn:jboss:jbossws-jaxws-config:4.0 schema/jbossws-jaxws-config_4_0.xsd">
<endpoint-config>
<config-name>Sample</config-name>
<property>
<property-name>org.apache.cxf.stax.maxTextLength</property-name>
<property-value>268435456</property-value>
</property>
</endpoint-config>
</jaxws-config>
您可以通過設置org.apache.cxf.stax.maxTextLength的屬性值來指定最大大小,它以字節為單位。
然后,在您的Web服務實現上,添加@EndpointConfig注釋:
@WebService
@EndpointConfig(configName = "Sample", configFile = "WEB-INF/webservice-conf.xml")
public class SampleService implements ISampleService {
}
請注意,注釋中的configName值必須與XML文件中的config-name匹配。
它對我有用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.