XSLT & JAVA Mapping issue.
is there any situation,
where we should definately go for XSLT mapping..
where we should definately go for JAVA mapping..
can anyone brief me plz....
Cheers,
Raghavesh
No hard and fast rules.
There never can be specific rules.
1. Java Mapping should be used when the input is NON XML for sure. As the input is a InputSTream, you can convert it to a string and do the needful programmic logic etc.
2. XSL can be used with HTML source etc.
Regards
Bhavesh
Similar Messages
-
Hi,
I'm new to JAVA mapping and I'm having an issue which I can't get resolved :
When I execute my mapping I get :
<SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
<SAP:Category>Application</SAP:Category>
<SAP:Code area="MAPPING">LINKAGE_ERROR</SAP:Code>
<SAP:P1>XIFileNameMapClass</SAP:P1>
<SAP:P2>http://notimportant.com/xi/SOOFT</SAP:P2>
<SAP:P3>068fe9b0-44d1-11db-c69d-ee989e43162e</SAP:P3>
<SAP:P4>-1</SAP:P4>
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>Incompatible class versions (linkage error)</SAP:Stack>
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
I'm using eclipse for the java class and I have choosen several jre versions to create the .jar file but all lead to the same error.
I had copied the required aii_map_api.jar.jar from xi box to my local project directory and added it as an external .jar to my project.
But since I new to JAVA and unsure on what exactly is going into the jar and what not.
Is it important with which jre version you build the java class ? ( Xi is running on 1.4.2_12 ) I tried first with 1.5.0_06 and then with 1.4.2_9 and then 1.4.2_13 all with the same result.
I do this by adding a different jre to the properties of my project. And then I export to the .jar file . Is that enough ? ( I was expecting something like a 'build' option somewhere but I can't find that in eclipse )
When I imported the archive in XI, I also see a .Classpath , a .project , SAP_AG_G.RSA and a SAP_AG__G.SF file.
This reminds me of those ugly .dll incompatibilities which I had hoped not occurring with JAVA...:(
Any ideas ?
PS We are on XI 7.0 SP8 ( so the older note 755302 is not relevant )Hi all,
I did understand that I had something todo with different versions ( as I started to make a first attempt with version jre 1.5 and then with other versions )
But somehow I apparently couldn't get my .jar file to be compiled to a 1.4.2_xx
( although I tried numerous settings in the Eclipse build path etc...)
Finally, I removed the 1.5 version and started from scratch using jre 1.4.2_10.
And now it works OK !
I'm sure you can configure Eclipse correctly to generate 1.4 compatible jar files ( even when running itself on 1.5 or above ) but I must have missed the right combination of settings ( as I said I'm new in Java / Eclipse....)
regards
Dirk -
Handling Character Entities - Java Mapping Issue
Hi Experts,
I need to replace the character entities in my input XML. But, the problem is the java mapping I've written isn't replacing the character entities as expected. For example if my input XML contains <NAME>&><XYZ</NAME>, then the ouput is <NAME>&:>:<0001<:/NAME>, whereas it should be <NAME>&:>:<:0001</NAME>.
Note: I've used : instead of ; just to show it properly SDN.
Can any of you share the code for the same if you've used it already?
Thanks a lot in advance.
Regards,
Hussain.Hi Pooja,
Thanks for your prompt reply.
Are you trying to use the java mapping just to handle the character entities or your interface itself only has a java mapping?
- I'm using Java Mapping just to handle the character entities. Say my input XML looks like
<?xml version="1.0" encoding="UTF-8"?>
<resultset>
<row>
<ID>&<1</ID>
<MESSAGE><![CDATA[<?xml version="1.0" encoding="UTF-8" ?><LGORT>&<0001</LGORT>]]></MESSAGE>
</row>
</resultset>
I need to replace &< in <ID> to &:<: and similarly for CDATA <LGORT>&:<:0001</LGORT> before I process it in XI. In my java mapping I read the whole XML as string (line by line as mentioned below) and try to replace the character entities using some logic, which isn't working properly.
StringBuffer buffer = new StringBuffer();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
for (String lineRead = reader.readLine(); lineRead != null; lineRead = reader.readLine()) {
buffer.append(lineRead);
I've also checked the thread mentioned by Srinivas. But, StringEscapeUtils.escapeXml() would replace all the character entities like <:?XML... , which would result in an invalid xml...
Please suggest.
Thanks,
Hussain. -
Empty file, java mapping issue
Hello,
does anyone have an ide how to create java mapping to create empty file on FTP?
Why this code always send NUL character = 1byte and not 0 byte as needed?
public void execute(InputStream in, OutputStream out) throws StreamTransformationException {
out = null;try 1 thing...
run ur code for some standalone file.
create a file at ur local harddisk and check out its size..
i had tried creating such a file using the code below....
it is creating a 0 byte file successfully.
public class TestCode {
public static void main(String ags[]){
try{
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transform = tf.newTransformer();
FileOutputStream out;
out = new FileOutputStream("c:
OutTestCode.xml");
transform.transform(null, new StreamResult(out));
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (TransformerConfigurationException e) {
e.printStackTrace();
} catch (TransformerException e) {
e.printStackTrace(); -
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) -
XSLT/JAVA Mapping for cXML DOCTYPE
Hello -
Was anyone successful in adding the header
<!DOCTYPE cXML SYSTEM "http://xml.cXML.org/schemas/cXML/1.2.014/cXML.dtd">
after the
<?xml version="1.0" encoding="UTF-8"?> when converting
using either XSL or JAVA?
If there's way let me know what kind of mapping was used and how?
Thanks,
TirumalHi Tirumal,
you can solve that with xsl:output
one example:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:output method="xml" doctype-system="http://xml.cXML.org/schemas/cXML/1.2.014/cXML.dtd"/>
<xsl:template match="/">
<xsl:copy-of select="*"/>
</xsl:template>
</xsl:stylesheet>
Regards,
Udo -
Hi All,
After faceing so much of problem, i found that it would be better if i can go for an XSLT/java mapping:
1. It is adding an extra <b>ns0</b> to header line & end line which i dont want to be generated in the output xml file.
2. Namespace problem that basically sticking to 60 but i want 72 characters in my target xml file.
3. No carriage return at the end of each line which is not geting generated through graphical mapping.
Now i have an XSD provided by the client. So how can i use that and which mapping should best suits to solve all these problem.
Should i go for a java mapping or an XSLT/JAVA mapping.
I dont have any idea on both of them, So can you people send me the details for it.
Many Thanks & Best Regards,
JGD.Hi,
Based on the requirement and size we can choose the mapping.
If java is suitable to our requirement then we go for java.
If XSLT is suitable to our requirement then we go for XSLT.
Performance wise(high --> low) :
If data is less then
Graphical mapping -
> Java(sax parser)mapping -
> Java(dom parser)mapping -
> XSLT mapping -
> ABAP mapping.
If data is high then
XSLT mapping -
> Java(sax parser)mapping -
> Graphical mapping(internally it uses SAX)----> Java(dom parser)mapping -
> ABAP mapping.
If you choose XSLT then you can select Altova Map Force tool then no need to write the XSLT code here, it will automatically generates the code.
N:1 XSLT Mapping
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/30ac53f2-21d7-2a10-afa2-ce1a0577ca18
XSLT mapping https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/006aa890-0201-0010-1eb1-afc5cbae3f15 -
How to choose between XSLT & JAVA Mapping.
HI
Usually Java mapping is preferred when the target structure is relatively complex and the transformation cannot be accomplished by simple graphical mapping.
When to use Java mapping
1) Java mapping are used when graphical mapping cannot help you.
Advantages of Java Mapping.
1)you can use Java APIs and Classes in it.
2) file look up or a DB lookup is possible
3) DOM is easier to use with lots of classes to help you create nodes and elements.
Java mapping can be used when you have complex mapping structures.
http://help.sap.com/saphelp_nw04/helpdata/en/e2/e13fcd80fe47768df001a558ed10b6/frameset.htm
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/10dd67dd-a42b-2a10-2785-91c40ee56c0b
Java Mapping (Part I)
https://Difference in using java,xslt,message mapping
Java Mapping (Part I)
Java Mapping (Part II)
Check these for JAVA Mapping
Java Mapping (Part I)
Java Mapping (Part II)
Java Mapping (Part III)
Testing and debugging
Testing and Debugging Java Mapping in Developer Studio
Implermenting JAVA Mapping in PI
Implementing a Java Mapping in SAP PI
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/10dd67dd-a42b-2a10-2785-91c40ee56c0b
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/400ee77e-f9d6-2a10-2b8c-99281a4dcf6b
XSLT mappings can be imported into the Integration Repository; java methods can be called from within the XSLT style sheet. Advantages of this mapping are: open standard, portable, extensible via Java user-defined functions
XSLT Mapping
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/01a57f0b-0501-0010-3ca9-d2ea3bb983c1
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/9692eb84-0601-0010-5ca0-923b4fb8674a
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/006aa890-0201-0010-1eb1-afc5cbae3f15
xpath functions in xslt mapping
https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=xslt+mapping&adv=false&sortby=cm_rnd_rankvalue#
XSLT MAPPING:
Generic XSLT Mapping for SAP XI,Part I
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/01a57f0b-0501-0010-3ca9-d2ea3bb983c1
Generic XSLT Mapping for SAP XI,Part II
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/9692eb84-0601-0010-5ca0-923b4fb8674a
XSLT: Recursive Templates
XSLT: Recursive Templates
Easy RFC lookup from XSLT mappings using a Java helper class
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/05a3d62e-0a01-0010-14bc-adc8efd4ee14
Step u2013 By u2013 Step Simple Approach for XSLT Mapping
Step By Step Simple Approach for XSLT Mapping
Advantages of using XSLT mapping
XSLT program itself defines its own target structure.
XSLT programs can be imported into SAP XI. Message mapping step can be avoided. One can directly go for interface mapping once message interfaces are created and mapping is imported.
XSLT can be used in combination with graphical mapping.
Multi-mapping is also possible using xslt.
XSLT can be used with ABAP and JAVA Extensions.
Disadvantages of using XSLT mapping
Resultant XML payload can not be viewed in SXMB_MONI if not in XML format (for service packs < SP14).
Interface mapping testing does not show proper error description. So errors in XSLT programs are difficult to trace in XI but can be easily identified outside XI using browser.
XSLT mapping requires more memory than mapping classes generated in Java.
It all depends upon the required Scenario and the requirement , which mapping has to be used.
cheers -
Java Mapping with an xml array as input
Hi Gurus,
I have to perform a java mapping to map some input xml contained in an array with a target message type. I have found a good java mapping example here:
Re: Please provide Java Mapping example
but my mapping input is not a single XML, but an XML array, thus I have a doubt...
How can I map multiple XML contained in an array with a target XML? I have to solve this problem into a Java mapping prospective.
Thanks to all!
Message was edited by:
Gabriele MorganteHey Stefan, I think he is refering to a n:1 multimapping.
If that is indeed the case, Gabriele, you will have to consider the initial tags inserted by mapping runtime to treat multimappings.
Suppose your XML message is like
<myMT xmlns="urn:mynamespace">
<value>xpto</value>
</myMT>
Then, if your source message interface occurrence is defined as unbounded in your interface mapping, your mapping program (message mapping, xslt, java mapping, whatever) will receive, from mapping runtime, a message like this:
<Messages xmlns="http://sap.com/xi/XI/SplitAndMerge">
<Message1>
<myMT xmlns="urn:mynamespace">
<value>xpto1</value>
</myMT>
<myMT xmlns="urn:mynamespace">
<value>xpto2</value>
</myMT>
<myMT xmlns="urn:mynamespace">
<value>xpto3</value>
</myMT>
</Message1>
</Messages>
Also, if you have more than 1 message type as source of your interface mapping, your mapping program will receive the other message types in <Message2>, <Message3>... tags.
The <Messages> and <MessageX> tags will always be automatically generated by mapping runtime when dealing with multimappings, which are mappings from m XML messages to n XML messages, with either m, n or both different of 1 (note that this definition includes mappings from 1 type to 1 type, when either source, target or both message types have max occurrence = ubounded).
Finally, remember that the output that your mapping program generates will also have to include these <Messages> and <MessageX> tags (with proper namespace), since mapping runtime will be expecting them. Message mappings treat those by default, but your xslt and java multimappings will have to explicitely include these tags in the output.
Regards,
Henrique. -
XSLT mapping issue in parent child relation
Hi Guys,
i have one XSLT mapping issue. Mapping scenario is from IDoc to file.
IDoc structure is as below
<ZLOIPRO1>
<E1AFKOL>
<A></A>
<B></B>
<E1RESBL>
<MATNR>1</MATNR>
<CHARG>1</CHARG>
<ZSBL>
<MTART>ABC</MTART>
</ZSB>
</E1RESBL>
<E1RESBL>
<MATNR>2</MATNR>
<CHARG>2</CHARG>
<ZSBL>
<MTART>ZHA1</MTART>
</ZSB>
</E1RESBL>
<E1RESBL>
<MATNR>3</MATNR>
<CHARG>3</CHARG>
<ZSBL>
<MTART>ZHA1</MTART>
</ZSB>
</E1RESBL>
</E1AFKOL>
</ZLOIPRO1>
As you can see 'E1RESBL' is repeatative. Now my issue is i need to select 'MATNR' and 'CHARG' from 'E1RESBL' segment when first occurance of 'ZSBL/MTART' with value 'ZHA1' appears. i.e. my output would be MATNR = 2 and CHARG = 2.
I hope i am clear. Please let me know if any solution for this.Hi,
Try this
<xsl:if test="./ZSBL/MTART == 'ZHA1'">
<xsl:for-each select="./E1RESBL">
<MATNR>
<xsl:value-of select="./MATNR"/>
</MATNR>
<BATCH>
<xsl:value-of select="./CHARG"/>
</BATCH>
</xsl:for-each>
</xsl:if>
You might need to do some changes in the above.
Thanks,
Prakash -
Issue in conversion ABAP to java mapping during PI upgrade
Hi All,
We are upgrading one interface from ABAP mapping to Graphical/Java mapping in PI upgrade.(7.1 dual stack to 7.4 version)
In ABAP mapping there is character conversion like below.
encoding = '1164'
replacement = '?'
We want to implement the same functionality either through Java or graphical mapping . But we are not sure what are the range of characters that need to be converted to '?' and also what is the most optimized way to achieve this functionality.
Below are few sample of characters coming in the file:
б,л,к,У,М,л,и,о,ф..etchi all,
the issue got resolved with a JAVA replace function
String r = str.replaceAll("\\P{InBasic_Latin}", "?");
Thanks all for your inputs.
Regards,
Anamika -
Give me description for ABAP and XSLT and JAVA Mapping
i want detailed description for XSLT AND ABAP,JAVA Mapping and where they require coding and some examples for this items and differences for these mappings and message mapping and some examples which shows difference between these items
Hi,
Java mapping:
/people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-i
/people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-ii
ABAP Mapping:
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5c46ab90-0201-0010-42bd-9d0302591383
XSLT mapping
/people/anish.abraham2/blog/2005/12/22/file-to-multiple-idocs-xslt-mapping
ABAP XSLT mapping
/people/r.eijpe/blog/2005/11/04/using-abap-xslt-extensions-for-xi-mapping
Regards
Vijaya -
Graphical Mapping Vs XSLT mapping Vs Java Mapping Vs ABAP Mapping
Hi Experts,
I have a question regarding different message mapping options available in XI namely
Graphical Mapping
XSLT mapping
Java Mapping
ABAP Mapping
Q1: Which amoung the above mappings is the best and why?
Q2: On what cases Graphical, XSLT, Java and ABAP Mapping should be used?
Q3: Is it true that graphical and XSLT mappings are converted into Java class internally?
Kindly help!
Thanks
Gopal
Message was edited by:
gopalkrishna baligaHi,
There is no hard and fast rule for using the mapping techniques.
Graphical Mapping is used for simple mapping cases. When, the logic for your mapping is simple and straight forward and it does not involve mult hiearchical mapping requirement. and context handling.
Java and XSLT mapping are used when graphical mapping cannot help you.
When the choice is between Java And XSLT, XSLT is simpler than java mapping and easier. But, it has its drawbacks. XSLT can lead to a bad perfrormance if the Source XML is huge.
Java Mapping uses 2 types of parsers. DOM and SAX. DOM is easier to use with lots of classes to help you create nodes and elements, but , DOM is very processor intensive.
SAX parser is something that parses your XML one after the other, and so is not processor intensive. But, it is not exaclty easy to develop either.
For further info on each of the mapping, refer to these links,
Graphical Mapping,
http://help.sap.com/saphelp_nw04/helpdata/en/6d/aadd3e6ecb1f39e10000000a114084/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/43/c4cdfc334824478090739c04c4a249/content.htm
XSLT Mapping
http://help.sap.com/saphelp_nw04/helpdata/en/73/f61eea1741453eb8f794e150067930/content.htm
http://www.w3.org/TR/xslt20/
Java Mapping
http://help.sap.com/saphelp_nw04/helpdata/en/e2/e13fcd80fe47768df001a558ed10b6/content.htm
DOM parser API
http://java.sun.com/j2se/1.4.2/docs/api/org/w3c/dom/package-frame.html
Also, check this thread for more info,
Different types of Mapping in XI
Am not sure about XSLT , but , yes graphical mapping is converted into java classes internally and these classes use SAX parsing as well.
Regards,
Bhavesh -
Java Mapping, XSLT Mapping, ABAP Mapping
Hi Experts,
Could any one explain what is the main features of the following Mapping. How to pick the mapping?
Java Mapping - When to use and what is the advantage.
ABAP Mapping - When to use and what is the advantage.
XSLT Mapping - When to use and what is the advantage.
Graphical Mapping - When to use and what is the advantage.
cheers,
SuneeThere are 4 types of mapping in XI
1. Graphical Mapping
2. XSLT Mapping
3. JAVA Mapping
4. ABAP Mapping
When to use Message mapping
1 When the logic for your mapping is simple and straight forward, you can use
Advantages of message mapping
1)Easy to use.
2) has GUI drag and drop.
3) used for simple mapping cases
4) it does not involve any complex logic
Disadvantages of message mapping
1)has limitation in terms of complex hierarchy
When to use Java mapping
1) Java mapping are used when graphical mapping cannot help you.
Advantages of Java Mapping
1)you can use Java APIs and Classes in it.
2) file look up or a DB lookup is possible
3) DOM is easier to use with lots of classes to help you create nodes and elements.
Disadvantages of Java mapping
1)SAX parser is not easy to develop
2)DOM parser is intensive
3) Java knowledge is required
4) bit complexer
XSLT Mapping - When to use
1)When the required output is other than XML like Text, Html or XHTML (html displayed as XML )
2)When default namespace coming from graphical mapping is not required or is to be changed as per requirements.
3)When data is to be filtered based on certain fields (considering File as source)
4)When data is to be sorted based on certain field (considering File as source)
5)When data is to be grouped based on certain field (considering File as source)
Advantages of using XSLT mapping
1)XSLT program itself defines its own target structure.
2)XSLT programs can be imported into SAP XI. Message mapping step can be avoided. One can directly go for interface mapping once message interfaces are created and mapping is imported.
3)XSLT provides use of number of standard XPath functions that can replaces graphical mapping involving user defined java functions easily.
4)File content conversion at receiver side can be avoided in case of text or html output.
5)Multiple occurrences of node within tree (source XML) can be handled easily.
6)XSLT can be used in combination with graphical mapping.
7)Multi-mapping is also possible using xslt.
8)XSLT can be used with ABAP and JAVA Extensions
Disadvantages of using XSLT mapping
1)Resultant XML payload can not be viewed in SXMB_MONI if not in XML format (for service packs < SP14).
2)Interface mapping testing does not show proper error description. So errors in XSLT programs are difficult to trace in XI but can be easily identified outside XI using browser.
3)XSLT mapping requires more memory than mapping classes generated in Java.
4)XSLT program become lengthier as source structure fields grows in numbers.
5)XSLT program sometimes become complex to meet desired functionality.
6)Some XSL functions are dependent on version of browser.
Advantages of Abap Mapping
1) A person comfortable with OOABAP can go for ABAP mapping instead.
Disadvantages of Abap Mapping
1) Abap knowledge is required
2) bit compexer
For further info on each of the mapping, refer to these links,
Graphical Mapping,
http://help.sap.com/saphelp_nw04/helpdata/en/6d/aadd3e6ecb1f39e10000000a114084/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/43/c4cdfc334824478090739c04c4a249/content.htm
XSLT Mapping
http://help.sap.com/saphelp_nw04/helpdata/en/73/f61eea1741453eb8f794e150067930/content.htm
http://www.w3.org/TR/xslt20/
Java Mapping
http://help.sap.com/saphelp_nw04/helpdata/en/e2/e13fcd80fe47768df001a558ed10b6/content.htm
DOM parser API
http://java.sun.com/j2se/1.4.2/docs/api/org/w3c/dom/package-frame.html
Check this blog on Mapping:
/people/ravikumar.allampallam/blog/2005/02/10/different-types-of-mapping-in-xi
Also, check this thread for more info,
Different types of Mapping in XI -
XSLT-transformation in Java-Mapping with javax.xml
Hi,
we wanna use javax.xml for transformations in Java-Mapping.
Inside the Java-mapping we read in XSL-files to transform a XML-stream. With XSLT 1.0 everything works fine - but with XSLT 2.0 we are getting runtime errors.
Is it possible that javax.xml only supports XSLT 1.0?
Regards
WolfgangHi ,
Jaxp 1.3 is available in this link -
http://java.sun.com/webservices/jaxp/
Use these jar files to process XSLT 2.0.
Nanda
Maybe you are looking for
-
External hard drive doesn't mount
I have a Thermaltake dual bay with two 1.5TB hard drives set up but the RAID got corrupted. I re-partitioned one of the hard drives so that I can just do a copy but somehow the other drive was not working...guess it didn't see the RAID. I deleted t
-
"We could not complete your request." (WHAT?!)
i can't download/update any app...its said "There was an error in the App Store. Please try again later. (-1003)"....what's that mean?
-
Direct dial a phone number feature is gone
When my phone operating system updated last month the Direct Dial feature is gone. there is a widget for direct dial but it goes into contact list and I still cant just dial a Number...This really sucks the numbers I want to dial are not in my contac
-
The latest update for Mountain Lion OS X 10.8.3 does not update. Keeps asking for Restart but no update.
-
How to initialize the new internal hard disk in LapTop ?
Folks, Hello. My LapTop model is HP Pavilion dv4-2045dx entertainment notebook whose host operating system is Windows 7. Because the current hard disk capacity is not enough, I need to replace it with a new hard disk with bigger capacity. After take