יום רביעי, 16 במרץ 2011

SBL-EAI-04298: SOAP Envelope received is not valid.

Applies to:

Siebel System Software - Version: 7.7.2.1 SIA [18353] and later [Release: V7 and later ]

z*OBSOLETE: Microsoft Windows 2000

Product Release: V7 (Enterprise)

Version: 7.7.2.1 [18353] Com/Med

Database: Oracle 9.2.0.4

Application Server OS: Microsoft Windows 2000 Server

Database Server OS: Compaq Tru64 UNIX



This document was previously published as Siebel SR 38-2300305601.

***Checked for relevance on 04-Jan-2011***

Symptoms

In outbound Web service scenario, customer created a property set hierarchy based on an integration object, which was created by importing WSDL document, and passed it to a proxy business service as input message.

The property set had three level hierarchy :



request > paymentMethod > creditCard

But the creditCard elements were getting stripped off in SOAP request message sent through the proxy business service. As result, external Web service did not understand the SOAP request.



The property set in question was investigated and was found that the property set did not include the component container element for each child integration component. When creating a property set based on integration object in this scenario, the component container element for each child integration component should be included even though the XML Container Element property is set to null in integration component of the integration object. Therefore, the component container element was added for each integration component in property set so that the SOAP request message was created as expected.



For more detail about the component container element, please refer Siebel Bookshelf, XML Reference: Siebel eBusiness Application Integration Volume V > XML Representation of Integration Object Instances > Elements Within a Siebel Integration Object Document > Component Container Elements.





Once proper SOAP request message was created, the customer could get expected SOAP response message from external Web service. The following error, however, occurred while processing the SOAP response message:





SBL-EAI-04298: SOAP Envelope received is not valid











Cause

Through further tests, it was found that the reported error was caused when using the transport ‘Local Business Service’ in outbound Web service even with a valid SOAP response message. That is, the same SOAP response message was handled properly if the transport ‘HTTP’ or ‘File’ was used in the outbound Web service. It was reproducible in Siebel 7.7.2.1 SIA [18353] and 7.7.2.3 SIA [18357].





Solution

Change Request 12-12F9DJZ has been logged to address this product defect.



As a workaround, the customer was suggested to use a request filter business service to add the custom SOAP headers to SOAP request message. By using the filter business service, they were able to add the custom SOAP header as expected as well as the SOAP response message was handled successfully without any error.



For more detail about the filter business service, please refer Siebel Bookshelf, Integration Platform Technologies: Siebel eBusiness Application Integration Volume ll > Web Services > About Custom SOAP Filters.



Kind Regards,



Siebel Technical Support

















Applies to:

Siebel System Software - Version: 7.8.2.2 [19219] and later [Release: V7 and later ]

z*OBSOLETE: Microsoft Windows Server 2003

Product Release: V7 (Enterprise)

Version: 7.8.2.2 [19219]

Database: Oracle 9.2

Application Server OS: Microsoft Windows 2003 Server

Database Server OS: IBM AIX 4.1.4 RS/6000



This document was previously published as Siebel SR 38-3034955799.

***Checked for relevance on 29-NOV-2010***

Symptoms

An Outbound Web Service was implemented using the Java Messaging Service (JMS) transport.

As indicated in the documentation, the address was set as below.



jms://YourQueueName@YourConnectionFactory



When doing this, call of the Web Service lead to the error below.



Operation '%1' is expecting a response but no response was received.(SBL-EAI-04311)





Cause

The error was due to the fact that the external application consuming the message sends the response in a different queue.

In the current version of the product, it is not possible to set different queue for the request and response. Both should go in same queue. So, in the above case, the web service call timed out and not response was got.

Solution



To be able to set different queue for JMS transport, enhancement request 12-1EAJ0Y3 has been created to have the product enhanced in the future version.

Enhancement request 12-1EAJ0Z9 has also been created to have the above point clearly stated in the bookshelf about JMS transport.



The above scenario is also true for MQ transport.



To be able to set different queue for MQ transport, enhancement request 12-1EBUJBZ has been created to have the product enhanced in the future version.



Enhancement request 12-1ECBTP7 has also been created to have the above point clearly stated in the bookshelf about MQ transport.



One possible workaround is to change the transport from JMS/MQ to "Local Business Service". Review the bookshelf Integration Platform Technologies: Siebel Enterprise Application Integration > Web Services > About Local Business Service for reference but the general idea is that the SOAP message is passed to a custom BS that will handle the transfer.



NOTE: 477891.1 Using a Local Business Service To Customize the SOAP Header for an Outbound Web Service in Siebel 7 may also be used as reference.



For JMS, a custom BS should call the the standard BS "EAI JMS Transport" to post the request.



Using the SendReceive method the SendQueue and ReceiveQueue can be explicitly set (refer to the Transports and Interfaces: Siebel Enterprise Application Integration > Java Message Service Transport for help about "EAI JMS Transport"). With MQ, refer to BS " EAI MQSeries Server Transport" or " EAI MQSeries AMI Transport".



Using this approach, Error "SBL-EAI-04298: SOAP Envelope received is not valid" may be return then.









References

BUG:10508923 - WITH JMS TRANSPORT, ADD FUNCTIONALITY TO SET DIFFERENT QUEUES FOR REQUEST AND RESPONSE IN WEBSERVICE

BUG:10508924 - DOCUMENT THAT REQUEST AND RESPONSE SHOULD GO IN SAME QUEUE WITH TRANSPORT JMS IN WEB SERVICES

BUG:10509077 - WITH MQ TRANSPORT, ADD FUNCTIONALITY TO SET DIFFERENT QUEUES FOR REQUEST AND RESPONSE IN WEBSERVICE

BUG:10509078 - DOCUMENT THAT REQUEST AND RESPONSE SHOULD GO IN SAME QUEUE WITH TRANSPORT MQ IN WEB SERVICES

NOTE:477891.1 - Using a Local Business Service To Customize the SOAP Header for an Outbound Web Service in Siebel 7.x and 8.x

אין תגובות:

הוסף רשומת תגובה