cancel
Showing results for 
Search instead for 
Did you mean: 

Change message header

laurent_touillaud
Contributor
0 Kudos

Hi,

We have HTTP adapter sending new wsdl imported message structure to http receiver.

The message is transformed by xi into this when looking in sxmb_moni :

<?xml version="1.0" encoding="UTF-8" ?>

<ns1:Envelope xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/">

<ns1:Header>

<ns2:Header xmlns:ns2="http://www.xxx.com/soap/">

</ns2:Header>

</ns1:Header>

"ns1" and "ns2" prefixes are not in the imported wsdl,

how can we replace the prefixes by other prefixes?

Thanks in advance,

Laurent.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hello Laurent,

It looks like you ve posted a SOAP Message into the Http Adapter (namespace ns1: http://schemas.xmlsoap.org/soap/envelope/)

As the Http Adapter just receives and sends plain payloads, it treets your SOAP Message as payload

with all namespaces of the SOAP Envelope.

You can either try to post the real payload (which would normally sit in your SOAP Body Element) or post this message in the integration engine entry (XI Adpater) directly, where your SOAP Envelope gets stripped away automatically.

See also this blog for a how to: /people/stefan.grube/blog/2006/09/21/using-the-soap-inbound-channel-of-the-integration-engine

With best regards

Sebastian

laurent_touillaud
Contributor
0 Kudos

Hi Sebastian,

You're right,

it's a soap envelope sent by http adapter.

in the message interface using this imported message system replaces header values by p1 and p2 prefix :

xmlns:p2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:p1="http://xxx/xxx/xxx"

We must keep this message format with soap structure and send it by http but without having the namespace replaced at output.

Is this possible? maybe we have to reimport the wsdl without references to soap schemas?

I tried with soap adapter but ns1 and ns2 are still there.

Regards,

Laurent.

Former Member
0 Kudos

Hello Laurent,

Oh i think i misunderstood the first time, i thought you were using an external SOAP Client that is posting into XI via the http adapter, but it looks now like you are sending Messages defined by the external WSDL to another system via the http sender adapter, that's your sceneario right?

Normally if you import a wsdl, the contained messages could be used without being defined as a "whole" SOAP envelope, maybe you should post your WSDL and describe the sencario end to end to put it more clear.

With best regards

Sebastian