gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 13:02:03 26 4
gpt4 key购买 nike

我遇到了以下错误:

java.util.concurrent.ExecutionException: javax.xml.ws.soap.SOAPFaultException: Unmarshalling Error: Text size limit (134217728) exceeded

这只是说明通过 SOAP Web 服务存在最大文本大小限制。根据Securing CXF Services文档中,可以在 CXF.xml 文件中定义以下属性:

org.apache.cxf.stax.maxTextLength

我的问题是怎么做?应该写在文件的什么地方?

我是 Java 新手,谢谢您的帮助

最佳答案

也许为时已晚......:)

对我来说,这在 JBoss EAP 6.4 上有效:

首先,在 WEB-INF/ 中创建一个名为 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匹配。

这对我有用

关于java - 如何使用 CXF.xml 更改 org.apache.cxf.stax.maxTextLength,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40103902/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com