IBM Support

SOAP Inbound Service generate SOAP-FAULT

Troubleshooting


Problem

SOAP Inbound Service generate SOAP-FAULT

Symptom

The SOAP Inbound service fails with a SOAP-FAULT and error message "An unknown error occurred while processing SOAP document"

The system log contains:

[2014-11-24 13:17:48.464] ERROR
[2014-11-24 13:17:48.465] ERROR [1416835068464] null
[2014-11-24 13:17:48.466] ERRORDTL [1416835068464]java.lang.NullPointerException
at java.lang.System.arraycopy(Native Method)
at com.sterlingcommerce.woodstock.packager.MIME.MIMEEntity
at com.sterlingcommerce.woodstock.services.soap.soapinbound.SoapInboundServiceImpl.handleSOAPResponse(SoapInboundServiceImpl.java:541)
at com.sterlingcommerce.woodstock.services.soap.soapinbound.SoapInboundServiceImpl.processDataImpl(SoapInboundServiceImpl.java:133)
at com.sterlingcommerce.woodstock.services.soap.soapinbound.SoapInboundServiceImpl.processData(SoapInboundServiceImpl.java:226)
at com.sterlingcommerce.woodstock.workflow.activity.engine.ActivityEngineHelper.invokeService(ActivityEngineHelper.java:1818)
at com.sterlingcommerce.woodstock.workflow.activity.engine.ActivityEngineHelper.nextMainLogic(ActivityEngineHelper.java:631)
at com.sterlingcommerce.woodstock.workflow.activity.engine.ActivityEngineHelper.next(ActivityEngineHelper.java:362)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.doWork(WorkFlowQueueListener.java:442)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.run(WorkFlowQueueListener.java:351)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.onMessage(WorkFlowQueueListener.java:197)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.onMessage(WorkFlowQueueListener.java:184)
at com.sterlingcommerce.woodstock.workflow.queue.wfTransporter.run(wfTransporter.java:444)
at com.sterlingcommerce.woodstock.workflow.queue.BasicExecutor$Worker.run(BasicExecutor.java:508)
at java.lang.Thread.run(Thread.java:744)

[2014-11-24 13:17:48.466] ERROR 000000000000 GLOBAL_SCOPE
java.lang.NullPointerException
at java.lang.System.arraycopy(Native Method)
at com.sterlingcommerce.woodstock.packager.MIME.MIMEEntity.loadData(MIMEEntity.java:1141)
at com.sterlingcommerce.woodstock.services.soap.soapinbound.SoapInboundServiceImpl.handleSOAPResponse(SoapInboundServiceImpl.java:541)
at com.sterlingcommerce.woodstock.services.soap.soapinbound.SoapInboundServiceImpl.processDataImpl(SoapInboundServiceImpl.java:133)
at com.sterlingcommerce.woodstock.services.soap.soapinbound.SoapInboundServiceImpl.processData(SoapInboundServiceImpl.java:226)
at com.sterlingcommerce.woodstock.workflow.activity.engine.ActivityEngineHelper.invokeService(ActivityEngineHelper.java:1818)
at com.sterlingcommerce.woodstock.workflow.activity.engine.ActivityEngineHelper.nextMainLogic(ActivityEngineHelper.java:631)
at com.sterlingcommerce.woodstock.workflow.activity.engine.ActivityEngineHelper.next(ActivityEngineHelper.java:362)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.doWork(WorkFlowQueueListener.java:442)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.run(WorkFlowQueueListener.java:351)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.onMessage(WorkFlowQueueListener.java:197)
at com.sterlingcommerce.woodstock.workflow.queue.WorkFlowQueueListener.onMessage(WorkFlowQueueListener.java:184)
at com.sterlingcommerce.woodstock.workflow.queue.wfTransporter.run(wfTransporter.java:444)
at com.sterlingcommerce.woodstock.workflow.queue.BasicExecutor$Worker.run(BasicExecutor.java:508)
at java.lang.Thread.run(Thread.java:744)

Cause

Primary document at the SOAP Inbound step did not contain the HTTP header

Environment

ALL

Diagnosing The Problem

Review the primary document at the SOAP Inbound step. The SOAP Inbound service expects a raw message including the HTTP header.

If the primary document did not contain the HTTP header you need to verify the HTTP configuration.

If you use the SOAP Inbound service after a "Http Client Post Service" you need to verify the value for RawResponse.

Resolving The Problem

Change the HTTP configuration so that the HTTP header is available for the SOAP Inbound service.

In the customer BP the customer used the "Http Client Post Service" with parameter setting below:

<assign to="RawResponse" from="b2b-raw-response/text()"></assign>

But the process data did not contain a b2b-raw-response tag.

You need to change the assignment in the "HTTP Client Post Service" to
<assign to="RawResponse">true</assign>
or
you create a b2b-raw-response tag with value "true" in the process data with statement below:
<assign to="b2b-raw-response">true</assign>

[{"Product":{"code":"SS3JSW","label":"IBM Sterling B2B Integrator"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"--","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"All","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Document Information

Modified date:
26 November 2019

UID

swg21692222