Search This Blog

SBL-EAI-00134: Detected XML character encoding '%1' conflicts with XML declaration encoding="%2"

Applies to:

Siebel CRM - Version: 8.0.0.2 SIA [20412] and later   [Release: V8 and later ]
Information in this document applies to any platform.

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


Symptoms

A request to an inbound web service on an Siebel Server (running on AIX) was shown to work ok.  But from one external application invoking the web service, the inbound request to Siebel is chunked.  It has the following  HTTP request header :-

Transfer-Encoding:chunked

 

For these chunked requests, the following errors are reported in the EAI Object Manager :-

[0] Supplied input is not well formed or does not contain the expected data.(SBL-EAI-00137) (IDS_EAI_WS_BAD_XML_DOCUMENT)
[1] XML Hierarchy Converter error - empty input message, expecting an XML document in <Value> of input arguments(SBL-EAI-00246) (IDS_XMLCNV_ERR_EMPTYMSG)

 

Also, the InboundDispatcher_input_args*.dmp representing the inbound SOAP request was a zero byte file (showing nothing is reaching the EAI Object Manager).  These logs are enabled by setting following from srvrmgr (example for eaiobjmgr_enu) :-

 

change evtloglvl %=4 for comp eaiobjmgr_enu
change param enableserviceargtracing=true for comp eaiobjmgr_enu

 

When the same chunked inbound request is sent to an IIS server (as opposed to the IBM Web Server), it worked as expected.

Cause

Per the zero byte, empty InboundDispatcher_input_args*.dmp for the inbound request  the data was not reaching the EAI component, explaining the errors :-

 

[0] Supplied input is not well formed or does not contain the expected data.(SBL-EAI-00137) (IDS_EAI_WS_BAD_XML_DOCUMENT)
[1] XML Hierarchy Converter error - empty input message, expecting an XML document in <Value> of input arguments(SBL-EAI-00246) (IDS_XMLCNV_ERR_EMPTYMSG)

 

The behaviour was re-produced, and change request BUG 10557694 was logged.

Solution

Where the chunked encoding was not used for the inbound request, or a Windows IIS web server was used, the inbound request was successfully processed.


Through change request BUG 10557694 it was found out this is an issue specific to IBM Web Server.

While sending the request, IBM HTTP Server is not expecting the Transfer-Encoding parameter to be set and it is capable of handling this by configuring the plugin-cfg.xml file.


Transfer-Encoding parameter does not need to be set explicitly for IBM HTTP server.


The IBM HTTP Server automatically handles breaking the response into chunks to send to the client.

At the IBM HTTP Server installed on the AIX box ,  In Web server plug-in request and response optimization properties there is a Transfer-Encoding (optimization).

By default, this field is NOT checked, and responses are not broken into chunks.

Make sure it is UNCHECKED.

To view this administrative console page, click Servers > Web Servers >web_server_name Plug-in Properties > Request and Response: “

References

BUG:10557694 - IDS_EAI_WS_BAD_XML_DOCUMENT WHEN REQUEST MESSAGE USES "TRANSFER-ENCODING: CHUNKED" ON IBM WEB SERVER








Applies to:

Siebel CRM - Version: 8.0.0.2 SIA [20412] and later   [Release: V8 and later ]
Information in this document applies to any platform.

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


Symptoms

A request to an inbound web service on an Siebel Server (running on AIX) was shown to work ok.  But from one external application invoking the web service, the inbound request to Siebel is chunked.  It has the following  HTTP request header :-

Transfer-Encoding:chunked

 

For these chunked requests, the following errors are reported in the EAI Object Manager :-

[0] Supplied input is not well formed or does not contain the expected data.(SBL-EAI-00137) (IDS_EAI_WS_BAD_XML_DOCUMENT)
[1] XML Hierarchy Converter error - empty input message, expecting an XML document in <Value> of input arguments(SBL-EAI-00246) (IDS_XMLCNV_ERR_EMPTYMSG)

 

Also, the InboundDispatcher_input_args*.dmp representing the inbound SOAP request was a zero byte file (showing nothing is reaching the EAI Object Manager).  These logs are enabled by setting following from srvrmgr (example for eaiobjmgr_enu) :-

 

change evtloglvl %=4 for comp eaiobjmgr_enu
change param enableserviceargtracing=true for comp eaiobjmgr_enu

 

When the same chunked inbound request is sent to an IIS server (as opposed to the IBM Web Server), it worked as expected.

Cause

Per the zero byte, empty InboundDispatcher_input_args*.dmp for the inbound request  the data was not reaching the EAI component, explaining the errors :-

 

[0] Supplied input is not well formed or does not contain the expected data.(SBL-EAI-00137) (IDS_EAI_WS_BAD_XML_DOCUMENT)
[1] XML Hierarchy Converter error - empty input message, expecting an XML document in <Value> of input arguments(SBL-EAI-00246) (IDS_XMLCNV_ERR_EMPTYMSG)

 

The behaviour was re-produced, and change request BUG 10557694 was logged.

Solution

Where the chunked encoding was not used for the inbound request, or a Windows IIS web server was used, the inbound request was successfully processed.


Through change request BUG 10557694 it was found out this is an issue specific to IBM Web Server.

While sending the request, IBM HTTP Server is not expecting the Transfer-Encoding parameter to be set and it is capable of handling this by configuring the plugin-cfg.xml file.


Transfer-Encoding parameter does not need to be set explicitly for IBM HTTP server.


The IBM HTTP Server automatically handles breaking the response into chunks to send to the client.

At the IBM HTTP Server installed on the AIX box ,  In Web server plug-in request and response optimization properties there is a Transfer-Encoding (optimization).

By default, this field is NOT checked, and responses are not broken into chunks.

Make sure it is UNCHECKED.

To view this administrative console page, click Servers > Web Servers >web_server_name Plug-in Properties > Request and Response: “

References

BUG:10557694 - IDS_EAI_WS_BAD_XML_DOCUMENT WHEN REQUEST MESSAGE USES "TRANSFER-ENCODING: CHUNKED" ON IBM WEB SERVER


No comments:

Post a Comment