cancel
Showing results for 
Search instead for 
Did you mean: 

XML document conversion to Plain document in XI using JMS Adapter?

hashtag_siva
Explorer
0 Kudos

Hi,

We are trying to send an soap based XML document from ECC to MQSeries 6.0 using PI 7.0. I created receiver communicaiton channel to MQ with the below modules

1. AF_Modules/MessageTransformBean - Module Key XML2Plain

2. SAP XI JMS Adapter/ConvertMessageToBinary - Module Key CallJMSService

3. SAP XI JMS Adapter/SendBinarytoXIJMSService - Module Key Exit

Module configuration parameters I provided are

XML2Plain- Transform.Class com.sap.aii.messaging.adapter.Conversion

TransformContentType text/plain;charset=utf-8

xml.addHeaderLine 0

xml.conversionType SimpleXML2Plain

xml.fieldSeparator ,

xml.fixedLengthTooShortHandling Cut

The payload I am using is

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

<ns0:MT_Company xmlns:ns0="http://bnsf.com/hr/tm">

<Row CCODE="1001" DESC="test company"/>

</ns0:MT_Company>

When I test in RWB

1. The channel monitoring shows green and the below message

"Successfully connected to destination 'queue:///QL_DAVEOUT?targetClient=1"

2. RWB shows error message "Error while sending message:invalid content type for SOAP:TEXT/HTML;HTTP 500 Timeout"

3. when I look at the message, I see the last message shows as

"2008-06-16 15:16:44 Success Transform: transforming the payload ..." and I do not see any more messages.

Can anyone help me here? Thanks in advance

Accepted Solutions (1)

Accepted Solutions (1)

stefan_grube
Active Contributor
0 Kudos

The error message is typical for a SOAP receiver adapter, but should not appear in a JMS adapter.

Your message has attributes, these are ignored with content conversion:

<Row CCODE="1001" DESC="test company"/>

Change this in mapping to elements:

<Row><CCODE>1001</CCODE><DESC>test company</DESC></row>

Regards

Stefan

Answers (1)

Answers (1)

Former Member
0 Kudos

Since you are getting time out error. i would like to know whether it worked for small messages?

You can increase the time out parameter in Visual Administrator.

Gaurav Jain

hashtag_siva
Explorer
0 Kudos

Can I know the parameter in Visual Administrator to which I need to increase the timeout

Thanks

hashtag_siva
Explorer
0 Kudos

I changed the payload to

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

<ns0:MT_Company xmlns:ns0="http://bnsf.com/hr/tm">

<row CCODE="1001" DESC="TEST" />

</ns0:MT_Company>

this time i am getting

<Trace level="1" type="T">Runtime exception occurred during execution of application mapping program com/sap/xi/tf/_MM_SAP_COMPANY_TO_MQ_COMPANY_: com.sap.aii.utilxi.misc.api.BaseRuntimeException; Fatal Error: com.sap.engine.lib.xml.parser.ParserException: </ expected(:main:, row:4, col:17)</Trace>

<Trace level="1" type="T">com.sap.aii.ibrun.server.mapping.MappingRuntimeException: Runtime exception occurred during execution of application mapping program com/sap/xi/tf/_MM_SAP_COMPANY_TO_MQ_COMPANY_: com.sap.aii.utilxi.misc.api.BaseRuntimeException; Fatal Error: com.sap.engine.lib.xml.parser.ParserException: </ expected(:main:, row:4, col:17) at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:73) at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:92) at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:95) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:68) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0_0.processFunction(MappingServiceObjectImpl0_0.java:131) at sun.reflect.GeneratedMethodAccessor411.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187) at $Proxy220.processFunction(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.call(RFCDefaultRequestHandler.java:277) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:219) at com.sap.engine.services.rfcengine.RFCJCOServer$J2EEApplicationRunnable.run(RFCJCOServer.java:260) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172) Root Cause: com.sap.aii.utilxi.misc.api.BaseRuntimeException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: </ expected(:main:, row:4, col:17) at com.sap.aii.mappingtool.tf3.Transformer.checkParserException(Transformer.java:187) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:151) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:118) at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:64) at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:92) at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:95) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:68) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0_0.processFunction(MappingServiceObjectImpl0_0.java:131) at sun.reflect.GeneratedMethodAccessor411.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187) at $Proxy220.processFunction(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.call(RFCDefaultRequestHandler.java:277) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:219) at com.sap.engine.services.rfcengine.RFCJCOServer$J2EEApplicationRunnable.run(RFCJCOServer.java:260) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172) Root Cause: com.sap.aii.utilxi.misc.api.BaseRuntimeException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: </ expected(:main:, row:4, col:17) at com.sap.aii.mappingtool.tf3.rt.xparser.MTSaxHandler.run(MTSaxHandler.java:157) at com.sap.aii.mappingtool.tf3.rt.xparser.XParser.run(XParser.java:73) at java.lang.Thread.run(Thread.java:534) Root Cause: com.sap.engine.lib.xml.parser.NestedSAXParserException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: </ expected(:main:, row:4, col:17)(:main:, row=4, col=17) -> com.sap.engine.lib.xml.parser.ParserException: </ expected(:main:, row:4, col:17) at com.sap.engine.lib.xml.parser.XMLParser.scanEndTag(XMLParser.java:1872) at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java:1846) at com.sap.engine.lib.xml.parser.XMLParser.scanDocument(XMLParser.java:2845) at com.sap.engine.lib.xml.parser.XMLParser.parse0(XMLParser.java:231) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parseAndCatchException(AbstractXMLParser.java:145) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:160) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:261) at com.sap.engine.lib.xml.parser.Parser.parseWithoutSchemaValidationProcessing(Parser.java:280) at com.sap.engine.lib.xml.parser.Parser.parse(Parser.java:342) at com.sap.engine.lib.xml.parser.SAXParser.parse(SAXParser.java:125) at javax.xml.parsers.SAXParser.parse(SAXParser.java:345) at com.sap.aii.mappingtool.tf3.rt.xparser.MTSaxHandler.run(MTSaxHandler.java:155) at com.sap.aii.mappingtool.tf3.rt.xparser.XParser.run(XParser.java:73) at java.lang.Thread.run(Thread.java:534) -


at com.sap.engine.lib.xml.parser.SAXParser.parse(SAXParser.java:144) at javax.xml.parsers.SAXParser.parse(SAXParser.java:345) at com.sap.aii.mappingtool.tf3.rt.xparser.MTSaxHandler.run(MTSaxHandler.java:155) at com.sap.aii.mappingtool.tf3.rt.xparser.XParser.run(XParser.java:73) at java.lang.Thread.run(Thread.java:534) Caused by: com.sap.engine.lib.xml.parser.ParserException: </ expected(:main:, row:4, col:17) at com.sap.engine.lib.xml.parser.XMLParser.scanEndTag(XMLParser.java:1872) at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java:1846) at com.sap.engine.lib.xml.parser.XMLParser.scanDocument(XMLParser.java:2845) at com.sap.engine.lib.xml.parser.XMLParser.parse0(XMLParser.java:231) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parseAndCatchException(AbstractXMLParser.java:145) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:160) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:261) at com.sap.engine.lib.xml.parser.Parser.parseWithoutSchemaValidationProcessing(Parser.java:280) at com.sap.engine.lib.xml.parser.Parser.parse(Parser.java:342) at com.sap.engine.lib.xml.parser.SAXParser.parse(SAXParser.java:125) ... 4 more</Trace>

Former Member
0 Kudos

Try increasing below parameter in SXMB_ADM

HTTP_TIMEOUT

Set the HTTP_TIMEOUT parameter to a value of 6000. This setting can be found in transaction SXMB_ADM --> Integration Engine Configuration --> Specific Configuration

Gaurav Jain

Reward Points if answer is helpful

stefan_grube
Active Contributor
0 Kudos

I changed the payload to

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

<ns0:MT_Company xmlns:ns0="http://bnsf.com/hr/tm">

<row CCODE="1001" DESC="TEST" />

</ns0:MT_Company>

Follow this link to see how an XML message has to look like:

http://w3schools.com/xml/xml_tree.asp

hashtag_siva
Explorer
0 Kudos

I had our Basis change the time out. I also changed the payload to elements

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

<ns0:MT_Company xmlns:ns0="http://bnsf.com/hr/tm">

<Row>< CCODE>1001</CCODE>< DESC>test</DESC></Row>

</ns0:MT_Company>

I am getting "exception:Channel with status unkown or registered". I checked the configuration and the channel exists with the below

Protocol = JMS

IP Address = <provided the address>

server port = 1448

queue manager name = <provided the queue manager name in capital letters>

channel name = <provided the queue manager name in capital letters>

JMS Queue = <provided the queue manager name in capital letters>

transport protocol = TCP/IP

JMS-Complaint = WebSphere MQ(non-JMS)

hashtag_siva
Explorer
0 Kudos

Changing the payload to element instead of attributes and refresh of XI Cache fixed the problem. I am able to send message to MQ. The only problem I see that in RWB instead of showing successful it says "exception: no response". As I understand JMS is async and I should not be getting this error. Any suggestion would help.

Thanks in Advance