Forum Discussion

FranckLucas's avatar
FranckLucas
New Contributor
14 years ago

WSDL 1.1 SoapAction for SOAP/JMS bindings

Hello,
version 3.5.1 of SOAPUI allows adding the SoapAction as a JMS property.

The implementation fills the value with the operation name, that seems to be in contradiction with SOAP/JMS specification W3C candidate Recommandation 4 June 2009 (http://www.w3.org/TR/2009/CR-soapjms-20090604).

My understanding of §3.4.3 is that the SoapAction definition found in binding part should be used.

Here is a snapshot of corresponding implementation from com.eviware.soapui.impl.wsdl.submit.transports.jms.HermesJmsRequestTransport:
   if( addSoapAction )
{
message.setStringProperty( JMSHeader.SOAPJMS_SOAP_ACTION, request.getOperation().getName() );
message.setStringProperty( JMSHeader.SOAP_ACTION, request.getOperation().getName() );
}

The implementation sends a non quoted JMS string property with the operation name.

I think that SOAPUI should send the same SoapAction value in case of HTTP transport, i.e. for instance as shown in SOAP 1.1 W3C Note 08 May 2000 §6.1.1 (http://www.w3.org/TR/2000/NOTE-SOAP-20000508/):
"http://electrocommerce.org/abc#MyMessage"
Please note the presence of " arround string.


The workaround we are currently using consists in disabling the 'Add SoapAction as property' checkbox and add a JMS property SoapAction with the soapAction defined in the binding part of the WSDL.

Best Regards,
Franck
No RepliesBe the first to reply