簡體   English   中英

如何使用CXF.xml更改org.apache.cxf.stax.maxTextLength

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM