cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP and NameSpace Prefix issue

Former Member
0 Kudos

I've developed a SOAP -- XI -- RFC scenario and successfully tested this using XMLSpy and oXygen. Both applications generate the following SOAP request.

<i><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">

<SOAP-ENV:Header/>

<SOAP-ENV:Body>

<invoices id="filename" xmlns=" urn:xxxxxxxx.com/yyyyy/cc">

<invoice xmlns="">

<account_no>YYYYYYY</account_no>

<document_reference>ZZZZZZZ</document_reference>

<debit_credit_indicator>D</debit_credit_indicator>

<gbp_amount>0</gbp_amount>

<transaction_date>2007-10-26</transaction_date>

<vat_amount>0</vat_amount>

<invoice_line>

<transaction_currency>EUR</transaction_currency>

<transaction_amount>60.00</transaction_amount>

</invoice_line>

</invoice> </invoices>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope></i>

When testing using the SOAP request generated by BEA Logic SAP returns an error 'Received HTTP response code 500 : Error during parsing of SOAP header' Notice that the namespace prefix for the SOAP tags are missing.

<i><Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/" xmlns:uk="urn:xxxxxxxx.com/yyyyy/cc">

<Header/>

<Body>

<uk:invoices id=" filename">

<invoice xmlns="">

<account_no>YYYYYYY</account_no>

<document_reference>ZZZZZZZ</document_reference>

<debit_credit_indicator>D</debit_credit_indicator>

<gbp_amount>0</gbp_amount>

<transaction_date>2007-10-26</transaction_date>

<vat_amount>0</vat_amount>

<invoice_line>

<transaction_currency>EUR</transaction_currency>

<transaction_amount>60.00</transaction_amount>

</invoice_line>

</invoice>

</uk:invoices>

</Body>

</Envelope></i>

All I need to do is add a namespace prefix to the SOAP tags and I can get the soap request to work. I have a few questions

i) does the XI SOAP adapter require a namespace prefix for the SOAP tags

ii) is there any documentation to support this (as I find most of the documentation available for XI limited) - I've read the SOAP blogs and the how to guide.

iii) is there a workaround.

iv) Why do oXygen and XML Spy generate a the same namespace prefix's (SOAP-ENV). I've searched through the WDSL and can't find any reference to this. I'm assuming it's a standard prefix.

Thanks in advance.

Accepted Solutions (0)

Answers (1)

Answers (1)

prateek
Active Contributor
0 Kudos

1. Not always. But Yes it is required in default communication channel configuration

2. /people/padmankumar.sahoo/blog/2005/02/15/an-overview-of-soap

3. U can use "Do Not Use SOAP Envelope" option of SOAP adapter. In this case the envelop will not b used

4. Any prefix could be used but important is to uses it.

Regards,

Prateek

Former Member
0 Kudos

Prateek,

Thanks, the article was useful but doesn't mention a requirement to use a prefix. You say it's required in the 'default communication channel configuration'. I can't see anywhere in the SOAP CC which mentions namespace prefixes or where I would change it.

I understand that if I don't use a soap envelop then I need to create an XSD with the required fields and use that as the interface. Is this correct.

Agree - testing has shown that any prefix works.

Former Member
0 Kudos

Is there anyone who can help with the SOAP Adapter configuration and namespace prefix issue.

prateek
Active Contributor
0 Kudos

As I said earlier, use the Conversion Parameter "Do Not Use SOAP Envelope" and ur problem ll b solved.

Regards,

Prateek