Skip to Content

SOAP to IDOC scenario: java.lang.NullPointerException

Our trading partners currently post their xml files directly to our Integration Engine, where they are converted to idocs and posted to ECC. I am now trying to change this scenario to a SOAP to IDoc scenario so that we can process the files through the Adapter Engine using HTTPS. But I am running into an error when trying to post an xml file and I'm wondering what I am missing.

My SOAP communication channel is configured as follows:

Transport protocol: HTTP

Message protocol: SOAP 1.1

Adapter engine: Integration Server

HTTP Security Level: HTTP

Do Not Use Soap Envelope: *Checked*

Default interface and namespace have been specified

QoS: Exactly Once

If I post an xml file to this channel using the RWB test tool, I receive message java.lang.NullPointerException. However, I can find the message via the Message Monitoring in the RWB, with versions for both the AE and IE, each with status Successful. The idoc is created and successfully posted to ECC.

If I post this same file to the same URL using a third-party tool, I get the same error message along with more details (listed below). Futhermore, a message does *not* show up in the RWB and thus does not get converted to an idoc and posted to ECC.

Any ideas??? Thank you.

<?xml version="1.0" ?>

- <!-- see the documentation

-->

- http://schemas.xmlsoap.org/soap/envelope/">

- <SOAP:Body>

- <SOAP:Fault>

<faultcode>SOAP:Server</faultcode>

<faultstring>Server Error</faultstring>

- <detail>

- http://sap.com/xi/WebService/xi2.0">

<context>XIAdapter</context>

<code>ADAPTER.JAVA_EXCEPTION</code>

- <text>

- <![CDATA[

java.lang.NullPointerException

at com.sap.aii.messaging.net.MIMEInputSource.decodeContentType(MIMEInputSource.java:425)

at com.sap.aii.messaging.net.MIMEInputSource.readBody(MIMEInputSource.java:323)

at com.sap.aii.messaging.net.MIMEServletInputSource.parse(MIMEServletInputSource.java:58)

at com.sap.aii.af.mp.soap.web.MessageServlet.doPost(MessageServlet.java:381)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)

at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)

at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)

]]>

</text>

</s:SystemError>

</detail>

</SOAP:Fault>

</SOAP:Body>

</SOAP:Envelope>

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • Jul 15, 2010 at 04:56 PM

    Here's the message log found in End-to-End monitoring from RWB test post (different from third-party tool message):

    java.lang.NullPointerException

    at com.sap.plaf.frog.FrogScrollPaneUI$1.propertyChange(FrogScrollPaneUI.java:113)

    at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)

    at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)

    at java.awt.Component.firePropertyChange(Unknown Source)

    at javax.swing.JScrollPane.setHorizontalScrollBar(Unknown Source)

    at javax.swing.plaf.basic.BasicComboPopup.createScroller(Unknown Source)

    at javax.swing.plaf.basic.BasicComboPopup.<init>(Unknown Source)

    at com.sap.plaf.frog.FrogComboPopup.<init>(FrogComboPopup.java:21)

    at com.sap.plaf.frog.FrogComboBoxUI.createPopup(FrogComboBoxUI.java:410)

    at com.sap.plaf.frog.FrogComboBoxUI.installUI(FrogComboBoxUI.java:178)

    at javax.swing.JComponent.setUI(Unknown Source)

    at javax.swing.JComboBox.setUI(Unknown Source)

    at javax.swing.JComboBox.updateUI(Unknown Source)

    at javax.swing.JComboBox.init(Unknown Source)

    at javax.swing.JComboBox.<init>(Unknown Source)

    at com.sap.jnet.clib.JNcToolBar$ComboBox.<init>(JNcToolBar.java:64)

    at com.sap.jnet.clib.JNcToolBar.addComboBox(JNcToolBar.java:192)

    at com.sap.jnet.clib.JNcAppWindow.newUI(JNcAppWindow.java:607)

    at com.sap.jnet.clib.JNcAppWindow.newData(JNcAppWindow.java:1097)

    at com.sap.jnet.JNetData.createGraphFromDOM(JNetData.java:512)

    at com.sap.jnet.JNetData.load(JNetData.java:709)

    at com.sap.jnet.JNetApplet.initJNetApplet(JNetApplet.java:524)

    at com.sap.jnet.JNetApplet.access$000(JNetApplet.java:40)

    at com.sap.jnet.JNetApplet$1.run(JNetApplet.java:265)

    at java.awt.event.InvocationEvent.dispatch(Unknown Source)

    at java.awt.EventQueue.dispatchEvent(Unknown Source)

    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

    at java.awt.EventDispatchThread.run(Unknown Source)

    Add comment
    10|10000 characters needed characters exceeded

  • Jul 15, 2010 at 05:52 PM

    Hello Mark,

    From the error, seems that your system is not correctly patched.

    Verify if your components, from the component info, are all in the

    same Support Package level.

    If this is not the problem, then please update us with your PI version

    and SP level.

    Regards,

    Caio Cagnani

    Add comment
    10|10000 characters needed characters exceeded

    • Thank you, Caio.

      Based on what I was able to find on SDN I had/have a feeling this might be the problem. I get the same error at times just doing development and config work.

      Here are our current component levels:

      SAP_ABA, Version 7.0, patch level 13

      SAP_BASIS, Version 7.0, patch level 13

      PI_BASIS, Version 2006_1_700, patch level 2

      ST-PI, Version 2005_1_700, patch level 5

      SAP_BW, Version 7.0, patch level 15

      ST-A/PI, Version 01K_BCO700, patch level 0

      Edited by: Mark Meilleur on Jul 15, 2010 4:10 PM

  • Jul 16, 2010 at 05:43 AM

    so that we can process the files through the Adapter Engine using HTTPS

    Why haven't you enabled HTTPS for ABAP engine instead?

    It is possible that the message sent to PI is not the correct format as it was expected leading to the exception. You may use TCPGateway tool to further trace the soap message.

    Regards,

    Prateek

    Add comment
    10|10000 characters needed characters exceeded