Skip to main content

Error while mapping file attachment: SBL-EAI-04058: Source expression generated attachment ID '...' but the corresponding attachment cannot be found. (Doc ID 972381.1)

APPLIES TO:

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

SYMPTOMS

Following error will be reported by EAI Data Transformation Engine (Intgeraiton Object Declarative Data Mapper) when mapping file attachment (copying file content) from improperly configured / provided source Integration Component Field;

SBL-EAI-04058: Source expression generated attachment ID '...' but the corresponding attachment cannot be found.

CAUSE

The field type of the source (and also traget) Integration Component that (the field) provide the file attachment content has to be "DTYPE_ATTACHMENT".

The error occurs if it is set  to  "DTYPE_TEXT" (that may be default setting provided while creating  the Integration Object from XSD schema using Siebel Tools Wizard.

Also there are alo following requirements for the text (VALUE) of the XML element in the input XML document where the source integration object is instantiated from:

  - it has to be valid base64 encoded text

   - it must not contain leading line breaks (<CR> and/or <LF>) and any other characters which are not part of base64 encoded text.

   - the entire text can be well included as the CDATA block: <![CDATA[...]]>

Finally the instance of Integration Object, instantiated from the XML document with file attachment,
should be created using the "XMLDocToIntObjHier" method of the "EAI XML Converter" Business Service.
This method, invoked explicitly or implicitly (e.g. via the "ReadEAIMsg" method of the "EAI XML Read from File" Business Service or via EAI Data Handling named subsystem)
uses definition of the Integration Object to properly recognize file attachment item, decoded it into a binary file content and make it be ready
 for followed EAI operations (Data Mapping and EAI Siebel Adapter methods etc).

SOLUTION

The error did not occur after the Data Type property of source IC field was changed to DTYPE_ATTACHMENT.

Source:
https://support.oracle.com/ > Doc ID 972381.1

Comments

Popular posts from this blog

How to set Profile Attribute in Siebel Workflow

For setting the Profile Attribute in Siebel Workflow, follow below steps: Add Business Service box in workflow. Open Business Service properties. Set  SessionAccessService in Business Service Name. Set  SetProfileAttr in Method Name. Then click on Business Service and set Input Arguments as below: Against Name argument you will add your profile attribute name and against Value argument you will add value for the new profile attribute, it could be from Process Property or Literal.

How to call Popup Applet through Server Script in Siebel

Background: Based on the requirements you need to show data or reports on a popup applet. You can invoke popup applet using workflow (below business service will be used in business service step), applet server script or browser script and using vanilla method and setting field user properties. Procedure: Below is the script for calling popup applet through server script: if (MethodName == "MethodName") { var oServiceAF = TheApplication().GetService("SLM Save List Service"); var inputPropAF = TheApplication().NewPropertySet(); var outputPropAF = TheApplication().NewPropertySet(); inputPropAF.SetProperty("Applet Name","ABC Popup Applet"); inputPropAF.SetProperty("Applet Mode","6"); inputPropAF.SetProperty("Applet Height", "700"); inputPropAF.SetProperty("Applet Width", "700"); oServiceAF.InvokeMethod("LoadPopupApplet", inputPropAF, outputPropAF) return (CancelOperati...

How to create and publish Inbound Web Service in Siebel based on Workflow

Inbound Web Services: The Inbound Web Service allows an external system to call a Siebel published Web Service. You can publish a business service or a business process as a Web Service and generate a Web Service Definition Language (WSDL) file that an external system can import. The Inbound Web Services can only be published from Siebel C using SOAP-RPC binding. Source: Oracle Docs What Is The Difference Between Web Services and APIs? An API is an interface that allows you to build on the data and functionality of another application, while a web service is a network-based resource that fulfills a specific task. Yes, there’s overlap between the two: all web services are APIs, but not all APIs are web services. Both web services and APIs are — at their core — very useful and very much used today. However, it’s the web services associated with SOAP and/or Service Oriented Architecture which are falling out of favor. Source: NordicApis Process: Prepare the workflow which will serve as Si...