Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
3.0, 3.0.1, 3.1
-
None
-
None
-
Tested with Tibco EMS as jms server and Tibco Business works as system providing the service. The error should also occur with ActiveMQ.
-
Patch Available
Description
When tibco is the client all works well but when tibco implements the service it rejects the soap/jms message as it wants the SoapAction jms property to be set.
I have added a dummy SoapAction in StandardProviderProcessor:
...
MessageProducer producer = session.createProducer(destination);
TextMessage msg = session.createTextMessage();
NormalizedMessage nm = exchange.getMessage("in");
fromNMS(nm, msg);
String soapAction = "default";
msg.setStringProperty("SoapAction", soapAction);
...
I was able to do a complete request/reply with tibco in this way. Of course the "default" SoapAction will only help if my service has only one method.
From what I see in Tibco the SoapAction should at least contain the method name of the service being called.
The servicemix-jms component should by default set this property to make it more compatible with other soap/jms compatible systems.