Support Article
SOAP headers are mapped incorrectly
SA-8827
Summary
Developers have noticed a problem that seems to stem from InvokeAxis2. InvokeAxis2 in Pega-IntegrationEngine : 06-03-15 seems to strip off the header elements.
For example:
SOAP Request XML using InvokeAxis2 activity in Pega-IntegrationEngine : 06-03-15:
<soapenv:Header>
<ns2:Security xmlns:ns2=http://GenericURL.com/something/somethingelse> </ns2:Security>
</soapenv:Header>
When it should look like:
<soapenv:Header>
<ns2:Security xmlns:ns2="http://GenericURL.com/something/somethingelse" xmlns:ns1="http://schemas.datacontract.org/2004/07/">
<ns1:Password>Password</ns1:Password>
<ns1:Username>UserId</ns1:UserId>
</ns2:Security>
</soapenv:Header>
Error Messages
org.xml.sax.SAXParseException: XML document structures must start and end within the same entity
SAML token truncated from the header
Steps to Reproduce
Use a SOAP-connect rule with TLSv1.
Root Cause
The root cause of this problem is a defect in Pegasystems’ code/rules. The issue is not in InvokeAxis2, but rather in pzAddCustomHeadersToSoapEnvelope which is called from within InvokeAxis2. The issue is that pzAddCustomHeadersToSoapEnvelope is not properly iterating through the header information that is being parsed to it.
Resolution
This issue is resolved by hotfix item HFix-21731.
Published January 31, 2016 - 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.