Varun Singhal
2018-11-20 18:12:05 UTC
Hi everyone,
Recently we migrated from CXF2.2.2 and post that it became mandatory for the SOAP RQ to send <wsa:MessageID> tag.
Unfortunately our customers are not doing that currently.
So as a workaround, i had thought of intercepting the SOAP RQ and insert a bogus <wsa:MessageID>
I used the following config to do so
<jaxws:endpoint ..>
<jaxws:inInterceptors>
<bean id="inTransformInterceptor"
class="org.apache.cxf.interceptor.transform.TransformInInterceptor">
<constructor-arg type="java.lang.String"
value="receive" />
<property name="inAppendElements">
<map>
<!-- insert a unspecified wsa:MessageID -->
<entry
key="{http://schemas.xmlsoap.org/soap/envelope/}Header/"
value="{http://schemas.xmlsoap.org/ws/2004/08/addressing}MessageID=http://www.w3.org/2005/08/addressing/unspecified" />
</map>
</property>
</bean>
</jaxws:inInterceptors>
</jaxws:endpoint>
Even after doing this i am still receiving
22:59:24,004 WARNING [org.apache.cxf.phase.PhaseInterceptorChain] (http-127.0.0.1:8080-1) Interceptor for {WebserviceUrl}invoke has thrown exception, unwinding now: org.apache.cxf.binding.soap.SoapFault: A required header representing a Message Addressing Property is not present
at org.apache.cxf.ws.addressing.impl.MAPAggregatorImpl.mediate(MAPAggregatorImpl.java:506) [cxf-rt-ws-addr-3.2.7.jar:3.2.7]
Can anyone advise me why is this, am i doing something wrong ? is it a bug ?
thanks !
Similar issue : http://mail-archives.apache.org/mod_mbox/cxf-users/201202.mbox/%***@INHYMS110B.ca.com%3E
Warm Regards,
Varun SINGHAL
Recently we migrated from CXF2.2.2 and post that it became mandatory for the SOAP RQ to send <wsa:MessageID> tag.
Unfortunately our customers are not doing that currently.
So as a workaround, i had thought of intercepting the SOAP RQ and insert a bogus <wsa:MessageID>
I used the following config to do so
<jaxws:endpoint ..>
<jaxws:inInterceptors>
<bean id="inTransformInterceptor"
class="org.apache.cxf.interceptor.transform.TransformInInterceptor">
<constructor-arg type="java.lang.String"
value="receive" />
<property name="inAppendElements">
<map>
<!-- insert a unspecified wsa:MessageID -->
<entry
key="{http://schemas.xmlsoap.org/soap/envelope/}Header/"
value="{http://schemas.xmlsoap.org/ws/2004/08/addressing}MessageID=http://www.w3.org/2005/08/addressing/unspecified" />
</map>
</property>
</bean>
</jaxws:inInterceptors>
</jaxws:endpoint>
Even after doing this i am still receiving
22:59:24,004 WARNING [org.apache.cxf.phase.PhaseInterceptorChain] (http-127.0.0.1:8080-1) Interceptor for {WebserviceUrl}invoke has thrown exception, unwinding now: org.apache.cxf.binding.soap.SoapFault: A required header representing a Message Addressing Property is not present
at org.apache.cxf.ws.addressing.impl.MAPAggregatorImpl.mediate(MAPAggregatorImpl.java:506) [cxf-rt-ws-addr-3.2.7.jar:3.2.7]
Can anyone advise me why is this, am i doing something wrong ? is it a bug ?
thanks !
Similar issue : http://mail-archives.apache.org/mod_mbox/cxf-users/201202.mbox/%***@INHYMS110B.ca.com%3E
Warm Regards,
Varun SINGHAL