如何打印SOAP请求消息?

时间:2013-04-23 11:24:13

标签: java web-services soap cxf soap-client

如何打印发送到Web服务(CXF2)的SOAP请求消息?我正在使用Eclipse。

我想查看它包含哪些字段,并按照此结构构建SOAP消息。

1 个答案:

答案 0 :(得分:0)

您只需添加一个LoggingInterceptor:请参阅cxf documentation

Object implementor = new GreeterImpl();
EndpointImpl ep = (EndpointImpl) Endpoint.publish("http://localhost/service", implementor);

ep.getServer().getEndpoint().getInInterceptors().add(new LoggingInInterceptor());
ep.getServer().getEndpoint().getOutInterceptors().add(new LoggingOutInterceptor())

或者如果您使用Springframework

<bean id="quickFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
    <property name="serviceClass" value="com.misc.PortType"/>
    <property name="address" value="${service.url}"/>
    <property name="inInterceptors">
        <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
    </property>
    <property name="outInterceptors">
        <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
    </property>
</bean>