cancel
Showing results for 
Search instead for 
Did you mean: 

Prefixed namespace bindings may not be empty - SOAP sender error

Former Member
0 Kudos

Hi,

I have a SOAP to proxy synchronous scenario. We are having this exception.

1. I get this error when I trigger the message from SOAP UI. But when I paste the same payload in operation/message mapping it does not give any such error. Now, if I remove the SOAP header manually in SOAP UI and trigger the message, it processes just fine.

2. I also tried to use java mapping to remove soap envelope, header and body tags. It worked fine in operation mapping but I got a "Premature end of file" error for message mapping(in message monitor).

This is how the SOAP-HEADER looks like.

<SOAP-ENV:Header>

  <pi:PartyInfo SOAP-ENV:actor="" SOAP-ENV:mustUnderstand="0" xmlns:pi="http://www.abc.com/namespaces/sample.xsd">

  <from>

  <domain>abc</domain>

  <name>abc</name>

  </from>

  <to>

  <domain>abc</domain>

  <name>abc</name>

  </to>

  <operationID>abc</operationID>

  <operationType>abc</operationType>

  <transactionID>abc</transactionID>

  </pi:PartyInfo>

  </SOAP-ENV:Header>

Any pointers on any of these points are appreciated.

Thanks,

Ravi

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Ok I might have created a bit of confusion here. In the actual scenario, I am receiving the message from a third party i.e. the third party is consuming the webservice exposed by PI.

The snapshot of the SOAP header is just a part of SOAP envelope. There actually is a SOAP envelope and SOAP body too. PI somehow is not able to process the namespace or namespace prefixes in the header(PartyInfo).

I simulated this scenario using SOAPUI and tinkered with the original SOAP header. If I remove the namespaces and the prefix to the PartyInfo node, the message processes just fine. So, looking at the error and this expreiment I couls conclude that PI has a problem processing that particular namespace/prefix.

I tried java mapping and XSLT mapping as well but I believe this failure is at the adapter level and it never reaches the mapping stage.

former_member186851
Active Contributor
0 Kudos


Ravi you need add a custom soap header using XSLT/JAVA mapping and disable the "do not add soap envelope" option in the CC.

Former Member
0 Kudos

I tried that as well. It doesn't help. This is the stage where I get the error.

The message actually goes all the way to ECC and ECC sends a response back as well(I could verify this in ECC). I think PI is having problems processing the response from ECC.

engswee
Active Contributor
0 Kudos

I think it has something to do with the actor field. Can you try to fill it with some value and see if it works?

former_member186851
Active Contributor
0 Kudos

Hello Ravi,

Please post what is the response your getting from ECC.

engswee
Active Contributor
0 Kudos

Hi Ravi

The SOAP envelope doesn't look right:

- there is no overall envelope

- there in no SOAP body - the data should be contained in the body instead of the SOAP header

Did you manually construct this envelope?

Here's a sample of a correct payload within a SOAP envelope


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:str="urn:test.com/Test">

   <soapenv:Header/>

   <soapenv:Body>

      <str:MT_SingleFieldLines>

         <Lines>

            <Field>ABC</Field>

         </Lines>

      </str:MT_SingleFieldLines>

   </soapenv:Body>

</soapenv:Envelope>

Rgds

Eng Swee

former_member186851
Active Contributor
0 Kudos

To add more if you add soap header remove the option "Do not use soap envelope" option in the CC.