使用 CXF 的 SOAP 处理程序附件
Attachment with SOAP Handler using CXF
我正在尝试使用 Apache CXF 附加一个带有 SOAP 处理程序的文件,但它不起作用。
我的例子在这里
https://github.com/emag-notes/cxf-soaphandler-demo
在这个例子中,我使用 SAAJ API 来附加一个文件。
但是,SOAP 消息响应只是一个 SOAP 信封,而不是多部分(不是
包括我附加的文件)。
我错过了什么吗?此代码适用于 Apache Axis2。
虽然我知道使用 MTOM 是最好的选择,但我现在想使用我现有的代码 AMAP(我正在从 Axis2 迁移)。
虽然代码看起来不错,但我相信您需要启用 MTOM,即使您没有使用 MTOM 的全部功能。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws" xmlns:soap="http://cxf.apache.org/bindings/soap"
xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/bindings/soap http://cxf.apache.org/schemas/configuration/soap.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
<jaxws:server id="Downloader" serviceClass="cxf.soaphandler.Downloader" address="downloader">
<jaxws:serviceBean>
<bean class="cxf.soaphandler.Downloader">
</bean>
</jaxws:serviceBean>
<jaxws:binding>
<soap:soapBinding mtomEnabled="true" />
</jaxws:binding>
</jaxws:server>
</beans>
我正在尝试使用 Apache CXF 附加一个带有 SOAP 处理程序的文件,但它不起作用。
我的例子在这里
https://github.com/emag-notes/cxf-soaphandler-demo
在这个例子中,我使用 SAAJ API 来附加一个文件。
但是,SOAP 消息响应只是一个 SOAP 信封,而不是多部分(不是 包括我附加的文件)。
我错过了什么吗?此代码适用于 Apache Axis2。
虽然我知道使用 MTOM 是最好的选择,但我现在想使用我现有的代码 AMAP(我正在从 Axis2 迁移)。
虽然代码看起来不错,但我相信您需要启用 MTOM,即使您没有使用 MTOM 的全部功能。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws" xmlns:soap="http://cxf.apache.org/bindings/soap"
xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/bindings/soap http://cxf.apache.org/schemas/configuration/soap.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
<jaxws:server id="Downloader" serviceClass="cxf.soaphandler.Downloader" address="downloader">
<jaxws:serviceBean>
<bean class="cxf.soaphandler.Downloader">
</bean>
</jaxws:serviceBean>
<jaxws:binding>
<soap:soapBinding mtomEnabled="true" />
</jaxws:binding>
</jaxws:server>
</beans>