IBM Support

Error "The input stream for an incoming message is null"

Troubleshooting


Problem

Error "The input stream for an incoming message is null." might be experienced when using the 'sendrobust' value for the MEP Property in the End Points application even if a message is sent to the external system correctly.

Symptom

01 Jun 20XX 13:55:51:327 [ERROR] [MAXIMOINT] [CID-CRON-92868] org.apache.axis2.AxisFault: The input stream for an incoming message is null.
javax.xml.ws.WebServiceException: org.apache.axis2.AxisFault: The input stream for an incoming message is null.
at org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:175)
at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:70)
at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:128)
at org.apache.axis2.jaxws.core.controller.impl.AxisInvocationController.execute(AxisInvocationController.java:572)
at org.apache.axis2.jaxws.core.controller.impl.AxisInvocationController.doInvoke(AxisInvocationController.java:123)
at org.apache.axis2.jaxws.core.controller.impl.InvocationControllerImpl.invoke(InvocationControllerImpl.java:93)
at org.apache.axis2.jaxws.client.dispatch.BaseDispatch.invoke(BaseDispatch.java:200)
at psdi.iface.webservices.JAXWSClient.invoke(JAXWSClient.java:130)
at psdi.iface.router.WebServiceHandler.invoke(WebServiceHandler.java:199)
at psdi.iface.jms.QueueToDestManagerProcessor.processMessage(QueueToDestManagerProcessor.java:90)
at psdi.iface.jms.JMSQueueCronTask.getMessage(JMSQueueCronTask.java:447)
at psdi.iface.jms.JMSQueueCronTask.cronAction(JMSQueueCronTask.java:274)
at psdi.server.CronTaskManager.callCronMethod(CronTaskManager.java:1591)
at psdi.server.CronTaskManager.access$400(CronTaskManager.java:87)
at psdi.server.CronTaskManager$CronThread.run(CronTaskManager.java:2161)
Caused by: org.apache.axis2.AxisFault: The input stream for an incoming message is null.

Resolving The Problem

When a Publish Channel invokes a webservice in the external system, a message is sent to the external system correctly.

But an error will come up on the Maximo side.

Steps to replicate issue:

1. Go to the End Points application to create a webservice endpoint.




Set the value for the MEP Property as 'sendrobust'.

For info, the possible values for the MEP property are:
sendreceive : Request and response ( default)
sendrobust : Request with void or fault response
fireandforget : Request only, no response, or fault

2. Create a Publish Channel record.

Enable the Event Listener.

3. Add it to the external system.

Set the End Point record as the webservice End Point which was created in Step 1.




If you now try to to insert/update/delete a Person record, the Publish Channel will invoke the webservice defined in Step 1.
A message is sent to the external system correctly. But Maximo will get an error because of the 'sendrobust' setting.
It means that the response from the webservice is not handled correctly.

This setting used to work in Maximo 7.1.X but gives an error in Maximo 7.5.x.

Step to resolve issue:

Set the value of the 'mxe.int.useaxiswsclient' System Property to '1' in the System Properties application.

The problem will then be fixed.

[{"Product":{"code":"SSLKT6","label":"IBM Maximo Asset Management"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"MEA: Generic","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.5","Edition":"","Line of Business":{"code":"LOB02","label":"AI Applications"}}]

Document Information

Modified date:
17 June 2018

UID

swg21959932