cancel
Showing results for 
Search instead for 
Did you mean: 

Remove Namespace embedded with all fields

baskar_ramasamy
Participant
0 Kudos

Hi Experts,

We have given a WSDL for SIebel team, when they post a record, Namespace is embedded for all the fields(Marked as red)

They tried to post using SOAP UI and got the below error: , Is there any way to handle this type of message with namespace for all fields.

Request from Siebel / SOAP UI to PI :

===================

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

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<SOAP-ENV:Body>

<MT_ContractPaymentSumamry_Req_out xmlns="http://contractpaymentsummary">

<ContractPaymentSummary xmlns="http://contractpaymentsummary">

<AccountNum xmlns="http://contractpaymentsummary">224122</AccountNum>

</ContractPaymentSummary></MT_ContractPaymentSumamry_Req_out>

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

Response:

========

<context>XIAdapter</context>

<code>ADAPTER.JAVA_EXCEPTION</code>

<text>com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Application:EXCEPTION_DURING_EXECUTE:

at com.sap.aii.adapter.soap.web.SOAPHandler.processSOAPtoXMB(SOAPHandler.java:663)

PI XML file from Test Message in Message Mapping:(works fine)

======================================

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

<ns0:MT_ContractPaymentSumamry_Req_out xmlns:ns0="http://contractpaymentsummary">

   <ContractPaymentSummary>

      <AccountNum>2013</AccountNum>

   </ContractPaymentSummary>

</ns0:MT_ContractPaymentSumamry_Req_out>

Thanks,

Baskar

Accepted Solutions (0)

Answers (6)

Answers (6)

baskar_ramasamy
Participant
0 Kudos

Thanks to all in involving to help in solving this issue.

Problem solved, Siebel team generated proper wsdl and they are able to send request & receive response with namespace prefix. no changes made in PI module tab.

allamudi_loordh
Active Participant
0 Kudos

please check the whether the wsdl file in RPC/ document style. i guess pi supports only document style.

Regards,

Loordh.

nabendu_sen
Active Contributor
0 Kudos

Hi Baskar,

Clearly the WSDL is not matching with the XML sent by Siebel. WSDL should have namespace included in the definition. If you just populate the fields in Test tab of message mapping, then all the namespaces should be visible. Not like below XML which you mentioned:

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

<ns0:MT_ContractPaymentSumamry_Req_out xmlns:ns0="http://contractpaymentsummary">

   <ContractPaymentSummary>

      <AccountNum>2013</AccountNum>

   </ContractPaymentSummary>

</ns0:MT_ContractPaymentSumamry_Req_out>

But like:

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

<MT_ContractPaymentSumamry_Req_out xmlns="http://contractpaymentsummary">

<ContractPaymentSummary xmlns="http://contractpaymentsummary">

<AccountNum xmlns="http://contractpaymentsummary">224122</AccountNum>

</ContractPaymentSummary></MT_ContractPaymentSumamry_Req_out>


baskar_ramasamy
Participant
0 Kudos

I have read this below blog & now i configured to add namespace prefix (ns0) in sender communcation channel which sender is not sending prefix. blog http://help.sap.com/saphelp_nwpi711/helpdata/en/cd/5af7c0c994e24fb0d0088443513de2/frameset.htm

Now my problem is , in CC module tab ,i configured as per the blog, but while processing the record without prefix, it is not getting included,it is not reflecting in MONI input message.

Thanks,

Baskar

former_member184789
Active Contributor
0 Kudos

Hi,

The XML anonymizer bean should be inserted before the adapter module i.e at number 1 & not at 2. However, there are a few other issues here. I am not sure if you can use XML annonymizer bean for a Sender SOAP adapter. Also, in your structure, you have to remove a namespace in all elements except the MT_ContractPaymentSumamry_Req_out. XML anonymizer bean will accept only those namespaces which have been declared in accept.namespace & will remove all other namespaces. But in your scenario, the same namespace is appearing in all elements.The XSLT mapping given by Anupam in below thread will help you in this regard.

http://scn.sap.com/message/14005245

former_member184789
Active Contributor
0 Kudos

Hi,

You can try with XSLT mapping as below or XML anonymizer bean:

http://stackoverflow.com/questions/9816252/xslt-remove-namespace-prefix-from-elements

Are u having SOAP at sender side?? In that case I am not sure if XML anonymizer bean will work. Try with the above XSLT mapping.

PeterJonker
Active Contributor
0 Kudos

I guess that the wsdl is not correctly build up with the namespace definitions. Check the wsdl