RFC lookUp during Message mapping
All
I want to get soem values from SAP table during message mapping.After getting the values am going to do 2:1 mapping by using BPM.
Could you please let me know the basic and fundamental things about RFC look up during mapping and RFC settings in XI as well in R3?
Please explain
Hi Rajesh,
Pl post this in XI Forums to get quick replies.
Regards
Ayyapparaj
Similar Messages
-
Lookup into R/3 table during Message Mapping
Hi all,
I have a field in my source message that I need to convert. The corresponding values are stored in an R/3 table. I could use a 2:1 mapping in a BPM to merge an RFC call reading the table with my mapping, but I was told that this can be done without using BPM.
Can anyone describe me this ?
Thanks in advance.
Best regards,
JulienHi Julien,
Starting SP13 you can perform RFC lookups within your mapping using standard RFC API.
Check this michal's document for the same...
https://sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/801376c6-0501-0010-af8c-cb69aa29941c
Regards
Anand
Message was edited by: Anand Torgal -
Java Error in RFC Lookup in XSLT Mapping usinf Java helper class
Hi All,
I am doing RFC Lookup in XSLT Mapping using Java Helper class.
The Lookup works fine when called one RFC at a time However my requirement is I want to do 2 Lookups.
Both Lookups works when done individually however when I call both lookups in one mapping I get following error "javax.xml.transform.TransformerException: DOMSource whose Node is null."
Following is the code I have written in XSLT for the lookup:
<xsl:template name="Lookup_1">
<xsl:param name="STDPN"/>
<rfc:RFC_READ_TABLE>
<QUERY_TABLE>KNA1</QUERY_TABLE>
<OPTIONS><item><TEXT>
<xsl:value-of select="$STDPN"/>
</TEXT></item>
</OPTIONS>
<FIELDS>
<item>
<FIELDNAME>KUNNR</FIELDNAME>
</item>
</FIELDS>
</rfc:RFC_READ_TABLE>
</xsl:variable>
<xsl:variable name="response" xmlns:lookup="java:urn.mt.pi" select="lookup:execute($request, 'BS_D, 'cc_RfcLookup', $inputparam)"/>
<xsl:element name="STDPN">
<xsl:value-of select="$response//DATA/item/WA"/>
</xsl:element>
</xsl:template>
<xsl:template name="Lookup_2">
<xsl:param name="BELNR"/>
<xsl:variable name="Query">AGMNT = '<xsl:value-of select="$BELNR"/>'</xsl:variable>
<xsl:variable name="request1">
<rfc:RFC_READ_TABLE>
<QUERY_TABLE>ZTABLE</QUERY_TABLE>
<OPTIONS><item><TEXT>
<xsl:value-of select="$Query"/>
</TEXT></item>
</OPTIONS>
<FIELDS>
<item>
<FIELDNAME>KUNAG</FIELDNAME>
</item>
</FIELDS>
</rfc:RFC_READ_TABLE>
</xsl:variable>
<xsl:variable name="response1" xmlns:lookup="java:urn.mt.pi" select="lookup:execute($request1, 'BS_D','cc_RfcLookup', $inputparam)"/>
<xsl:element name="BELNR">
<xsl:value-of select="$response1//DATA/item/WA"/>
</xsl:element>
</xsl:template>
My Question: Am I doing anything wrong? Or Is it possible to call multiple lookups in one XSLT?
Thanks and Regards,
AtulHi Atul,
I had the same problem like you had.
The main Problem is that with the example code the request variable is created as NodeList object. In XSLT a variable is somekind of a constant and can't be changed. As the request object is empty after the first request the programm fails at the following line:
Source source = new DOMSource(request.item(0));
So I've created a workaround for this problem.
In the call of the template I've put the request as a parameter object at the template call:
<xsl:with-param name="req">
<rfc:PLM_EXPLORE_BILL_OF_MATERIAL xmlns:rfc="urn:sap-com:document:sap:rfc:functions">
<APPLICATION>Z001</APPLICATION>
<FLAG_NEW_EXPLOSION>X</FLAG_NEW_EXPLOSION>
<MATERIALNUMBER><xsl:value-of select="value"/></MATERIALNUMBER>
<PLANT>FSD0</PLANT>
<VALIDFROM><xsl:value-of select="//Recordset/Row[name='DTM-031']/value"/></VALIDFROM>
<BOMITEM_DATA/>
</rfc:PLM_EXPLORE_BILL_OF_MATERIAL>
</xsl:with-param>
With this change the request will be provided as a String object and not as a NodeList object.
Afterwards the RfcLookup.java has to be changed to the following:
package com.franke.mappings;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Map;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import com.sap.aii.mapping.lookup.Channel;
import com.sap.aii.mapping.api.StreamTransformationConstants;
import com.sap.aii.mapping.api.AbstractTrace;
import com.sap.aii.mapping.lookup.RfcAccessor;
import com.sap.aii.mapping.lookup.LookupService;
import com.sap.aii.mapping.lookup.XmlPayload;
* @author Thorsten Nordholm Søbirk, AppliCon A/S
* Helper class for using the XI Lookup API with XSLT mappings for calling RFCs.
* The class is generic in that it can be used to call any remote-enabled
* function module in R/3. Generation of the XML request document and parsing of
* the XML response is left to the stylesheet, where this can be done in a very
* natural manner.
* TD:
* Changed the class that request is sent as String, because of IndexOutOfBound-exception
* When sending multiple requests in one XSLT mapping.
public class RfcLookup {
* Execute RFC lookup.
* @param request RFC request - TD: changed to String
* @param service name of service
* @param channelName name of communication channel
* @param inputParam mapping parameters
* @return Node containing RFC response
public static Node execute( String request,
String service,
String channelName,
Map inputParam)
AbstractTrace trace = (AbstractTrace) inputParam.get(StreamTransformationConstants.MAPPING_TRACE);
Node responseNode = null;
try {
// Get channel and accessor
Channel channel = LookupService.getChannel(service, channelName);
RfcAccessor accessor = LookupService.getRfcAccessor(channel);
// Serialise request NodeList - TD: Not needed anymore as request is String
/*TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer();
Source source = new DOMSource(request.item(0));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
StreamResult streamResult = new StreamResult(baos);
transformer.transform(source, streamResult);*/
// TD: Add xml header and remove linefeeds for the request string
request = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+request.replaceAll("[\r\n]+", "");
// TD: Get byte Array from request String to send afterwards
byte[] requestBytes = request.getBytes();
// TD: Not used anymore as request is String
//byte[] requestBytes = baos.toByteArray();
trace.addDebugMessage("RFC Request: " + new String(requestBytes));
// Create input stream representing the function module request message
InputStream inputStream = new ByteArrayInputStream(requestBytes);
// Create XmlPayload
XmlPayload requestPayload =LookupService.getXmlPayload(inputStream);
// Execute lookup
XmlPayload responsePayload = accessor.call(requestPayload);
InputStream responseStream = responsePayload.getContent();
TeeInputStream tee = new TeeInputStream(responseStream);
// Create DOM tree for response
DocumentBuilder docBuilder =DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document document = docBuilder.parse(tee);
trace.addDebugMessage("RFC Response: " + tee.getStringContent());
responseNode = document.getFirstChild();
} catch (Throwable t) {
StringWriter sw = new StringWriter();
t.printStackTrace(new PrintWriter(sw));
trace.addWarning(sw.toString());
return responseNode;
* Helper class which collects stream input while reading.
static class TeeInputStream extends InputStream {
private ByteArrayOutputStream baos;
private InputStream wrappedInputStream;
TeeInputStream(InputStream inputStream) {
baos = new ByteArrayOutputStream();
wrappedInputStream = inputStream;
* @return stream content as String
String getStringContent() {
return baos.toString();
/* (non-Javadoc)
* @see java.io.InputStream#read()
public int read() throws IOException {
int r = wrappedInputStream.read();
baos.write(r);
return r;
Then you need to compile and upload this class and it should work.
I hope that this helps you.
Best regards
Till -
System Error During Message Mapping
I've set up a simple mapping scenario that sends a DEBMAS06 IDoc from our R/3 system to XI mapping to DEBMAS06 and writing out to a file. I am getting the following system error during message mapping:
<SAP:Category>XIServer</SAP:Category>
<SAP:Code area="MAPPING">JCO_SYSTEM_FAILURE</SAP:Code>
<SAP:P1>Server repository could not create function template for 'SMPP_CALL_JAVA_RUNTIME</SAP:P1>
I have gone back to the Design Builder and tested out the message mapping and the interface mapping and both work successfully. I have also taken the payload of the message and submitted it via the RWB and it generates the same error as when sent from R/3. Any other places I can look?Hi Mike,
You have got the connectivity issue problem between ABAP and J2EE stack. When do the test in the Message Mapping, thats the J2EE and it works. But during the runtime it has to go to the Integratin Server, which is the ABAP stack. Fix the connectivity issue, check the smicm,trace and debug log etc.
Hope this helps.
Cheers,
Ranjan -
Run time error during message mapping transformation
Hello,
i created a scenario and tried to execute . i got this error .
RuntimeException in Message-Mapping transformation: Runtime exception during processing target field mapping /ZCRM_CRMXIF_ORDER_SAVE_M01/IDOC/BEGIN. The message is: Exception:[java.lang.RuntimeException: Error: Occurred in RFC Look UpPlain exception:Problem when calling an adapter by using communication channel RFC_Lookup_Receiver (Party: , Service: Test_ReceiverSystem, Object ID: 1772b13e46b93b99bca48e278463007d) Check whether the communication channel exists in the Integration Directory; also check the cache notifications for the instance Integration Server (central Adapter-Engine) Channel object with Id Channel:1772b13e46b93b99bca48e278463007d not available in CPA Cache. com.sap.aii.mapping.lookup.LookupException: Problem when calling an adapter by using communication channel RFC_Lookup_Receiver (Party: , Service: Test_ReceiverSystem, Object ID: 1772b13e46b93b99bca48e278463007d) Check whether the communication channel exists in the Integration Directory; also check the cache notifications for the instance Integration Server (central Adapter-Engine) Channel object with Id Channel:1772b13e46b93b99bca48e278463007d not available in CPA Cache. at com.sap.aii.ibrun.server.lookup.AdapterProxyLocal.<init>(AdapterProxyLocal.java:61) at com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.getProxy(SystemAccessorInternal.java:98) at com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.<init>(SystemAccessorInternal.java:38) at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.getConnection(SystemAccessorHmiServer.java:270) at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:70) at com.sap.aii.utilxi.hmis.server.HmisServiceImpl.invokeMethod(HmisServiceImpl.java:169) at com.sap.aii.utilxi.hmis.server.HmisServer.process(HmisServer.java:178) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:296) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:211) at com.sap.aii.utilxi.hmis.web.workers.HmisInternalClient.doWork(HmisInternalClient.java:70) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.doWork(HmisServletImpl.java:496) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.doPost(HmisServletImpl.java:634) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325) at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887) at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241) at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92) at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) ] in class com.sap.xi.tf._XiameterBasicRegistration_MM_ method crmRfcLookUp$[, , , , Test_ReceiverSystem, , com.sap.aii.mappingtool.tf3.rt.Context@26dd0a50]
can any one tel me wats going wrong ??The error shows that you are using business system and comm. channel in UDF for doing some processing. The error is because it is not able to locate the specified comm channel for the business sytem.
please check if the comm. channel name and business system names are spelled correctly. Also you can try refreshing the CPA cache/ XI cache. -
RFC Lookup using Java Mapping program - Examples
Dear Experts,
I am working on a scenario which is using 1:N mapping. For deciding the target message I have to use RFC Lookup to call the backend ERP system and there are 2 ERP systems involved in this integration. As I am using Java Mapping and never did a RFC Lookup in Java. I kindly request you to give me some examples which I could use for my RFC calls in my Java Mapping. Simple example will do.
Client is adamant to use Java mapping, I could achieve this easily using XSLT or Graphical Mapping.
Advance Thanks,
PradeepHello,
why don't you use Extended Receiver Determination Defining Extended (Dynamic) Receiver Determination - Integration Directory - SAP Library?
What you can do is create a Message Mapping between your source message and Receivers message type. In this message mapping you can use your RFC to generate the target message.
For example, lets say we have the function ZFM_GET_INTERFACE_INFO used to generate the List of Receivers given a source message. You could create a Message Mapping as below:
In this case, the RFCLookup box look as below:
The receiver determination configuration would look as follows:
Afterwards, you will need two specific message mappings for the two ERP systems.
Summarizing, you'll need:
1.- A Message Mapping: Source Message to Receivers Message Type (This one uses the RFC Lookup)
2.- A Message Mapping: Source Message to Target Message for ERP 1
3.- A Message Mapping: Source Message to Target Message for ERP 2
In Integration Directory you'll have 1 Receiver Determination(Source system, Target System determined Dynamically) and 2 Interface Determinations (Source System to ERP1, Source System to ERP2), etc.
I hope you find it useful.
Regards! -
JDBC Lookup in message mapping
Hi Folks,
in a message-mapping i use a jdbc lookup.
i get this error, can anybody help me ?
Put value [Plain exception:Problem when calling an adapter by using communication channel JDBC_MKA_Receiver_Lookup (Party: , Service: R3EREDATA, Object ID: 3ab59ba811163c5697dbcd40fb0c4957) Check whether the communication channel exists in the Integration Directory; also check the cache notifications for the instance Integration Server (central Adapter-Engine) Channel object with Id Channel:3ab59ba811163c5697dbcd40fb0c4957 not available in CPA Cache.
thanks for your helpHi Folks,
now i get a new error.
it will be nice when you could answered me, thanks
Put value [Exception during processing the payload.Problem when calling an adapter by using communication channel JDBC_MKA_Receiver_Lookup (Party: , Service: BS_EPS, Object ID: 866ef440ca5b3cefb1381267f5693591) XI AF API call failed. Module exception: (No information available). Cause Exception: 'JDBC Adapter configuration not initialized: null'. com.sap.aii.mapping.lookup.LookupException: Problem when calling an adapter by using communication channel JDBC_MKA_Receiver_Lookup (Party: , Service: BS_EPS, Object ID: 866ef440ca5b3cefb1381267f5693591) XI AF API call failed. Module exception: (No information available). Cause Exception: 'JDBC Adapter configuration not initialized: null'. at java.lang.Throwable.<init>(Throwable.java:194) at java.lang.Exception.<init>(Exception.java:41) at com.sap.aii.mapping.api.StreamTransformationException.<init>(StreamTransformationException.java:29) at com.sap.aii.mapping.lookup.LookupException.<init>(LookupException.java:72) at com.sap.aii.ibrun.server.lookup.AdapterProxyLocal.execute(AdapterProxyLocal.java:131) at com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.execute(SystemAccessorInternal.java:68) at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:149) at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:77) at com.sap.aii.utilxi.hmis.server.HmisServiceImpl.invokeMethod(HmisServiceImpl.java:169) at com.sap.aii.utilxi.hmis.server.HmisServer.process(HmisServer.java:178) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:296) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:211) at com.sap.aii.utilxi.hmis.web.workers.HmisInternalClient.doWork(HmisInternalClient.java:70) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.doWork(HmisServletImpl.java:496) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.doPost(HmisServletImpl.java:634) at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:332) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:0) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:336) at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:868) at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:250) at com.sap.engine.services.httpserver.server.Client.handle(Client.java:0) at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:92) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:30) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:35) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:99) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Root Cause: com.sap.aii.af.service.api.AFException: XI AF API call failed. Module exception: (No information available). Cause Exception: 'JDBC Adapter configuration not initialized: null'. at java.lang.Throwable.<init>(Throwable.java:194) at java.lang.Exception.<init>(Exception.java:41) at com.sap.aii.af.service.api.AFException.<init>(AFException.java:88) at com.sap.aii.af.service.api.AdapterAccess.sendMsg(AdapterAccess.java:214) at com.sap.aii.af.service.api.AdapterAccess.execute(AdapterAccess.java:283) at com.sap.aii.ibrun.server.lookup.AdapterProxyLocal.execute(AdapterProxyLocal.java:123) at com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.execute(SystemAccessorInternal.java:68) at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:149) at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:77) at com.sap.aii.utilxi.hmis.server.HmisServiceImpl.invokeMethod(HmisServiceImpl.java:169) at com.sap.aii.utilxi.hmis.server.HmisServer.process(HmisServer.java:178) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:296) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:211) at com.sap.aii.utilxi.hmis.web.workers.HmisInternalClient.doWork(HmisInternalClient.java:70) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.doWork(HmisServletImpl.java:496) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.doPost(HmisServletImpl.java:634) at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:332) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:0) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:336) at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:868) at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:250) at com.sap.engine.services.httpserver.server.Client.handle(Client.java:0) at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:92) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:30) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:35) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:99) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) ] -
Hi there
I am trying to do a table lookup from XI in my message mapping by calling an remote RFC. The return values must return ALL the value for a specific column. The code I have here returns a blank value. Can someone see what my problem may be?
My variables for my UDF is:
public String UDF_RFC(String DBTABLE,String MATNR,String FIELDS,String businessSystem,String communicationChannel,Container container)
And my Code:
"My code appears to mess up my message structure, I will attach it in a responce..
Thanks,
Jan
Edited by: Jan de Lange on Sep 16, 2009 11:09 AM
Edited by: Jan de Lange on Sep 16, 2009 11:09 AM// declare parameters
String returnValue = "";
String rfcXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><ns0:ZINT_XI_GET_SITES xmlns:ns0=\"urn:sap-com:document:sap:rfc:functions\"><LT_SITES><item><WERKS></WERKS></item></LT_SITES></ns0:ZINT_XI_GET_SITES>";
AbstractTrace trace = container.getTrace();
RfcAccessor accessor = null;
ByteArrayOutputStream out = null;
try
// 1. Determine a communication channel (Business system + Communication channel)
Channel channel = LookupService.getChannel(businessSystem,communicationChannel);
// 2. Get a RFC accessor for the channel.
accessor = LookupService.getRfcAccessor(channel);
// 3. Create an XML input stream that represents the RFC request message.
InputStream inputStream = new ByteArrayInputStream(rfcXML.getBytes());
// 4. Create the XML Payload
XmlPayload payload = LookupService.getXmlPayload(inputStream);
// 5. Execute the lookup.
Payload result = null;
result = accessor.call(payload);
InputStream in = result.getContent();
// 6. Create a DOM structure from the input XML
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(in);
NodeList nodelist = document.getElementsByTagName("*");
Node node;
Element element;
NamedNodeMap nnm = null;
String attrname;
String attrval;
int i, len;
len = nodelist.getLength();
for (int j=0; j < len; j++) {
element = (Element)nodelist.item(j);
System.out.println(element.getTagName() + ":");
nnm = element.getAttributes();
if (nnm != null) {
for (i=0; i<nnm.getLength(); i++) {
node = nnm.item(i);
attrname = node.getNodeName();
attrval = node.getNodeValue();
returnValue += attrname + " = " + attrval + "##";
// 7. To free resources, close the accessor..
if (accessor!=null) {
try {
accessor.close();
} catch (LookupException e) {
trace.addWarning("Error while closing accessor " + e.getMessage() );
} catch (Exception e) {
trace.addWarning("Error" + e);
// 8. return a single id value to the message mapping
return returnValue; -
Hi,
I am trying to do RFC Lookup in XSLT.
I got this excellent mapping tool here at sdn:
RFC Lookup by Thorsten Nordholm Søbirk
But I am having problems when I uses this in a multi-record mapping. (many-to one) with lookup for every element.
Has anyone done IDOC with XSLT and RFC lookup (PI 7.11) ? Can you share the XSLT or experience?
Thx for sharingHi @ Fariah Ali
here is the mapping:
Inbound: IDOC HRMD_A07 (from ALE replication)
We only want to have Infotypes IT0001, IT0002, IT0050
Outbound:
<?xml version="1.0" encoding="utf-8"?>
<mt_I004_Time_Stammdaten>
<Datensatz>
<PersNr>PERSNR</PersNr>
<Name>ENAME</Name>
<Eintrittsdatum>BEGDA</Eintrittsdatum>
Austrittsdatum>ENDDA</Austrittsdatum>
<BeschArt/>
<Gueltigkeitsdatum/>
</Datensatz>
</mt_I004_Time_Stammdaten>
thx holger -
Java RFC lookup from XSLT mapping
I tried to implement a generic Java RFC Lookup class to be called as a Java extension from my XSLT mapping. I found the How-To-Guide "Easy RFC lookup from XSLT mappings using a Java helper class" ([Easy RFC lookup pdf site|http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/05a3d62e-0a01-0010-14bc-adc8efd4ee14?quicklink=index&overridelayout=true]) and tailored the source code to my XSLT program. I am getting the error "Variable '$inputparam' has not been bound to a value". Can anyone tell me what I am missing? I am not familiar with java at all, and only moderately familiar with XSLT.
> I am getting the error "Variable '$inputparam' has not been bound to a value". Can anyone tell me what I am missing?
At runtime the variable does not get value. You need to assign value to the variable inputparam. Just curious why dont use the RFC lookup graphical which is very easy and no need to handle java programming. You need to configure just reciever RFC communication channel. -
Attachments deleted during message mapping in PI 7.1
We have upgraded our SAP XI 3.0 SP 22 system to SAP PI 7.1 SP06. In XI 3.0 we created some message mappings that mapped an XML payload with attachments to another message type. The attachments would still exist after the mapping step. In SAP PI 7.1 we now see that attachements are deleted from the message. We cannot see why this is happening. We have tried to set the 3 new option in the operation mappings without any results. The attachements are still being deleted.
Active Options in operation mappings:
Use SAPXMLToolkit = true
Do Not Resolve XOP includes = false
Read Attachements = false
In the SXMB_MONI we can see that the attachements are deleted after the Request Message Mapping step. It is a simple proxy-to-proxy scenario with interface and message mapping.
<Trace level="1" type="B" name="CL_MAPPING_XMS_PLSRV3-ENTER_PLSRV">
<Trace level="2" type="T">......attachment XI_Context not found</Trace>
<Trace level="3" type="T">Mapping already defined in interface determination</Trace>
<Trace level="3" type="T">Object ID of Interface Mapping 46842937562139BCA3F2AC1F36E729FE</Trace>
<Trace level="3" type="T">Version ID of Interface Mapping 5D945F00B00611DDB04FF8CF0A5B0156</Trace>
<Trace level="1" type="T">Interface Mapping urn:kadaster-nl:SERV:ZA:KAD:DOVO im_mail_to_dms</Trace>
<Trace level="3" type="T">Mapping Steps 1 JAVA com/sap/xi/tf/_mm_mail_to_dms_</Trace>
<Trace level="3" type="T">MTOM Attachments are Transferred to the Payload</Trace>
<Trace level="3" type="T">Dynamic Configuration Is Empty</Trace>
<Trace level="2" type="T">Mode 0</Trace>
<Trace level="3" type="T">Search com/sap/xi/tf/_mm_mail_to_dms_.class (urn:kadaster-nl:SERV:ZA:KAD:DOVO, -1) in swcv 5d945f00-b006-11dd-b04f-f8cf0a5b0156.</Trace>
<Trace level="2" type="T">Loaded class com.sap.xi.tf._mm_mail_to_dms_</Trace>
<Trace level="3" type="T">Search com/sap/xi/tf/_mm_mail_to_dms_$MT$InnerLibsList.class (urn:kadaster-nl:SERV:ZA:KAD:DOVO, -1) in swcv 5d945f00-b006-11dd-b04f-f8cf0a5b0156.</Trace>
<Trace level="2" type="T">Loaded class com.sap.xi.tf._mm_mail_to_dms_$MT$InnerLibsList</Trace>
<Trace level="3" type="T">Search com/sap/xi/tf/_mm_mail_to_dms_$MT$InnerParamsList.class (urn:kadaster-nl:SERV:ZA:KAD:DOVO, -1) in swcv 5d945f00-b006-11dd-b04f-f8cf0a5b0156.</Trace>
<Trace level="2" type="T">Loaded class com.sap.xi.tf._mm_mail_to_dms_$MT$InnerParamsList</Trace>
<Trace level="2" type="T">Call method execute of the application Java mapping com.sap.xi.tf._mm_mail_to_dms_</Trace>
<Trace level="1" type="T">*** START APPLICATION TRACE ***</Trace>
<Trace level="3" type="T">Document start</Trace>
<Trace level="3" type="T">Start tag [ns1:OpvoerenDocumentRequest]</Trace>
<Trace level="3" type="T">Add raw attribute [ xmlns:ns1="urn:kadaster-nl:SERVICES:DMS:Opvoeren:ZI_KAD_DMS_MAIN"]</Trace>
<Trace level="3" type="T">Start tag [DocumentInfoRecord]</Trace>
<Trace level="3" type="T">Start tag [Type]</Trace>
<Trace level="3" type="T">Put value [302]</Trace>
<Trace level="3" type="T">Close tag [Type]</Trace>
<Trace level="3" type="T">Start tag [Omschrijving]</Trace>
<Trace level="3" type="T">Put value [Apeldoorn]</Trace>
<Trace level="3" type="T">Close tag [Omschrijving]</Trace>
<Trace level="3" type="T">Close tag [DocumentInfoRecord]</Trace>
<Trace level="3" type="T">Close tag [ns1:OpvoerenDocumentRequest]</Trace>
<Trace level="3" type="T">Document end</Trace>
<Trace level="1" type="T">*** END APPLICATION TRACE ***</Trace>
<Trace level="2" type="T">Java mapping com/sap/xi/tf/_mm_mail_to_dms_ completed. (executeStep() of com.sap.xi.tf._mm_mail_to_dms_).</Trace>
<Trace level="3" type="T">Dynamic Configuration Is Empty</Trace>
<Trace level="3" type="T">Attached will be Deleted cid:payload-001708D1A20E1DEDAD96471B4CCBC447(@)sap.com</Trace>
<Trace level="3" type="T">Attached will be Deleted cid:payload-001708D1A20E1DEDAD96471B4C758447(@)sap.com</Trace>
<Trace level="1" type="T">ContentType application/xml</Trace>
Regards,
JeroenHi Michal,
Already tried this option too. However this option would only transfer the attachments to
the mapping runtime in JAVA. We only map the actual payload in a graphical message
mapping, so for our purpose, the other attachments could stay untouched and remain
in the abap part for further pipeline processing.
You can find the result of the Read attachment option during runtime here:
<!-- ************************************
-->
- <Trace level="1" type="B" name="CL_MAPPING_XMS_PLSRV3-ENTER_PLSRV">
<Trace level="2" type="T">......attachment XI_Context not found</Trace>
<Trace level="3" type="T">Mapping already defined in interface determination</Trace>
<Trace level="3" type="T">Object ID of Interface Mapping 46842937562139BCA3F2AC1F36E729FE</Trace>
<Trace level="3" type="T">Version ID of Interface Mapping 5D945F00B00611DDB04FF8CF0A5B0156</Trace>
<Trace level="1" type="T">Interface Mapping urn:kadaster-nl:SERV:ZA:KAD:DOVO im_mail_to_dms</Trace>
<Trace level="3" type="T">Mapping Steps 1 JAVA com/sap/xi/tf/_mm_mail_to_dms_</Trace>
<Trace level="3" type="T">MTOM Attachments are Transferred to the Payload</Trace>
<Trace level="3" type="T">Dynamic Configuration Is Empty</Trace>
<Trace level="2" type="T">Mode 0</Trace>
<Trace level="3" type="T">Search com/sap/xi/tf/_mm_mail_to_dms_.class (urn:kadaster-nl:SERV:ZA:KAD:DOVO, -1) in swcv 5d945f00-b006-11dd-b04f-f8cf0a5b0156.</Trace>
<Trace level="2" type="T">Loaded class com.sap.xi.tf._mm_mail_to_dms_</Trace>
<Trace level="3" type="T">Search com/sap/xi/tf/_mm_mail_to_dms_$MT$InnerLibsList.class (urn:kadaster-nl:SERV:ZA:KAD:DOVO, -1) in swcv 5d945f00-b006-11dd-b04f-f8cf0a5b0156.</Trace>
<Trace level="2" type="T">Loaded class com.sap.xi.tf._mm_mail_to_dms_$MT$InnerLibsList</Trace>
<Trace level="3" type="T">Search com/sap/xi/tf/_mm_mail_to_dms_$MT$InnerParamsList.class (urn:kadaster-nl:SERV:ZA:KAD:DOVO, -1) in swcv 5d945f00-b006-11dd-b04f-f8cf0a5b0156.</Trace>
<Trace level="2" type="T">Loaded class com.sap.xi.tf._mm_mail_to_dms_$MT$InnerParamsList</Trace>
<Trace level="2" type="T">Call method execute of the application Java mapping com.sap.xi.tf._mm_mail_to_dms_</Trace>
<Trace level="1" type="T">*** START APPLICATION TRACE ***</Trace>
<Trace level="3" type="T">Document start</Trace>
<Trace level="3" type="T">Start tag [ns1:OpvoerenDocumentRequest]</Trace>
<Trace level="3" type="T">Add raw attribute [ xmlns:ns1="urn:kadaster-nl:SERVICES:DMS:Opvoeren:ZI_KAD_DMS_MAIN"]</Trace>
<Trace level="3" type="T">Start tag [DocumentInfoRecord]</Trace>
<Trace level="3" type="T">Start tag [Type]</Trace>
<Trace level="3" type="T">Put value [302]</Trace>
<Trace level="3" type="T">Close tag [Type]</Trace>
<Trace level="3" type="T">Start tag [Omschrijving]</Trace>
<Trace level="3" type="T">Put value [Apeldoorn]</Trace>
<Trace level="3" type="T">Close tag [Omschrijving]</Trace>
<Trace level="3" type="T">Close tag [DocumentInfoRecord]</Trace>
<Trace level="3" type="T">Close tag [ns1:OpvoerenDocumentRequest]</Trace>
<Trace level="3" type="T">Document end</Trace>
<Trace level="1" type="T">*** END APPLICATION TRACE ***</Trace>
<Trace level="2" type="T">Java mapping com/sap/xi/tf/_mm_mail_to_dms_ completed. (executeStep() of com.sap.xi.tf._mm_mail_to_dms_).</Trace>
<Trace level="3" type="T">Dynamic Configuration Is Empty</Trace>
<Trace level="3" type="T">Attached will be Deleted cid:payload-001708D1A20E1DDDAD97A993DAB6CB91(@)sap.com</Trace>
<Trace level="3" type="T">Attached will be Deleted cid:payload-001708D1A20E1DDDAD97A993DB0E4B91(@)sap.com</Trace>
<Trace level="1" type="T">ContentType application/xml</Trace>
</Trace>
</Trace>
</Trace>
Thanks -
RFC Lookup using Java Mapping issues
Dear Experts,
I am trying to use RFC Lookup in my Java program but for some reason I am getting a null point exception on the result variable when the program is executing the following code(rfcin = result.getContent();). Could anyone give me some advise on this issue please? screen print of the code attached with this email.
Advance Thanks,
PradeepThanks Steve,
Please find the dump after the proposed change.
java.lang.RuntimeException:
com.sap.aii.mapping.lookup.LookupException: Plain
exception:Error when calling an adapter by using the
communication channel ccRFCReceiverNPI (Party: , Service:
BS_ECD, Object ID: 00b61d6e4363334d8bd052dfb9c2c09a) The
channel with object ID 00b61d6e4363334d8bd052dfb9c2c09a could
not be found in the Integration Server Java Cache. Check if
the channel exists in the Integration Builder Directory and
execute a refresh of the Java Cache.
com.sap.aii.mapping.lookup.LookupException:
Error when calling an adapter by using the communication
channel ccRFCReceiverNPI (Party: , Service: BS_ECD, Object ID:
00b61d6e4363334d8bd052dfb9c2c09a) The channel with object ID
00b61d6e4363334d8bd052dfb9c2c09a could not be found in the
Integration Server Java Cache. Check if the channel exists in
the Integration Builder Directory and execute a refresh of the
Java Cache.
at
com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.getProxy(SystemAccessorInternal.java:130)
at
com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.<init>(SystemAccessorInternal.java:46)
at
com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.getConnection(SystemAccessorHmiServer.java:265)
at
com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:69)
at
com.sap.aii.utilxi.hmis.server.HmisServiceImpl.invokeMethod(HmisServiceImpl.java:139)
at
com.sap.aii.utilxi.hmis.server.HmisServer.process(HmisServer.java:224)
at
com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:370)
at
com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:271)
at
com.sap.aii.utilxi.hmis.web.workers.HmisInternalClient.doWork(HmisInternalClient.java:70)
at
com.sap.aii.utilxi.hmis.web.HmisServletImpl.doWork(HmisServletImpl.java:570)
at
com.sap.aii.utilxi.hmis.web.HmisServletImpl.doPost(HmisServletImpl.java:711)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at
com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.runServlet(FilterChainImpl.java:202)
at
com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:103)
at
com.sap.engine.services.servlets_jsp.server.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:126)
at
com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at
com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:432)
at
com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:210)
at
com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:441)
at
com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:430)
at
com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:38)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:81)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:276)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:81)
at
com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)
at
com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.SessionSizeFilter.process(SessionSizeFilter.java:26)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:57)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:43)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:475)
at
com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:269)
at
com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:56)
at
com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)
at
com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)
at
com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)
Caused
by:
com.sap.aii.ibrun.server.cache.channel.ChannelReader$CachedChannelNotFoundException:
The channel with object ID 00b61d6e4363334d8bd052dfb9c2c09a
could not be found in the Integration Server Java Cache. Check
if the channel exists in the Integration Builder Directory and
execute a refresh of the Java Cache.
at
com.sap.aii.ibrun.server.cache.channel.ChannelPersistor.read(ChannelPersistor.java:56)
at
com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.getProxy(SystemAccessorInternal.java:109)
53 more
at
ConsignmentTrackingMapping.execute(ConsignmentTrackingMapping.java:272)
at
ConsignmentTrackingMapping.transform(ConsignmentTrackingMapping.java:46)
at
com.sap.aii.ib.server.mapping.execution.JavaMapping.executeStep(JavaMapping.java:92)
at
com.sap.aii.ib.server.mapping.execution.Mapping.execute(Mapping.java:60)
at
com.sap.aii.ib.server.mapping.execution.MappingHandler.map(MappingHandler.java:87)
at
com.sap.aii.ib.server.mapping.execution.MappingHandler.map(MappingHandler.java:54)
at
com.sap.aii.ibrep.server.mapping.rt.MappingHandlerAdapter.run(MappingHandlerAdapter.java:139)
at
com.sap.aii.ibrep.server.mapping.exec.ExecuteIfMapCommand.execute(ExecuteIfMapCommand.java:33)
at
com.sap.aii.ib.server.mapping.exec.CommandManager.execute(CommandManager.java:43)
at
com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:40)
at
com.sap.aii.ibrep.server.mapping.MapServiceBean.execute(MapServiceBean.java:40)
at
sun.reflect.GeneratedMethodAccessor640.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at
java.lang.reflect.Method.invoke(Method.java:597)
at
com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:47)
at
com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)
at
com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)
at
com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at
com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:47)
at
com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at
com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:37)
at
com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:21)
at
com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at
com.sap.engine.services.ejb3.runtime.impl.Interceptors_MethodRetry.invoke(Interceptors_MethodRetry.java:46)
at
com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at
com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189)
at
com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16)
at
com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at
com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:25)
at
com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at
com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:17)
at
com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at
com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:138)
at
com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164)
at
$Proxy1181.execute(Unknown Source)
at
sun.reflect.GeneratedMethodAccessor639.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at
java.lang.reflect.Method.invoke(Method.java:597)
at
com.sap.engine.services.rmi_p4.P4DynamicSkeleton.dispatch(P4DynamicSkeleton.java:240)
at
com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:459)
at
com.sap.engine.services.rmi_p4.server.ServerDispatchImpl.run(ServerDispatchImpl.java:69)
at
com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:72)
at
com.sap.engine.services.rmi_p4.P4Message.execute(P4Message.java:43)
at
com.sap.engine.services.cross.fca.FCAConnectorImpl.executeRequest(FCAConnectorImpl.java:983)
at
com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:59)
at
com.sap.engine.services.cross.fca.MessageReader.run(MessageReader.java:55)
at
com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)
at
com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)
at
com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)
Caused
by: com.sap.aii.mapping.lookup.LookupException: Plain
exception:Error when calling an adapter by using the
communication channel ccRFCReceiverNPI (Party: , Service:
BS_ECD, Object ID: 00b61d6e4363334d8bd052dfb9c2c09a) The
channel with object ID 00b61d6e4363334d8bd052dfb9c2c09a could
not be found in the Integration Server Java Cache. Check if
the channel exists in the Integration Builder Directory and
execute a refresh of the Java Cache.
com.sap.aii.mapping.lookup.LookupException:
Error when calling an adapter by using the communication
channel ccRFCReceiverNPI (Party: , Service: BS_ECD, Object ID:
00b61d6e4363334d8bd052dfb9c2c09a) The channel with object ID
00b61d6e4363334d8bd052dfb9c2c09a could not be found in the
Integration Server Java Cache. Check if the channel exists in
the Integration Builder Directory and execute a refresh of the
Java Cache.
at
com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.getProxy(SystemAccessorInternal.java:130)
at
com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.<init>(SystemAccessorInternal.java:46)
at
com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.getConnection(SystemAccessorHmiServer.java:265)
at
com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:69)
at
com.sap.aii.utilxi.hmis.server.HmisServiceImpl.invokeMethod(HmisServiceImpl.java:139)
at
com.sap.aii.utilxi.hmis.server.HmisServer.process(HmisServer.java:224)
at
com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:370)
at
com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:271)
at
com.sap.aii.utilxi.hmis.web.workers.HmisInternalClient.doWork(HmisInternalClient.java:70)
at
com.sap.aii.utilxi.hmis.web.HmisServletImpl.doWork(HmisServletImpl.java:570)
at
com.sap.aii.utilxi.hmis.web.HmisServletImpl.doPost(HmisServletImpl.java:711)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at
com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.runServlet(FilterChainImpl.java:202)
at
com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:103)
at
com.sap.engine.services.servlets_jsp.server.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:126)
at
com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at
com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:432)
at
com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:210)
at
com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:441)
at
com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:430)
at
com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:38)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:81)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:276)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:81)
at
com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)
at
com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.SessionSizeFilter.process(SessionSizeFilter.java:26)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:57)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:43)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:475)
at
com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:269)
at
com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:56)
at
com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)
at
com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)
at
com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)
Caused
by:
com.sap.aii.ibrun.server.cache.channel.ChannelReader$CachedChannelNotFoundException:
The channel with object ID 00b61d6e4363334d8bd052dfb9c2c09a
could not be found in the Integration Server Java Cache. Check
if the channel exists in the Integration Builder Directory and
execute a refresh of the Java Cache.
at
com.sap.aii.ibrun.server.cache.channel.ChannelPersistor.read(ChannelPersistor.java:56)
at
com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.getProxy(SystemAccessorInternal.java:109)
53 more
at
com.sap.aii.ibrep.server.lookup.LookupServiceProvider$RemoteClientDelegator.<init>(LookupServiceProvider.java:102)
at
com.sap.aii.ibrep.server.lookup.LookupServiceProvider$RemoteClientDelegator.<init>(LookupServiceProvider.java:88)
at
com.sap.aii.ibrep.server.lookup.LookupServiceProvider$RemoteClient.getSystemAccessor(LookupServiceProvider.java:75)
at
com.sap.aii.mapping.lookup.LookupService.getSystemAccessor(LookupService.java:138)
at
ConsignmentTrackingMapping.execute(ConsignmentTrackingMapping.java:254)
48 more
Caused by:
com.sap.aii.utilxi.hmi.api.HmiMethodFault: Plain
exception:Error when calling an adapter by using the
communication channel ccRFCReceiverNPI (Party: , Service:
BS_ECD, Object ID: 00b61d6e4363334d8bd052dfb9c2c09a) The
channel with object ID 00b61d6e4363334d8bd052dfb9c2c09a could
not be found in the Integration Server Java Cache. Check if
the channel exists in the Integration Builder Directory and
execute a refresh of the Java Cache.
com.sap.aii.mapping.lookup.LookupException:
Error when calling an adapter by using the communication
channel ccRFCReceiverNPI (Party: , Service: BS_ECD, Object ID:
00b61d6e4363334d8bd052dfb9c2c09a) The channel with object ID
00b61d6e4363334d8bd052dfb9c2c09a could not be found in the
Integration Server Java Cache. Check if the channel exists in
the Integration Builder Directory and execute a refresh of the
Java Cache.
at
com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.getProxy(SystemAccessorInternal.java:130)
at
com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.<init>(SystemAccessorInternal.java:46)
at
com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.getConnection(SystemAccessorHmiServer.java:265)
at
com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:69)
at
com.sap.aii.utilxi.hmis.server.HmisServiceImpl.invokeMethod(HmisServiceImpl.java:139)
at
com.sap.aii.utilxi.hmis.server.HmisServer.process(HmisServer.java:224)
at
com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:370)
at
com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:271)
at
com.sap.aii.utilxi.hmis.web.workers.HmisInternalClient.doWork(HmisInternalClient.java:70)
at
com.sap.aii.utilxi.hmis.web.HmisServletImpl.doWork(HmisServletImpl.java:570)
at
com.sap.aii.utilxi.hmis.web.HmisServletImpl.doPost(HmisServletImpl.java:711)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at
com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.runServlet(FilterChainImpl.java:202)
at
com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:103)
at
com.sap.engine.services.servlets_jsp.server.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:126)
at
com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at
com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:432)
at
com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:210)
at
com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:441)
at
com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:430)
at
com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:38)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:81)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:276)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:81)
at
com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)
at
com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.SessionSizeFilter.process(SessionSizeFilter.java:26)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:57)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:43)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:475)
at
com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:269)
at
com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:56)
at
com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)
at
com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)
at
com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)
Caused
by:
com.sap.aii.ibrun.server.cache.channel.ChannelReader$CachedChannelNotFoundException:
The channel with object ID 00b61d6e4363334d8bd052dfb9c2c09a
could not be found in the Integration Server Java Cache. Check
if the channel exists in the Integration Builder Directory and
execute a refresh of the Java Cache.
at
com.sap.aii.ibrun.server.cache.channel.ChannelPersistor.read(ChannelPersistor.java:56)
at
com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.getProxy(SystemAccessorInternal.java:109)
53 more
at
com.sap.aii.utilxi.hmi.api.HmiMethodFault.parseGdi(HmiMethodFault.java:156)
at
com.sap.aii.utilxi.hmi.core.msg.HmiResponse.setState(HmiResponse.java:190)
at
com.sap.aii.utilxi.hmi.core.msg.HmiResponse.parseGdi(HmiResponse.java:141)
at
com.sap.aii.utilxi.hmi.api.HmiHttpJDKClient.sendRequestAndReceiveResponse(HmiHttpJDKClient.java:257)
at
com.sap.aii.utilxi.hmi.api.HmiClientAdapter.invokeMethod(HmiClientAdapter.java:92)
at
com.sap.aii.ibrep.server.lookup.SystemAccessorHmiClient.<init>(SystemAccessorHmiClient.java:52)
at
com.sap.aii.ibrep.server.lookup.SystemAccessorHmiClient.getInstance(SystemAccessorHmiClient.java:73)
at
com.sap.aii.ibrep.server.lookup.LookupServiceProvider$RemoteClientDelegator.<init>(LookupServiceProvider.java:98)
52 more
Root Cause:
com.sap.aii.mapping.lookup.LookupException:
Plain exception:Error when calling an adapter by using the
communication channel ccRFCReceiverNPI (Party: , Service:
BS_ECD, Object ID: 00b61d6e4363334d8bd052dfb9c2c09a) The
channel with object ID 00b61d6e4363334d8bd052dfb9c2c09a could
not be found in the Integration Server Java Cache. Check if
the channel exists in the Integration Builder Directory and
execute a refresh of the Java Cache.
com.sap.aii.mapping.lookup.LookupException:
Error when calling an adapter by using the communication
channel ccRFCReceiverNPI (Party: , Service: BS_ECD, Object ID:
00b61d6e4363334d8bd052dfb9c2c09a) The channel with object ID
00b61d6e4363334d8bd052dfb9c2c09a could not be found in the
Integration Server Java Cache. Check if the channel exists in
the Integration Builder Directory and execute a refresh of the
Java Cache.
at
com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.getProxy(SystemAccessorInternal.java:130)
at
com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.<init>(SystemAccessorInternal.java:46)
at
com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.getConnection(SystemAccessorHmiServer.java:265)
at
com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:69)
at
com.sap.aii.utilxi.hmis.server.HmisServiceImpl.invokeMethod(HmisServiceImpl.java:139)
at
com.sap.aii.utilxi.hmis.server.HmisServer.process(HmisServer.java:224)
at
com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:370)
at
com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:271)
at
com.sap.aii.utilxi.hmis.web.workers.HmisInternalClient.doWork(HmisInternalClient.java:70)
at
com.sap.aii.utilxi.hmis.web.HmisServletImpl.doWork(HmisServletImpl.java:570)
at
com.sap.aii.utilxi.hmis.web.HmisServletImpl.doPost(HmisServletImpl.java:711)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at
com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.runServlet(FilterChainImpl.java:202)
at
com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:103)
at
com.sap.engine.services.servlets_jsp.server.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:126)
at
com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at
com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:432)
at
com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:210)
at
com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:441)
at
com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:430)
at
com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:38)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:81)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:276)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:81)
at
com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)
at
com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.SessionSizeFilter.process(SessionSizeFilter.java:26)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:57)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:43)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:475)
at
com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:269)
at
com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:56)
at
com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)
at
com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)
at
com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)
Caused
by:
com.sap.aii.ibrun.server.cache.channel.ChannelReader$CachedChannelNotFoundException:
The channel with object ID 00b61d6e4363334d8bd052dfb9c2c09a
could not be found in the Integration Server Java Cache. Check
if the channel exists in the Integration Builder Directory and
execute a refresh of the Java Cache.
at
com.sap.aii.ibrun.server.cache.channel.ChannelPersistor.read(ChannelPersistor.java:56)
at
com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.getProxy(SystemAccessorInternal.java:109)
53 more
at
com.sap.aii.ibrep.server.lookup.LookupServiceProvider$RemoteClientDelegator.<init>(LookupServiceProvider.java:102)
at
com.sap.aii.ibrep.server.lookup.LookupServiceProvider$RemoteClientDelegator.<init>(LookupServiceProvider.java:88)
at
com.sap.aii.ibrep.server.lookup.LookupServiceProvider$RemoteClient.getSystemAccessor(LookupServiceProvider.java:75)
at
com.sap.aii.mapping.lookup.LookupService.getSystemAccessor(LookupService.java:138)
at
ConsignmentTrackingMapping.execute(ConsignmentTrackingMapping.java:254)
at
ConsignmentTrackingMapping.transform(ConsignmentTrackingMapping.java:46)
at
com.sap.aii.ib.server.mapping.execution.JavaMapping.executeStep(JavaMapping.java:92)
at
com.sap.aii.ib.server.mapping.execution.Mapping.execute(Mapping.java:60)
at
com.sap.aii.ib.server.mapping.execution.MappingHandler.map(MappingHandler.java:87)
at
com.sap.aii.ib.server.mapping.execution.MappingHandler.map(MappingHandler.java:54)
at
com.sap.aii.ibrep.server.mapping.rt.MappingHandlerAdapter.run(MappingHandlerAdapter.java:139)
at
com.sap.aii.ibrep.server.mapping.exec.ExecuteIfMapCommand.execute(ExecuteIfMapCommand.java:33)
at
com.sap.aii.ib.server.mapping.exec.CommandManager.execute(CommandManager.java:43)
at
com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:40)
at
com.sap.aii.ibrep.server.mapping.MapServiceBean.execute(MapServiceBean.java:40)
at
sun.reflect.GeneratedMethodAccessor640.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at
java.lang.reflect.Method.invoke(Method.java:597)
at
com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:47)
at
com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)
at
com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)
at
com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at
com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:47)
at
com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at
com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:37)
at
com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:21)
at
com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at
com.sap.engine.services.ejb3.runtime.impl.Interceptors_MethodRetry.invoke(Interceptors_MethodRetry.java:46)
at
com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at
com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189)
at
com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16)
at
com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at
com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:25)
at
com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at
com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:17)
at
com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at
com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:138)
at
com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164)
at
$Proxy1181.execute(Unknown Source)
at
sun.reflect.GeneratedMethodAccessor639.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at
java.lang.reflect.Method.invoke(Method.java:597)
at
com.sap.engine.services.rmi_p4.P4DynamicSkeleton.dispatch(P4DynamicSkeleton.java:240)
at
com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:459)
at
com.sap.engine.services.rmi_p4.server.ServerDispatchImpl.run(ServerDispatchImpl.java:69)
at
com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:72)
at
com.sap.engine.services.rmi_p4.P4Message.execute(P4Message.java:43)
at
com.sap.engine.services.cross.fca.FCAConnectorImpl.executeRequest(FCAConnectorImpl.java:983)
at
com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:59)
at
com.sap.engine.services.cross.fca.MessageReader.run(MessageReader.java:55)
at
com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)
at
com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)
at
com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)
Caused
by: com.sap.aii.utilxi.hmi.api.HmiMethodFault: Plain
exception:Error when calling an adapter by using the
communication channel ccRFCReceiverNPI (Party: , Service:
BS_ECD, Object ID: 00b61d6e4363334d8bd052dfb9c2c09a) The
channel with object ID 00b61d6e4363334d8bd052dfb9c2c09a could
not be found in the Integration Server Java Cache. Check if
the channel exists in the Integration Builder Directory and
execute a refresh of the Java Cache.
com.sap.aii.mapping.lookup.LookupException:
Error when calling an adapter by using the communication
channel ccRFCReceiverNPI (Party: , Service: BS_ECD, Object ID:
00b61d6e4363334d8bd052dfb9c2c09a) The channel with object ID
00b61d6e4363334d8bd052dfb9c2c09a could not be found in the
Integration Server Java Cache. Check if the channel exists in
the Integration Builder Directory and execute a refresh of the
Java Cache.
at
com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.getProxy(SystemAccessorInternal.java:130)
at
com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.<init>(SystemAccessorInternal.java:46)
at
com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.getConnection(SystemAccessorHmiServer.java:265)
at
com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:69)
at
com.sap.aii.utilxi.hmis.server.HmisServiceImpl.invokeMethod(HmisServiceImpl.java:139)
at
com.sap.aii.utilxi.hmis.server.HmisServer.process(HmisServer.java:224)
at
com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:370)
at
com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:271)
at
com.sap.aii.utilxi.hmis.web.workers.HmisInternalClient.doWork(HmisInternalClient.java:70)
at
com.sap.aii.utilxi.hmis.web.HmisServletImpl.doWork(HmisServletImpl.java:570)
at
com.sap.aii.utilxi.hmis.web.HmisServletImpl.doPost(HmisServletImpl.java:711)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at
com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.runServlet(FilterChainImpl.java:202)
at
com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:103)
at
com.sap.engine.services.servlets_jsp.server.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:126)
at
com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at
com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:432)
at
com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:210)
at
com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:441)
at
com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:430)
at
com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:38)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:81)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:276)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:81)
at
com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)
at
com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.SessionSizeFilter.process(SessionSizeFilter.java:26)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:57)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:43)
at
com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at
com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
at
com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:475)
at
com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:269)
at
com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:56)
at
com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)
at
com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)
at
com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)
Caused
by:
com.sap.aii.ibrun.server.cache.channel.ChannelReader$CachedChannelNotFoundException:
The channel with object ID 00b61d6e4363334d8bd052dfb9c2c09a
could not be found in the Integration Server Java Cache. Check
if the channel exists in the Integration Builder Directory and
execute a refresh of the Java Cache.
at
com.sap.aii.ibrun.server.cache.channel.ChannelPersistor.read(ChannelPersistor.java:56)
at
com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.getProxy(SystemAccessorInternal.java:109)
53 more
at
com.sap.aii.utilxi.hmi.api.HmiMethodFault.parseGdi(HmiMethodFault.java:156)
at
com.sap.aii.utilxi.hmi.core.msg.HmiResponse.setState(HmiResponse.java:190)
at
com.sap.aii.utilxi.hmi.core.msg.HmiResponse.parseGdi(HmiResponse.java:141)
at
com.sap.aii.utilxi.hmi.api.HmiHttpJDKClient.sendRequestAndReceiveResponse(HmiHttpJDKClient.java:257)
at
com.sap.aii.utilxi.hmi.api.HmiClientAdapter.invokeMethod(HmiClientAdapter.java:92)
at
com.sap.aii.ibrep.server.lookup.SystemAccessorHmiClient.<init>(SystemAccessorHmiClient.java:52)
at
com.sap.aii.ibrep.server.lookup.SystemAccessorHmiClient.getInstance(SystemAccessorHmiClient.java:73)
at
com.sap.aii.ibrep.server.lookup.LookupServiceProvider$RemoteClientDelegator.<init>(LookupServiceProvider.java:98)
52 more
Root Cause:
com.sap.aii.utilxi.hmi.api.HmiMethodFault:
Plain exception:Error when calling an adapter by using the
communication channel ccRFCReceiverNPI (Party: , Service:
BS_ECD, Object ID: 00b61d6e4363334d8bd052dfb9c2c09a) The
channel with object ID 00b61d6e4363334d8bd052dfb9c2c09a could
not be found in the Integration Server Java Cache. Check if
the channel exists in the Integration Builder Directory and
execute a refresh of the Java Cache.
com.sap.aii.mapping.lookup.LookupException:
Error when calling an adapter by using the communication
channel ccRFCReceiverNPI (Party: , Service: BS_ECD, Object ID:
00b61d6e4363334d8bd052dfb9c2c09a) The channel with object ID
00b61d6e4363334d8bd052dfb9c2c09a could not be found in the
Integration Server Java Cache. Check if the channel exists in
the Integration Builder Directory and execute a refresh of the
Java Cache.
at
com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.getProxy(SystemAccessorInternal.java:130)
at
com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.<init>(SystemAccessorInternal.java:46) -
Local lookup in message mapping
Hi all,
I've a table on the SAP PI system filled with data. From my message mapping, I want to do a lookup.
What's the best way to perform this lookup.
Again, this is a local table. So not a table residing on the SAP ECC system.
Thanks a lot.
DimitriHi,
>>>I've a table on the SAP PI system filled with data. From my message mapping, I want to do a lookup.
What's the best way to perform this lookup.
the best/easiest way would be to use ABAP mapping (right after your message mapping - as in interface
determination you can have many mappings)
just to do the lookup in XI table (in abap mapping you juse use a select to get this data)
so map the data in message mapping
then do the lookup in abap mapping just for this one field
Regards,
Michal Krawczyk -
Use RFC Lookup in Graphical Mapping for Database Update
Hello,
I am wondering whether the RFC Lookup function in graphical mapping provides the same functionality as a general RFC function call.
In detail I would like to update a database table using a RFC which just takes some input parameters but does not use any output parameters. Would this work too as the name "lookup" implies that it might just be possible to read something?HI,
Refer these links:
RFC Lookup by michal
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a03e7b02-eea4-2910-089f-8214c6d1b439
https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/8e7daa90-0201-0010-9499-cd347ffbbf72
http://help.sap.com/saphelp_nw04/helpdata/en/cf/406642ea59c753e10000000a1550b0/content.htm
DB lookup - /people/siva.maranani/blog/2005/08/23/lookup146s-in-xi-made-simpler
Regards,
Nithiyanandam -
Raising exceptions in database lookups in message mapping
Hi
We have been able to successfully do a database lookup from within a message mapping - thanks to weblogs already existing out there. However, we have requirement that states that - if the lookup fails ( failure to connect to DB / data retrieved is null ) , then the mapping should fail - and an exception raised.
How can we go about doing this from within the java code - of the mapping lookup ?
Any correct pointers /solutions to achieve this will be rewarded rightaway. Thanks in advance for your time.Hi,
you can use Alessandro's way:
/people/alessandro.guarneri/blog/2006/01/26/throwing-smart-exceptions-in-xi-graphical-mapping
this way you can throw smart exceptions:)
Regards,
michal
<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>
Maybe you are looking for
-
How to download pics from n900 web browser?
hai! i want to know that is there any method of saving a pics from the n900 web browser i mean is there any kind of left click so that i can save pics from the web browser! can any one give answer.......?
-
I NEED HELP FROM ANYONE!!!!!!!!!!!!
MY NOMAD MUVO WILL NOT OPEN OR FORMAT IT SAYS: AN I\O ERROR HAS OCCURED SOME ONE PLEASE HELP
-
INS0034 when installing the runtime
Hello We are working with OWB and we have the following problem. We have one database where we have installed the repository and the runtime. In there we have four users (rep,runt,acc,target). We have some projects in this database and now we want to
-
Reporting accuracy, and OS requirements for updates?
Maybe I am not doing "Software Updates" or "Device Collections" right, but I have a collection of computers I'm deploying Software Updates to. The Software Update package currently only consist of Windows 7 updates. The collection I'm deploying to,
-
I forgot my alternative password, and cant change from my fingerprint
i forgot my alternative password, and cant change from my fingerprint