Support Article

Issue with Connect-SOAP InvokeAxis2 rule not getting executed

SA-37563

Summary



User upgraded the application from PRPC 6.1 SP2 to Pega 7.2.1.

While running the application all connect-soap rules are failing because of the activity InvokeAxis2 not getting executed.

Error Messages



Issue1: com.pega.pegarules.pub.services.ConnectorException: Couldn't create OMElement from string value
at com.pegarules.generated.activity.ra_action_pzaddcustomheaderstosoapenvelope_f0941b4c146d3cacdd346f27c4791ea9.step1_circum0(ra_action_pzaddcustomheaderstosoapenvelope_f0941b4c146d3cacdd346f27c4791ea9.java:197)
at com.pegarules.generated.activity.ra_action_pzaddcustomheaderstosoapenvelope_f0941b4c146d3cacdd346f27c4791ea9.perform(ra_action_pzaddcustomheaderstosoapenvelope_f0941b4c146d3cacdd346f27c4791ea9.java:69)
....
Caused by:
com.pega.apache.axiom.om.OMException: All the SOAP Header blocks should be namespace qualified
at com.pega.apache.axiom.soap.impl.llom.SOAPHeaderImpl.addHeaderBlock(SOAPHeaderImpl.java:76)

Issue2:
com.pega.pegarules.pub.services.RemoteApplicationException: SOAP service failed
at com.pegarules.generated.activity.ra_action_invokeaxis2_4054e98ba19df03aff55083d242bbf9d.step15_circum0(ra_action_invokeaxis2_4054e98ba19df03aff55083d242bbf9d.java:4019)
at com.pegarules.generated.activity.ra_action_invokeaxis2_4054e98ba19df03aff55083d242bbf9d.perform(ra_action_invokeaxis2_4054e98ba19df03aff55083d242bbf9d.java:308)
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3527)
....
Caused by:
com.pega.apache.axis2.AxisFault: Transport error: 401 Error: Unauthorized
at com.pega.apache.axis2.transport.http.HTTPSender.handleResponse(HTTPSender.java:309)
at com.pega.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:194)
at com.pega.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75)


Steps to Reproduce



1. Upgrade application from PRPC 6.1 SP2 to Pega 7.2.1.
2. Execute any Connect-SOAP rule.


Root Cause



Issue1: The soap header without namespace used to work earlier as there is a bug in praxiom library.

It is fixed now in the new axis stack and hence the exception. As per soap specification, every header should be namespace qualified.


Issue2: This issue was determined to be a product enhancement request as the current behavior is expected.

Resolution



Refer the following PDN links to resolve the issue.

Issue1 is resolved using: https://pdn.pega.com/support-articles/invokeaxis2-couldnt-create-omelement-string-value
Issue2 is resolved using: https://pdn.pega.com/support-articles/error-level-logging-soap-failure-responses

Published May 5, 2017 - Updated May 16, 2017

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.