cancel
Showing results for 
Search instead for 
Did you mean: 

Issue with IDoc FLat to XML Conversion standard module

former_member184789
Active Contributor
0 Kudos

Hi,

I have a SOAP to IDoc scenario where I will get an IDoc flat file embedded in  a single XML tag in the source message & I have a custom module to extract the contents of that tag, which works fine. Below this custom module, I have the standard module IDocFlatToXml convertor to convert this flat file into IDoc XML. The custom module works fine but the standard one gives error as below. Could anyone advise me as to how to debug this:

<s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">

               <context>XIAdapter</context>

               <code>ADAPTER.JAVA_EXCEPTION</code>

               <text>com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.lang.NullPointerException: while trying to invoke the method java.lang.String.trim() of an object loaded from an array (which itself was loaded from local variable 'segment') with an index loaded from field com.sap.aii.af.idoc.flat.convertor.IDOCXmlRenderer.psgnumpos of an object

    at com.sap.aii.adapter.soap.web.SOAPHandler.processSOAPtoXMB(SOAPHandler.java:739)

    at com.sap.aii.adapter.soap.web.MessageServlet.doPost(MessageServlet.java:470)

    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: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)</text>

            </s:SystemError>

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Adarsh

Check the following

1. The destination and JCA connection factory has been created properly in NWA.

2. In the module tab, you have passed the parameter's correctly and maintain the correct module sequence.

3. Also make sure that the user has proper role to access the matadata from R3. Last time we faced the issue because the user was not having the proper role.

Also for debugging purpose, remove the custom module and use only Idoc conversion module and send the idoc xml as input message.

Also check this blog

IDOCFlatToXmlConvertor - Process Integration - SCN Wiki

former_member184789
Active Contributor
0 Kudos

Thanks Indrajit,

The module config & authorization is fine. I checked with another test file & this time I got the error mentioned in the link you have given:

<text>com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.lang.NumberFormatException: For input string: ""

    at com.sap.aii.adapter.soap.web.SOAPHandler.processSOAPtoXMB(SOAPHandler.java:739)

    at com.sap.aii.adapter.soap.web.MessageServlet.doPost(MessageServlet.java:470)

  

As per the link, the issue is related to control record. Does it mean that when I am reading an IDoc flat file for inbound scenario, it should only contain the IDoc type & Message Type in control record? When I tried like this, I got an error as invalid DOCNUM.

Former Member
0 Kudos

Hi Adarsh

Yes we need to send the message type and idoc type in the control record. Please check the metadata and send the values as per the metadata.

Check the length in metadata for DOCNUM and send the appropriate value.