Support Article
SOAP Service Failure with RemoteApplicationException
SA-42205
Summary
User is using Pega 7.1.7 and reported seeing the below error in logs as an Autonomic Event Services (AES) alert.
The error is consistent and is observed along with a Remote Application Exception error whenever there is a failure in SOAP service call.
User wants to know the root cause of the error and if there is any local-change to prevent the RemoteApplicationException from being thrown by application.
Error Messages
Type com.pega.pegarules.pub.services.RemoteApplicationException
Message SOAP service failed
Type com.pega.apache.axis2.AxisFault
Message EL1008E:(pos 8): Property or field 'ackOriginalReplyChannel' cannot be found on object of type 'org.springframework.integration.MessageHeaders' - maybe not public?
Stack
at com.pega.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531)
at com.pega.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:375)
at com.pega.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421)
at com.pega.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at com.pega.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at com.pegarules.generated.activity.ra_action_invokeaxis2_cd144d51ac0c1a7f7793f86ab01dd5e2.step18_circum0(ra_action_invokeaxis2_cd144d51ac0c1a7f7793f86ab01dd5e2.java:4855)
at com.pegarules.generated.activity.ra_action_invokeaxis2_cd144d51ac0c1a7f7793f86ab01dd5e2.perform(ra_action_invokeaxis2_cd144d51ac0c1a7f7793f86ab01dd5e2.java:360)
Steps to Reproduce
- Create a custom agent (standard) and define a flow that would resume on a step where it was waiting.
- As part of the next stage/step make a service call (Connect-SOAP) with a dummy URL which would fail on invocation.
- Observe logs to see the error message as mentioned below.
Root Cause
The Pega Out-of-thebox (OOTB) InvokeAxis2 activity in PRPC throws RemoteApplicationException when the response from the SOAP service provider is not null and not a Java IO exception.
The behavior is as per design of the InvokeAxis2 activity and it is not a bug.
The suggested property is not present in the SOAP message header or if present it's visibility may not be available.
The error in Pega is just a reaction to the bad response returned from the service when the service threw an exception.
Resolution
Follow the below steps resolve the issue:
- Check the below PDN article and make the suggested changes in Step#15 of OOTB version of InvokeAxis2 activity shipped with Pega 7.1.7 to print the exception message in logs instead of throwing the exception:
https://pdn.pega.com/support-articles/connect-soap-rule-throws-remoteapplicationexception
The values of the SOAP fault content clipboard properties like pySOAPFaultProperty, pySOAPFaultCodeProperty, pySOAPFaultReasonProperty, pySOAPFaultDetailProperty are set in InvokeAxis2 activity before throwing of the RemoteApplicationException.
The local change suggested in the above PDN article will not have any impact on the error handling capability of Connect-SOAP.
The values of the SOAP fault content clipboard properties like pySOAPFaultProperty, pySOAPFaultCodeProperty, pySOAPFaultReasonProperty, pySOAPFaultDetailProperty are set in InvokeAxis2 activity before throwing of the RemoteApplicationException.
The local change suggested in the above PDN article will not have any impact on the error handling capability of Connect-SOAP.
- Contact the team owing the Service to investigate the cause of error due to which Pega is returning RemoteApplicationException.
Published September 11, 2017 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.