SiebelMessage Type XMLs Are Not Being Consumed By Siebel Over RestAPI (Doc ID 2243495.1)

Last updated on MAY 10, 2017

Applies to:

Siebel CRM - Version 16.6 [IP2016] and later
Information in this document applies to any platform.

Symptoms

On :  16.6 [IP2016] version, Siebel EAI

ACTUAL BEHAVIOR  
---------------
SiebelMessage type XMLs are not being consumed by Siebel over RestAPI  

We are exposing siebel inbound Rest services to Fusion. When these services are tested from chrome postman utility, these are working fine (PropSet type messages are used for both Requests and responses)
We have fusion middleware that needs to consume these services.

1) Siebel Request messages are generated by writing the IO property set to a file and then supplying this message from the chrome postman utility.
2) So when the requests are received in siebel, these are of type "PropSet". Siebel is able to consume the "PropSet" type messages and the response received is also of type "PropSet"
3) Siebel team has shared the XSD with fusion team and when they tried to invoke the siebel services, we observed that XSD validation at siebel end is failing.
4) When fusion middleware generates sample messages based on the XSD shared, it looks like a "SiebelMessage" (The traditional siebel message that uses xml tags).
 We are not able to receive these messages because when it comes to siebel, these are being converted to "PropSet".
5) Also even after setting the response message type to "SiebelMessage" it is again converting into propertyset and because of this, XSD validation at the fusion side is failing.
5) I've generated an IO where XML tags and IC field names, IC and IC tags are all the same (withoutspaces). But when the corresponding siebelmessage is passed to siebel, it is not working.
When the propset message is passed, it works.
So from these tests I've concluded that it is always using PropSet notation for both requests and responses and it is getting difficult to fusion middleware
to generate/Consume "PropSet"  messages.

Could you please help us identify if we can communicate through "SiebelMessage" type messages through Siebel Rest API or the fusion middleware has to transform the
siebel messages to PropSets while consuming the siebel services.



EXPECTED BEHAVIOR
-----------------------
Siebel REST API to accept  SiebelMessage type XMLs and  response with SiebelMessage type XMLs


STEPS
-----------------------
1) Working test case in Postman SiebelMessage attributes are as PropSet type message, note the bold lines are the Message attributes are represented as PropSet tags:

Content-Type to XMl(application/xml)
Request:
<?xml version="1.0" encoding="UTF-8"?><?Siebel-XML EscapeNames="true"?>
<SiebelMessage>
<MessageId>1-QX4Y</MessageId>
<IntObjectName>MZCMAutoDealers</IntObjectName>
<MessageType>Integration Object</MessageType>
<IntObjectFormat>Siebel Hierarchical</IntObjectFormat>
<ListOfMZCMAutoDealers>
<ChannelPartner>
<Location>23630</Location>
</ChannelPartner>
</ListOfMZCMAutoDealers>
</SiebelMessage>

Response from Siebel:

<?xml version="1.0" ?>
<response>
<SiebelMessage>
<ChannelPartner>
<PrimaryAddressCity>LOVELAND</PrimaryAddressCity>
<PrimaryAddressState>Ohio</PrimaryAddressState>
<MUSADistrictNum>1</MUSADistrictNum>
<OrganizationBUName>PIONEER MAZDA US,23630</OrganizationBUName>
<PrimaryAddressZipCode>45140-3648</PrimaryAddressZipCode>
<MZCMMACDealerCode></MZCMMACDealerCode>
<AccountStatus>Active</AccountStatus>
<Name>PREMIER MAZDA US 1</Name>
<PrimaryAddressCountry>UNITED STATES OF AMERICA</PrimaryAddressCountry>
<Location>23630</Location>
<PrimaryAddressStreet>3651 NANTUCKET DR</PrimaryAddressStreet>
<MainPhoneNumber></MainPhoneNumber>
<Region>SE</Region>
</ChannelPartner>
<IntObjectFormat>Siebel Hierarchical</IntObjectFormat>
<MessageId>1-R5PB</MessageId>
<IntObjectName>MZCMAutoDealers</IntObjectName>
<MessageType>Integration Object</MessageType>
</SiebelMessage>
<j>ListOfMZCMAutoDealers</j>
<i>PropertySet</i>
</response>

2) Non Working test case in Postman where xml message in the request is not as "PropSet" type message, which is just "SiebelMessage Type message:

Content-Type to XMl(application/xml)
Request:

<?xml version="1.0" encoding="UTF-8"?><?Siebel-XML EscapeNames="true"?>
<SiebelMessage MessageId="1-QX4Y" IntObjectName="MZCMAutoDealers" MessageType="Integration Object" IntObjectFormat="Siebel Hierarchical">
<ChannelPartner>
<Location>23630</Location>
</ChannelPartner>
</ListOfMZCMAutoDealers>
</SiebelMessage>

Response from Siebel:
<?xml version="1.0" ?>
<response>
<ERROR>Required message header property ‘IntObjectName” is missing or invalid (SBL-EAI-04019)</ERROR>
</response>

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms