我有一个像字符串一样的网络服务原始消息。我的目标是更改此消息内容,例如再见!改变再见!!。让我知道是否有任何 api/utils 方法可以完成这项工作。我正在使用带有 cxf 堆栈的 jboss 5,因此为此首选 cxf 实用程序。
原始 XML 字符串
再见!!
我有一个像字符串一样的网络服务原始消息。我的目标是更改此消息内容,例如再见!改变再见!!。让我知道是否有任何 api/utils 方法可以完成这项工作。我正在使用带有 cxf 堆栈的 jboss 5,因此为此首选 cxf 实用程序。
原始 XML 字符串
再见!!
您必须添加一个输出拦截器
例如 :
public class SoapActionOutInterceptor extends AbstractSoapInterceptor {
public SoapActionOutInterceptor() {
super(Phase.POST_LOGICAL);
}
public void handleMessage(SoapMessage message) throws Fault {
if (message.getVersion() instanceof Soap11) {
PocBean pb = null;
MessageContentsList list = (MessageContentsList) message.getContent(List.class);
for (Iterator itList = list.iterator(); itList.hasNext();) {
Object content = itList.next();
if (content instanceof PocBean) {
pb = (PocBean) content;
pb.setParam1("AlteredGoodbye!!");
}
}
}
}
}
并像这样声明这个拦截器:
<jaxws:endpoint id="pocWebService" implementor="#pocService"
address="/pocService">
<jaxws:properties>
<entry key="schema-validation-enabled" value="true" />
</jaxws:properties>
<jaxws:outInterceptors>
<bean class="fr.genybet.service.interceptor.SoapActionOutInterceptor" />
</jaxws:outInterceptors>
</jaxws:endpoint>