How to override/replace the default namespace prefix for SOAP-ENV:Envelope generated by the BW webservice.

How to override/replace the default namespace prefix for SOAP-ENV:Envelope generated by the BW webservice.

book

Article ID: KB0089066

calendar_today

Updated On:

Products Versions
TIBCO ActiveMatrix BusinessWorks -
Not Applicable -

Description

Description:
Customer needs to replace "SOAP-ENV:Envelope" to "soapenv:Envelope " ,"SOAP-ENV:Header" to "soapenv:Header","SOAP-ENV:Body" to "soapenv:Body" when using the BW service as a server to send a response to another third party web service. By default, BW internally uses SOAP-ENV as the namespace prefix for all SOAP activities, both for service client and service server processes. In BW, the default prefix is SOAP-ENV , while in SoapUI, the prefix is SOAPENV. (KB 33317 and 24574). This KB explains how to replace SOAP-ENV with SOAPENVin BW when "SOAPSendReply" activity sends a reply.

Issue/Introduction

How to override/replace the default namespace prefix for SOAP-ENV:Envelope generated by the BW webservice.

Resolution

1). Find the BW service server process which contains the "SOAPSendReply" activity. In the process definition "Configuration" table, click "Namespace Registry" and add "http://schemas.xmlsoap.org/soap/envelope/"  (the last "/" after "envelope" is required) and prefix "soapenv".

2). Click "SOAPSendReply" activity. Switch to "Input" tab. On the right "Activity Input", click the root element "SOAPSendReply".  Click "!" above which means "edit statement". You will see the statement type "template". Check "exclude result prefixs". Do not enter any prefix name.

3). Do a TCP trace. The reply will resemble "<soapenv:Envelope...<soapenv:Header...<soapenv:Body..." although the cliecnt request is "<SOAP-ENV:Envelope..." .


See the attached for reference (Filename: soap_headers_replace_ns_prefix.zip).

Additional Information

KB 33317 and 24574.

Attachments

How to override/replace the default namespace prefix for SOAP-ENV:Envelope generated by the BW webservice. get_app