Parsing Error from TIBCO BC SOAP protocol (prefix "ns2" for element "ns2:Slot" is not bound).

Parsing Error from TIBCO BC SOAP protocol (prefix "ns2" for element "ns2:Slot" is not bound).

book

Article ID: KB0093623

calendar_today

Updated On:

Products Versions
TIBCO BusinessConnect SOAP Protocol -
Not Applicable -

Description

Description:
When sending a SOAP message from BusinessWorks to BusinessConnect via the Send Request task, the namespaces are being removed in the body by the BusinessConnect SOAP protocol.


Symptoms:
When sending the following message from BusinessWorks to BusinessConnect:

    <ns2:Slot name = "esMDTransactionId" xmlns:ns2 = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0">
                    <ns2:ValueList>
                        <ns2:Value>00000000</ns2:Value>
                    </ns2:ValueList>
                </ns2:Slot>
                <ns2:Slot name = "esMDClaimId" xmlns:ns2 = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0">
                    <ns2:ValueList>
                        <ns2:Value>ClaimID 123456789012345</ns2:Value>
                    </ns2:ValueList>
                </ns2:Slot>
                <ns2:Slot name = "esMDCaseId" xmlns:ns2 = "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0">
                    <ns2:ValueList>
                        <ns2:Value>CaseID 123456789012345</ns2:Value>
                    </ns2:ValueList>
                </ns2:Slot>

BC reformats the message in the outbound SOAP message without the namespaces (in the REQUEST_SEND_TO_TP state) :

   <ns2:Slot xmlns:ns2="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" name="esMDTransactionId">
                <ns2:ValueList xmlns:ns2="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0">
                    <ns2:Value xmlns:ns2="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0">00000000</ns2:Value>
                </ns2:ValueList>
            </ns2:Slot>
            <ns2:Slot name="esMDClaimId">
                <ns2:ValueList>
                    <ns2:Value>ClaimID 123456789012345</ns2:Value>
                </ns2:ValueList>
            </ns2:Slot>

The validate request option at BC has no effect.


Cause:
Incorrect parser version in the underlying TRA environment. A change request has been filed to address this issue.

Issue/Introduction

Parsing Error from TIBCO BC SOAP protocol (prefix "ns2" for element "ns2:Slot" is not bound).

Resolution

As a workaround, configure the TRA file for the Interior Server to use “com.sun.xml.internal.stream.XMLOutputFactoryImpl” instead of “com.ctc.wstx.stax.WstxOutputFactory”:

Modify the deployed TRA file as follows (back up the original before modifying):

1).   Find the following section:

# Set the StAX Parser factories to use

java.property.javax.xml.stream.XMLInputFactory=com.ctc.wstx.stax.WstxInputFactory

java.property.javax.xml.stream.XMLOutputFactory=com.ctc.wstx.stax.WstxOutputFactory

java.property.javax.xml.stream.XMLEventFactory=com.ctc.wstx.stax.WstxEventFactory

2.  Change as follows: =================================================================================

# Set the StAX Parser factories to use

java.property.javax.xml.stream.XMLInputFactory=com.ctc.wstx.stax.WstxInputFactory

java.property.javax.xml.stream.XMLOutputFactory=com.sun.xml.internal.stream.XMLOutputFactoryImpl

java.property.javax.xml.stream.XMLEventFactory=com.ctc.wstx.stax.WstxEventFactory

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>  


3.  Save the file, and restart the engines.


Additional Information

BusinessConnect SOAP Protocol User's Guide