Print Page

Thursday, October 29, 2009

850 - 997 mapping for a invalid Business message

There will be a situation where lots of Purchase Orders would be sent across to the trading partner and every message would receive a functional acknowledgment back and sent to the back end application. Incase of few of the -ve functional acknowledgment being received, indicating that the original business was invalid also resulting in an exception being raised with the details of the associated business message which do not have any reference to the source of exception.


Oracle AS B2B, 10.1.2.3 MLR13 release provides an option to get the associated -ve functional acknowledgment while a exception message is retrieved from the queue.

This is achieved by enabling the tip.property oracle.tip.adapter.b2b.addCorrelatedFAInfoInExceptionXML=true

By default, the value will be false, to enable the existing users to have a seemless flow of message exchange.

The modified xsd is:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://integration.oracle.com/B2B/Exception" targetNamespace="http://integration.oracle.com/B2B/Exception">

<xs:element name="Exception">
<!--xs:complexType name="Exception"-->
<xs:complexType>
<xs:sequence>
<xs:element ref="correlationId"/>
<xs:element ref="b2bMessageId"/>
<xs:element ref="errorCode"/>
<xs:element ref="errorText"/>
<xs:element ref="errorDescription"/>
<xs:element ref="errorSeverity"/>
<xs:element ref="errorDetails" minOccurs="0" />
<xs:element ref="CorrelatedFAInfo" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>

<xs:element name="correlationId" type="xs:string"/>
<xs:element name="b2bMessageId" type="xs:string"/>
<xs:element name="errorCode" type="xs:string"/>
<xs:element name="errorText" type="xs:string"/>
<xs:element name="errorDescription" type="xs:string"/>
<xs:element name="errorSeverity" type="xs:string"/>
<xs:element name="errorDetails">
<xs:complexType>
<xs:sequence>
<xs:element ref="parameter" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="parameter">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="value" type="xs:string" use="required" />
</xs:complexType>
</xs:element>

<xs:element name="CorrelatedFAInfo">
<!--xs:complexType name="CorrelatedFAInfo"-->
<xs:complexType>
<xs:sequence>
<xs:element ref="faB2BMessageId"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="faB2BMessageId" type="xs:string"/>

</xs:schema>

No comments: