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 16, 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.