on 06-12-2015 6:28 PM
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.
Hello,
I am facing the same issue....Did you get any concrete solution for the same error???
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
Hi Renan,
Can you please share the message mapping associated with the current operation mapping ?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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.
Hi,
Have you checked the actual payload sent from erp?
Regards,
Mark
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
89 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.