Products | Versions |
---|---|
TIBCO ActiveMatrix BusinessWorks | - |
Not Applicable | - |
Resolution:
Description:
============
An Axis client sends a SOAP request with multiRef tags in the body. BW SOAP/Service cannot decode the message and throws an "output data invalid" error.
Enviroment:
===========
All versions of BW
All OS
Resolution:
===========
If multiRef is enabled in Axis, Axis generates a SOAP message similar to the following:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns1:Notification xmlns:ns1="http://InputMessageNamespace" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<NotificationRequestType xmlns="" href="#id0"/>
</ns1:Notification>
<multiRef xmlns="" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="..." id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:NotificationRequestType">
<ClientInfo xmlns="" href="#id1"/>
<Notification xmlns="" href="#id2"/>
</multiRef>
<multiRef id="id2">
</multiRef>
</soapenv:Body>
</soapenv:Envelope>
BW cannot deserialize the message because of the <multiRef> tag. BW throws "output data invalid" and com.tibco.xml.validation.exception.d: unexpected content "ClientInfo" error.
There is no option in BW to make the request pass through BW. The user should disable multiRef on the Axis side.