cancel
Showing results for 
Search instead for 
Did you mean: 

Standard Mapping Error on ICO - PARSING.GENERAL

Former Member
0 Kudos

Hello,

We are configuring SuccessFactors integration using standard add-on SFI (Employee Profile scenario) and we have a problem with the simple login mapping.

If we do a test in Operation Mapping with any data it work's fine:

But when it is called from ERP we are facing a strange mapping error:

com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.aii.af.service.mapping.MappingException:

Mapping failed in runtimeRuntime Exception when executing application mapping program com/sap/xi/tf/_HCMloginRequest_to_SFSFloginRequest_;

Details: com.sap.aii.mappingtool.tf7.IllegalInstanceException;

Cannot create target element /ns1:login. Values missing in queue context.

Target XSD requires a value for this element, but the target-field mapping does not create one.

Check whether the XML instance is valid for the source XSD, and whether the target-field mapping fulfils the requirement of the target XSD at com.sap.aii.adapter.soap.web.SOAPHandler.processSOAPtoXMB(SOAPHandler.java:746)at com.sap.aii.adapter.soap.web.MessageServlet.doPost(MessageServlet.java:530)

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:441)

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:278)

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)

Follow our ICO configuration:

Communication Channel (Sender):

Communication Channel (Receiver):

Any sugestions that what can be done to solve it? Is it a PI problem? Notes, components? We are using PO 7.4 single stack.


Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hello,

I am facing the same issue....Did you get any concrete solution for the same error???

Former Member
0 Kudos

Hello Sana,

The error should be due to SOAP sender protocol being used and the same not matching in terms of WSDL with the sender client, since there is no external definition being used on sender (only message type), thereby leading to no data being fetched by sender channel. Hence Login data is not getting any value.

Regards,

Souvik

Former Member
0 Kudos

Hello Souvik,

Thanks a lot for the explanation.

Could you help me on how to resolve this issue?Do I need to do changes in the configuration?

Regards,

Sana

Former Member
0 Kudos

Hello Sana,

The point over here which I wanted to explain here is, if you simply maintain message type, then it does not get any URL from where to fetch the payload. So what you need to do is, from the client side, you will get the external definition (lets suppose in the form of XSD). This XSD will also contain the url of the source client. Hence once you import the xsd and use the same in message mapping at source side as external definition, then PI channel will start fetching data from the URL provided in the XSD/Ext. Definition.

Hope this makes clear.

Regards,

Souvik

Former Member
0 Kudos

Hi Renan,

Can you please share the message mapping associated with the current operation mapping ?

Former Member
0 Kudos

Yes, of course.

Main screen:

Executing the same test as well:

Signature screen:

All functions are empty:

Former Member
0 Kudos

Hi,

Can you please show me what is mapped from source to the target segment "Login" ?

Regards,

Souvik

Former Member
0 Kudos

Login mapping

Former Member
0 Kudos

Hi,

1. When you used Operational Mapping, the data which you provided for testing was considered by the system as external message as well (since you are using it in the target side). So the target side got the same test data (external message). And it did not fail.

2. In ERP, the External message is being considered as different on the target side from the payload which is on the source side.

Hence this error is occurring in case of ERP as Login segment is not getting populated.

Thus, in order to avoid this error please do not use External message on the target side. Instead, please use the same message type as on the source side. It will work then.

Regards,

Souvik

Former Member
0 Kudos

Hi Souvik,

I don't believe that is the cause because it was the standard ESR and we have other 4 customers running well exactly the same interface, the only difference that instead ICO it's used classical approach (Receiver/Send Agreement).

Just to make sure, I have made the change that you have suggested and unfortunately isn't work also.

markangelo_dihiansan
Active Contributor
0 Kudos

Hi,

Have you checked the actual payload sent from erp?

Regards,

Mark

Former Member
0 Kudos

Yes, I have checked and it was sending as expected - it is a standard scenario in ECC also.