on 05-03-2013 10:08 AM
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
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
please check the whether the wsdl file in RPC/ document style. i guess pi supports only document style.
Regards,
Loordh.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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>
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I guess that the wsdl is not correctly build up with the namespace definitions. Check the wsdl
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
87 | |
23 | |
11 | |
9 | |
8 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.