Search This Blog

SBL-EAI-04111: Cannot convert XML Hierarchy to Integration Object Hierarchy.

Applies to:

Siebel System Software - Version: 7.8.2.3 [19221] and later   [Release: V7 and later ]
Oracle Solaris on SPARC (64-bit)
Product Release: V7 (Enterprise)
Version: 7.8.2.3 [19221] ESN
Database: Oracle 10.1.0.2
Application Server OS: Sun Solaris 10
Database Server OS: Sun Solaris 10

This document was previously published as Siebel SR 38-3222418801.
***Checked for relevance on 30-NOV-2010***

Symptoms

  • Create an external integration object based on an XSD file.
  • Workflow step calls “EAI XML Converter” and method “XMLDocToIntObjHier”fails with

"Error invoking service 'EAI XML Converter', method 'XMLDocToIntObjHier' at step 'Convert to Siebel XML'.(SBL-BPR-00162)
--
Cannot convert XML Hierarchy to Integration Object Hierarchy.
(SBL-EAI-04111)
--
Error in XML document: expecting component instance tag Envelope, found soapenv:Envelope(SBL-EAI-04423) "

Cause

The XML had namespaces that need to be removed.

Solution

to have the named space to be removed from the XML message please set
Parameter:

Input Argument: StripNamespace
Type: Literal
Value: True

This parameter is described at
XML Reference: Siebel eBusiness Application Integration Volume V > Siebel XML Converters > EAI Integration Object to XML Hierarchy Converter Business Service > XML Hierarchy to Integration Object Hierarchy Method Argument


Applies to:

Error Message Area:Application Integration Infrastructure, Enterprise Application Interfaces - EAI
Version:Siebel 8.1

Purpose

This document is intended to provide cause and corrective action information about Siebel Error Message SBL-EAI-04111: Cannot convert XML hierarchy to integration object hierarchy.

Scope

This document is informational and intended for any user.

SBL-EAI-04111: Cannot convert XML hierarchy to integration object hierarchy.

Explanation

There was a problem converting the XML hierarchy (DOM-like property set representation of XML) into the integration object instance. This is a generic message that should be followed up by a more detailed cause.

Corrective Action

Check all the error messages to find a more detailed explanation. Most likely, the XML did not match what is expected according to the integration object definition.

Applies to:

Siebel CRM Call Center - Version: 8.0 [20405] to 8.1.1 [21112] - Release: V8 to V8
Information in this document applies to any platform.

Symptoms

Siebel XML document, produced by XML Converter from SiebelMessage with inline file attachment (integration component field of type: "DTYPE_ATTACHMENT"), may contain incorrectly encoded base64 content in accordant XML element.

The external application will report error, when interpreting the base64 encoded content in SiebelMessage.

If the extermal application is Siebel CRM, following error will be reported from XML Converter service (example of the "EAI XML Converter" BS, method: "DocToHier"):
"...
ObjMgrBusServiceLog Error 1 ... (filerefutil.cpp (964)) SBL-GEN-04031: Internal: Error occurred during base64 decoding.
...
ObjMgrBusServiceLog Error 1 ... (eaixmlcnvsv.cpp (320)) SBL-EAI-04111: Cannot convert XML Hierarchy to Integration Object Hierarchy.
...
PrcExec PropSet 4 ... Setting runtime value of property 'Namespace: 'USER' Name: 'Error Code' Datatype: 'String'' to:
PrcExec PropSet 4 ... --IDS_EAI_ERR_XMLPRT_FROM_XML_CNV_ERR-- ...
..."


Cause

The base64 encoding routine of XML Conveter. produced incorrect encoding results.

The Product Defect BUG 10576888 was logged to address this issue of Siebel 8.x Release

Solution

* All Siebel 7.x Releases are not affected by this behavior.

* For Siebel 8.0.x Release:

1) Siebel 8.0.0.6 Fix Pack: the Quick Fix has Quick Fix QF0683 (Fix Request #12-1VCQG3H) has been released for certain platforms, as the Patch Nr: 9168939 (available for download on My Oracle Support Portal). The matter of the fix is a change in the “sscfxclib” DLL library.

2) Siebel 8.0.0.9 Fix Pack should include fix of the reported behavior (Fix Request # 12-1VG437T) for all supported platforms.

* For other affected Siebel Releases, the fix pack will be scheduled.



References

BUG:10576888 - ERROR DURING BASE64 ATTACHMENT CONVERSION (INTOBJPS TO XMLDOC)

Applies to:

Siebel CRM Desktop - Version: 8.0.0.9[20433] to 8.1.1.2[21215] - Release: V8 to V8
Information in this document applies to any platform.

Purpose

Provide Troubleshooting information for Siebel CRM Desktop

Last Review Date

August 25, 2010

Instructions for the Reader

A Troubleshooting Guide is provided to assist in debugging a specific issue. When possible, diagnostic tools are included in the document to assist in troubleshooting.

Troubleshooting Details

Logging
CRM Desktop:
-The primary logfile for CRM Desktop is  "CRMDesktop.log " and can be used to identify issues with customizations, server availability, and errors reported from EAI. 

CRMDesktop.log  is located in one of two locations depending on the client OS:-
Windows XP: C:\Documents and Settings\{user}\Application Data\Oracle\CRM Desktop\Profile
Windows Vista/Windows 7: C:\Users\{user}\AppData\Roaming\Oracle\CRM Desktop\Profile

-Extended SOAP dumps can be enabled for troubleshooting problems in greater detail
SOAP Dumps log all requests to and responses from the Server

Can be enabled through the Registry on the client workstation. Usual precautions should be taken when editing the registry. e.g back it up.
Add Registry Key:
[HKEY_CURRENT_USER\Software\Oracle\CRM Desktop]
Value: "Siebel:SOAPDumpBaseFname"=“x:\\{path}\\soap_dump.xml"

Note that the path specified in the Registry key must exist
Outlook needs to be restarted after setting the registry key.
Once these steps have been performed SOAP dump files will be created during each sync cycle for analysis



Troubleshooting specific scenarios/errors

Connectivity errors
Various errors that could occur when CRM Desktop connects to Siebel.
Symptom/Error Cause Action

Error in CRMDesktop.log:

"Synchronization canceled by error: siebel_service: failed attempting to connect to siebel"

Not connecting to the EAI Object manager.  Check component/server is running
Error in CRMDesktop.log:
"Exception 'class siebel::siebel_cntr_exception' throwing: siebel_service: SOAP response has unexpected structure."

Typically this means that rather than a SOAP message, an HTTP error (e.g., 500 error) is being returned and cannot be parsed
Examine specific message using SOAP logging
Examine Web Server, SWE, and EAI logs to determine cause of problem
Error in CRMDesktop.log:
"Exception 'struct win32_exceptions::inet_cannot_connect' throwing: WinInet: Cannot connect to Internet!

!sd_synchronization::salesdesktop_sync_host::load_picklists

Synchronization canceled by error: WinInet: Cannot connect to Internet"
Failed to connect to Webserver Check Webserver is running and you can connect from the machine that is running Siebel CRM Desktop

Customization related errors
These are errors that typically occur after some form of customization has taken place.
Symptom/Error Cause Action
After adding a new field to a CRM Desktop form,
following error is encountered

"Updating error of {object name} object on storage {CEDC3D49-DDBB-93A2-4992-E5B2CAE62932}: object_locked (Conversion of input Message to Property Set failed with the error : Cannot convert XML Hierarchy to Integration Object Hierarchy.(SBL-EAI-04111)"

Definition of Integration Object in SRF does not match form.
Recompile the relevant CRMDesktop*IO object and deploy to the server

After adding a new validation rule to a form and now the form will not save or close when adding a new record
following error is reported:-

"Exception 'class scripting::execute_exception' throwing: Script run-time error. 'phonetest' is undefined (Microsoft JScript runtime error) Line: 6, Char 7"

 

Inspect the newly added form validation rule:

<rule message="#msg_business_phone_validation"> <expression>
<![CDATA[
var phonetes = new RegExp(/^[+]?[0-9]{0,3}[\s]?[\(-. ]?[0-9]{2,3}[\)-. ]?[\s]?[0-9]{3}[-. ]?[0-9]{2}[-. ]?[0-9]{2}$/);
item["Work Phone #"] != '' ? (item["Work Phone #"].match(phonetest) != null ? true : false) : true;
]]>
</expression>
</rule>

A typo was made when declaring the "phonetest" variable

Fix the variable name.
Republish the package

After adding a new field to a form it now the form renders with the native Outlook form.

Error in log:

"Exception (struct ml::rethrowable_exception<struct resource_manager::resource_not_found>) encountered: "resource id 'lbl_location' not found""

failure to add a localized value to the package_res.xml file Add the appropriate localized value to package_res.xml


<str key="lbl_location">Site:</str>

 


Republish the package

After adding a new field to a form it now the form renders with the native Outlook form.

Error in log:

"Exception 'struct xml::parse_error' throwing: Errors occured during parsing the document! Code: 0xc00ce504 Line: 4 Column: 4 Public ID: unknown System ID: unknown. A name was started with an invalid character."

The ‘struct xml::parse_error’ indicates invalid XML


-Review the recent XML changes you have made looking for invalid syntax

-Use a diff tool to compare the XML to a previously working package to identify all changes to help locate the invalid syntax
-Use an XML schema validation tool to identify malformed XML

After attempting to remove an existing field from a form  the form renders momentarily, then goes blank.

Error in log:

"14:46:21:262-2628: Exception 'class scripting::execute_exception' throwing: Script run-time error. 'undefined' is null or not an object (Microsoft JScript runtime error) Line: 77, Char 6

14:46:21:262-2628: Exception (struct ml::rethrowable_exception<class scripting::execute_exception>) encountered: "Script run-time error. 'undefined' is null or not an object (Microsoft JScript runtime error) Line: 77, Char 6" "

 


Javascript references a control which does not exist (or is misspelled)
Review the deleted elements to get the Control Id values
Perform global search for references to these values
Modify or remove all javascript referencing these Control Ids
Republish metadata package






 

Applies to:

Siebel System Software - Version: 7.5.2.214 [16066] and later   [Release: V7 and later ]
z*OBSOLETE: Microsoft Windows 2000
Product Release: V7 (Enterprise)
Version: 7.5.2.214 [16066]
Database: Microsoft SQL Server 2000 SP 2
Application Server OS: Microsoft Windows 2000 Server SP 2
Database Server OS: Microsoft Windows 2000 Server SP 2

This document was previously published as Siebel SR 38-1111862111.
***Checked for relevance on 18-Nov-2010***

Symptoms

While trying to create an activity record and add an attachment to that activity using the EAI Siebel Adapter, the activity and attachment records were created successfully but the contents of the attachment file that is not “.txt” extension such as .htm or .doc was not showed properly when opening the file via clicking on corresponding hyper link of the attachment.

The log file generated when creating the activity and attachment records showed following errors:


EAITransport EAITransportWarning 2 2003-11-10 09:53:14 [0] Cannot convert XML Hierarchy to Integration Object Hierarchy.
(SBL-EAI-04111) (IDS_EAI_ERR_EAIXMLCNV_XMLHIER_TO_INTOBJ)
EAITransport EAITransportWarning 2 2003-11-10 09:53:14 [1] Error Base64-decoding binary attachment with ContentId: '1-B38'(SBL-EAI-04120) (IDS_EAI_ERR_INTOBJHIER_ATTACH_DECODE)
EAITransport EAITransportWarning 2 2003-11-10 09:53:14 [2] Error invoking service 'EAI XML Converter', method 'XMLDocToIntObjHier' at step 'Convert'.(SBL-BPR-00162) (0x80d8)


The activity and attachment message was sent from external application to Siebel application via HTTP.


Cause

The http payload was sent through internet explorer´s address bar as part of the URL (HTTP GET method).
This caused unwanted characterset conversions that lead to the issues described here.


Solution


The reported behavior was not reproducible when processing the incoming message read using EAI File Transport business service in Siebel dedicated client .

The behavior was also not reproducible when sending the incoming message via HTML form (HTTP POST method).



It is recommended that you do not use internet explorer´s address bar (URL) to send the payload.
Instead, please use a form and submit the data in the Message Body of the request (POST method).



No comments:

Post a Comment