on 10-01-2015 11:34 PM
Hi Experts,
We have the following scenario.
Legacy > SAP PI (Receiver SOAP with flatfile) > (Sender SOAP + MessageTransformBean) SA PI > ECC
We are receiving a SOAP Call with a flatfile from the another SAP PI, and we need to transform it to XML using the MessageTransformBean stardard module. Is it possible? Or we need to configure SOAP + Servlet (AXIS) in order to receive and transform it.
We are using the &nosoap=true query string and Do Not Use SOAP Envelope option.
Please find below the log of XPI_Inspector tool.
The error message invalid xi message object is occurring on our the SOAP Sender comm channel.
LOGIN.OK
User: #####
IP Address: ########
Authentication Stack: sap.com/com.sap.aii.adapter.soap.app*XISOAPAdapter
Login Module Flag Initialize Login Commit Abort Details
1. com.sap.engine.services.security.server.jaas.BasicPasswordLoginModule SUFFICIENT ok true true
Central Checks true
NOSOAP = false
with (com.sap.engine.services.servlets_jsp.server.runtime.client.HttpServletRequestFacadeWrapper@2009d537, com.sap.engine.services.servlets_jsp.server.runtime.client.HttpServletResponseFacadeWrapper@5d0a374f)
NOSOAP = true
with (com.sap.engine.services.servlets_jsp.server.runtime.client.HttpServletRequestFacadeWrapper@2009d537)
request header: content-type=application/xml; name="MainDocument.xml"; contentl-length=962
reading header: (accept,*/*)
reading header: (host,#####:51000)
reading header: (user-agent,SAP-Messaging-com.sap.aii.af.sdk.xi/1.0505)
reading header: (callingtype,SJM)
reading header: (authorization,Basic UkZDX1gzUV9VUFhJOkZseWVyc1gwMQ==)
reading header: (content-id,<payload-bd9e3166688111e5bbb200001212f36a@sap.com>)
reading header: (content-type,application/xml; name="MainDocument.xml")
reading header: (content-disposition,attachment;filename="MainDocument.xml")
reading header: (content-description,MainDocument)
reading header: (content-length,962)
reading header: (soapaction,)
decoding content-type as application/xml; (name="MainDocument.xml");
mime type: APPLICATION/XML
read total length: 962
clen=962; readtotal=962
reading body RSAP|9933503352-CR|10|577015|23.08.2015
RSAP|9933503352-CR|20|575031|23.08.2015
RSAP|9933503352-CR|30|574982|23.08.2015
RSAP|9933503352-CR|40|575168|23.08.2015
RSAP|9933503381-CR|10|575154|23.08.2015
RSAP|9933503381-CR|20|575610|23.08.2015
RSAP|9933503381-CR|30|575165|23.08.2015
RSAP|9933503381-CR|40|575170|23.08.2015
RSAP|9933503381-CR|50|575153|23.08.2015
RSAP|9933503381-CR|60|574978|23.08.2015
RSAP|9937003643-SV|10|575998|24.08.2015
RSAP|9937003643-SV|20|576000|24.08.2015
RSAP|9937003643-SV|30|576003|24.08.2015
RSAP|9937003643-SV|40|84157012|24.08.2015
RSAP|9944002189-HN|10|576816|21.08.2015
RSAP|9944002266-HN|10|957609|20.08.2015
RSAP|839745516-CO||86756|16.08.2013
RSAP|839745516-CO||99816|16.08.2013
RSAP|839745516-CO||225998|16.08.2013
RSAP|839745516-CO||173162|16.08.2013
RSAP|839745516-CO||99818|16.08.2013
RSAP|839997580-SV||201860|19.09.2013
RSAP|839997580-SV||201880|19.09.2013
RSAP|839997580-SV||202003|19.09.2013
Current application security policy domain: [XISOAPAdapter]. Set of already authenticated policy domains: [[XISOAPAdapter]]
with true
getting parameter XHeaderName1 [null] as null
getting parameter XHeaderName1 [null] as null
getting parameter XHeaderName2 [null] as null
getting parameter XHeaderName2 [null] as null
getting parameter XHeaderName3 [null] as null
getting parameter XHeaderName3 [null] as null
calling ModuleProcessor Localbean with ChannelID 2902b25f89d73d508409b51a8598d816 ...
~.trans.MessageTransformBean.process Transform: invalid xi message object
NOSOAP = true
com.sap.aii.af.lib.mp.module.ModuleException: Transform: invalid xi message object
at com.sap.aii.af.modules.trans.MessageTransformBean.process(MessageTransformBean.java:302)
at sun.reflect.GeneratedMethodAccessor13973.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:46)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:74)
.....
Thanks a lot,
Leandro Silva
the sender SOAP adapter does not allow additional modules. You could use axis for this. The axis configuration allows modules. When you receive the flat file from another SAP PI system, could you access the other system and do the tranformation in the receiver channel?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Leonardo,
Is it solved, I am facing a same situation. It seems the 2nd ICO is not accepting the flat file from the first ICO. Even though I have used AXIS Protocol in SENDER SOAP Channel
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Leandro,
Be wary of the byte order mark that exists in your payload as well. If you attempt to run conversion on that and it is not handled by the MTB then you will get the "content is not allowed in the prolog" error.
Regards,
Ryan Crosby
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Leandro,
Soap adapter doesn't support file.
Go with Soap adapter with axis protocol and use the transformation beans before CallSapAdapter Bean.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
98 | |
11 | |
11 | |
10 | |
10 | |
8 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.