JMS sender query
hi
i have to pick JMS messages from a server.
I have got a queue from JMS team - This queue will have all the JMS messages - like orders,goods receipt etc.
In PI we have different Interfaces for orders,goods receipt etc..
In PI channel - JMS sender channel - i have put the queue name which is common for all messages.
How PI will differentiate while picking JMS message from same queue ?
Do we need different queues for each interface ?
Hi,
You can have different queue for each message.
Else create the service interact with multiple operations
In that case one queue is enough.
http://scn.sap.com/community/pi-and-soa-middleware/blog/2013/04/03/setup-multiple-operations-scenario-in-esr-and-id
Similar Messages
-
Dear Experts,
I have some queries and an issue also..
First Query : is the JMS sender channel is polling the message from JMS Queue or when ever the channel is connected to the JMS queue then the messages are pushed from JMS ? Simply I want to understand the then message is Puss or Pull. (my understanding is messages are pulled when ever the channel opens the session with JMS provider)
Second Query : is there any provision that the sender channel will have the log When the JMS Queue is empty ??
Issue : we are using WebSphereMQ JMS Provider, with QoS is EO . MQ claims that the messages are missing when the message were sent to PI.
is there any way to trace the issue ? any clue ?
-DannyThanks for your help on this.. but please excuse me for asking more layman query..
There no other JMS Client is connected with that Queue. and I am sure the messages are
So you say, only some message are missing, but the most message run correctly? Yes Most of the messages run correctly
Are you sure, that the messages were sent to the queue correctly? Since only the PI channel is connected the message should be forwarded to PI correctly.
Do you have a log for the MS queue? I think there should be mentioned, which KMS client has received the message. --> I don't have the log of MQ side.. But I can request them..
can you please provide the info "what I can ask them the MQ Team?" if I ask them about the "the JMS client details of the message" will it give the information of where that message has been sent.
Thanks for your help
Edited by: Dhanabal Thangavel on Sep 20, 2011 1:21 PM -
JMS Send Transaction Failing, due to resources could not be assigned
I am trying to get a transaction of a JMS send to work where the origination of the send occurs in domain A and the message queue is hosted in domain B. I have been able to get this to work; however, this issue has shown up in recent tests. I haven't changed anything other than the version of the Oracle database client that is being used. I don't see any relationship between that and the persistent store.
Both domains are hosted on the same computer and both domains are simple development domains. Trust is established between the domains using 'global trust'.
I'm running Weblogic Server 10.3.4..
I'm not sure how to get around this issue. I can't find any documentation...
My suspicion is that there needs to be some special configuration for the transaction, since I'm using the default persistence store. The warnings seem to indicate the problem. The AdminServer is hosted on domain A and the AuditAdminServer on domain B...
Any assistance will be greatly appreciated!
Thanks in advance...
Here is the stacktrace:
<Apr 11, 2013 11:17:05 AM MDT> <Warning> <JTA> <BEA-110405> <Resource WLStore_audit_domain__WLS_AuditAdminServer was not assigned to any of these servers: AdminServer AuditAdminServer >
<Apr 11, 2013 11:17:25 AM MDT> <Warning> <JTA> <BEA-110405> <Resource WLStore_audit_domain__WLS_AuditAdminServer was not assigned to any of these servers: AdminServer AuditAdminServer >
<Apr 11, 2013 11:19:47 AM MDT> <Error> <EJB> <BEA-010026> <Exception occurred during commit of transaction Name=[EJB gov.va.med.datasharing.core.ServiceBusImpl.processInbound(java.lang.String,java.lang.Object)],Xid=BEA1-003FA101855115C0DB45(13340960),Status=Rolling Back. [Reason=javax.transaction.SystemException: Aborting prepare because the following resources could not be assigned: WLStore_audit_domain__WLS_AuditAdminServer],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=183,seconds left=22,XAServerResourceInfo[DefaultXADataSource_vhie_domain]=(ServerResourceInfo[DefaultXADataSource_vhie_domain]=(state=rolledback,assigned=AdminServer),xar=DefaultXADataSource,re-Registered = false),XAServerResourceInfo[WLStore_audit_domain__WLS_AuditAdminServer]=(ServerResourceInfo[WLStore_audit_domain__WLS_AuditAdminServer]=(state=new,assigned=none),xar=null,re-Registered = false),XAServerResourceInfo[WLStore_vhie_domain_VhieFileStore]=(ServerResourceInfo[WLStore_vhie_domain_VhieFileStore]=(state=rolledback,assigned=AdminServer),xar=WLStore_vhie_domain_VhieFileStore1316539,re-Registered = false),SCInfo[vhie_domain+AdminServer]=(state=rolledback),SCInfo[audit_domain+AuditAdminServer]=(state=rolling-back),properties=({weblogic.transaction.name=[EJB gov.va.med.datasharing.core.ServiceBusImpl.processInbound(java.lang.String,java.lang.Object)]}),local properties=({weblogic.jdbc.jta.DefaultXADataSource=[ No XAConnection is attached to this TxInfo ]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=AdminServer+192.168.1.120:7001+vhie_domain+t3+, XAResources={WLStore_vhie_domain_VhieFileStore, SDSDataSource_vhie_domain, DefaultXADataSource_vhie_domain, eis/jms/WLSConnectionFactoryJNDIXA, WSATGatewayRM_AdminServer_vhie_domain},NonXAResources={})],CoordinatorURL=AdminServer+192.168.1.120:7001+vhie_domain+t3+): weblogic.transaction.RollbackException: Aborting prepare because the following resources could not be assigned: WLStore_audit_domain__WLS_AuditAdminServer
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1881)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:345)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:239)
at weblogic.ejb.container.internal.BaseRemoteObject.postInvoke1(BaseRemoteObject.java:625)
at weblogic.ejb.container.internal.StatelessRemoteObject.postInvoke1(StatelessRemoteObject.java:49)
at weblogic.ejb.container.internal.BaseRemoteObject.__WL_postInvokeTxRetry(BaseRemoteObject.java:444)
at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:53)
at gov.va.med.datasharing.core.ServiceBus_r6xnti_ServiceBusImpl.processInbound(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:597)
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:85)
at $Proxy89.processInbound(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:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
at $Proxy91.processInbound(Unknown Source)
at gov.va.med.datasharing.web.ServiceBusDelegate.processInbound(ServiceBusDelegate.java:43)
at gov.va.med.datasharing.web.adc.PatientServiceImpl.changeADCStatus(PatientServiceImpl.java:58)
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:597)
at org.springframework.expression.spel.support.ReflectiveMethodExecutor.execute(ReflectiveMethodExecutor.java:69)
at org.springframework.expression.spel.ast.MethodReference$MethodValueRef.getValue(MethodReference.java:97)
at org.springframework.expression.spel.ast.CompoundExpression.getValueInternal(CompoundExpression.java:81)
at org.springframework.expression.spel.ast.SpelNodeImpl.getTypedValue(SpelNodeImpl.java:102)
at org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:98)
at org.springframework.binding.expression.spel.SpringELExpression.getValue(SpringELExpression.java:84)
at org.springframework.webflow.action.EvaluateAction.doExecute(EvaluateAction.java:75)
at org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188)
at org.springframework.webflow.execution.AnnotatedAction.execute(AnnotatedAction.java:145)
at org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51)
at org.springframework.webflow.engine.support.ActionTransitionCriteria.test(ActionTransitionCriteria.java:82)
at org.springframework.webflow.engine.support.TransitionCriteriaChain.test(TransitionCriteriaChain.java:71)
at org.springframework.webflow.engine.Transition.canExecute(Transition.java:195)
at org.springframework.webflow.engine.Transition.execute(Transition.java:211)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:393)
at org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214)
at org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:119)
at org.springframework.webflow.engine.Flow.handleEvent(Flow.java:555)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:388)
at org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)
at org.springframework.webflow.engine.ViewState.handleEvent(ViewState.java:232)
at org.springframework.webflow.engine.ViewState.resume(ViewState.java:196)
at org.springframework.webflow.engine.Flow.resume(Flow.java:545)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.resume(FlowExecutionImpl.java:258)
at org.springframework.webflow.executor.FlowExecutorImpl.resumeExecution(FlowExecutorImpl.java:169)
at org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:183)
at org.springframework.webflow.mvc.servlet.FlowController.handleRequest(FlowController.java:174)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:915)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:822)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:796)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:180)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
Caused by: javax.transaction.SystemException: Aborting prepare because the following resources could not be assigned: WLStore_audit_domain__WLS_AuditAdminServer
at weblogic.transaction.internal.TransactionImpl.abort(TransactionImpl.java:1153)
at weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2200)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:279)
... 77 more
.>It turns out that those packages are, indeed, in extra.
I didn't think to look there, since I assumed that everything needed by base would be in [core].
I assumed wrong. -
Ignore record in JMS sender content conversion
Hi,
I am using JMS sender adapter with content conversion.
In the input text file, I have to ignore the first record.
for this, in Module tab I have given parameter like this:
Plain2XML -> documentOffset -> 1
so that it will not read the first record in the text file.
But it is not working
Please suggest the right way.
Regards,
Anil.It should be:
xml.documentSkipFirstRows
Regards
Stefan -
Need help about setting up a JMS sender channel
I just started to play with PI for a few weeks and I'm trying to setup a simple JMS sender channel to read stuff from a WebSphere MQ.
I've someone installed JMS adaptor for me, but we never know it is correctly installed or not. First question is "Is there any way we can verify JMS adapter is correctly installed or not?"
In the Design: integration builder, I've a very defined a very simple data type(src_dt) which is a string and a message type(src_mt) which uses resp_dt. Finally I created a message interface (test_mia_out) that contains src_mt. At this point of time, I don't need message mapping so I didn't configurate this section.
Then I went to Configuration: Integration builder and created a new communcation channel with the following setting:
Parameter section:
Adapter Type: JMS
Transport Protocol: WebSphereMQ (Non-JMS) <- if i don't use this option, i can't enter MQ connection detail in the Source section.
Message Protocol: JMS 1.x
Adapter Engine: Integration Server
Source section:
QueueConnectionFactory Java Class: com.ibm.mq.jms.MQQueueConnectionFactory
Queue Java Class: com.ibm.mq.jms.MQQueue
...MQ connection detail...(IP, Port, Queue Manager, Channel and Queue Name )
Transport Protocol: TCP/IP <- this is consists to server side setting
JMS-Compliant: JMS-Compliant
Since I only want a very simple working sample, again I didn't change the content in receiver determination, interface determaintion and sender agreement.
Now when I active this change and I saw the following error in the channel monitor:
Short Log - Channel has internal error
Admin Info - Exception: Channel with Status Unknown or Not Registered
I did stop and start the service, refresh CPA cache and even restart the entire PI server, I always see this message and cannot find any more detail description about what is causing this problem.
My PI Server version is 7.0 and MQ version is 5.3
There's very limited resource about how to setup to read MQ message in PI and I'm stuck now. Therefore, I need a help from some experienced people to tell me if I have did something wrong or missed some steps?
And if possible, could people mind to post a step by step go through how you setup it up?
Edited by: Robert Fu on Jan 10, 2008 6:51 AMBefore you use the JMS, you need to deploy some drivers related to specific MQseries, Kindly ensure that proper driver are deployed....
If you use MQSeries 53x.xxx, you must enter the following JAR files in aii_af_jmsproviderlib.sda.
com.ibm.mq.jar, com.ibm.mqbind.jar, com.ibm.mqjms.jar, connector.jar (use the JAR file from the J2EE client directory)
check this link it will give you more inofmration
http://help.sap.com/saphelp_nw04/helpdata/en/cd/d85a9d6fab7d4dbb7ae421f710626c/content.htm
check this to get the condifuration the JMS
How to use conversion modules in JMS - https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f02d12a7-0201-0010-5780-8bfc7d12f891
Ref How To Use the Content Conversion Module in JMS Adapter - https://websmp106.sap-ag.de/~form/sapnet?_SHORTKEY=01100035870000582377& -
JMS Sender Communication Channel problem
Hi XI gurus!!
I have a JMS Sender Communication Channel that cannot get information from JMS TIBCO queue.
In defaultTrace.XX.trc I see the following information and errors:
#1.#00144F249F1500C70000087D00002D8300044A22A193A198#1207412506993#com.sap.aii.adapter.jms.core.connector.ConnectorImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.connector.ConnectorImpl.buildConnection()#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Path##Plain###Exiting method#
#1.#00144F249F1500C70000087E00002D8300044A22A193A201#1207412506993#com.sap.aii.adapter.jms.core.connector.ConnectorImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.connector.ConnectorImpl.buildSessions()#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Path##Plain###Entering method#
#1.#00144F249F1500C70000087F00002D8300044A22A193A552#1207412506993#System.err#sap.com/com.sap.xi.mdt#System.err#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Error##Plain###2008-04-05 17:21:46 [161906789 SAPEngine_Application_Thread[impl:3]_52] [TIBCO EMS]: createQueueSession qsess=198151 qconn=45502 tran=true ackmode=1#
#1.#00144F249F1500C70000088000002D8300044A22A193A670#1207412506994#com.sap.aii.adapter.jms.core.connector.ConnectorImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.connector.ConnectorImpl.buildSessions()#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Info##Java###Sucessfully created session {0} for profile {1}#2#com.tibco.tibjms.TibjmsQueueSession@3a5f233#
{GenericConnectionProfileImpl
{Description=ConnectionProfile of channel: JMS_Sender_loginCheckReq_001on node: 21291150 having object id: 7e7ee107bc2031d2bc79fa2fce15bbed,
JmsMessageSelector=,
ConnectionFactoryConstructor=null,
ConnectionFactoryFactoryInvocation=null,
ConnectionFactoryInvocations=[],
DestinationConstructor=
{ConstructorInvocation
{className=null,
invokeParams=[]
DestinationInvocations=[],
MessageInvocations=[],
DestinationName=null,
User=,
Password=,
isJmsSessionTransacted=true,
InitialContextEnvironment={java.naming.provider.url=190.10.0.133:9222, java.naming.factory.initial=com.tibco.tibjms.naming.TibjmsInitialContextFactory},
LookupConnectionFactory=QueueConnectionFactory,
LookupDestination=GALP.PRD.TIGERC.LOGIN.REQ,
SerializedConnectionFactoryPath=null,
SerializedDestinationPath=null,
Flags=0000000000000000000000000000000000000000000000000000100000000010
#1.#00144F249F1500C70000088100002D8300044A22A193A7EE#1207412506994#com.sap.aii.adapter.jms.core.connector.ConnectorImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.connector.ConnectorImpl.buildSessions()#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Path##Plain###Exiting method#
#1.#00144F249F1500C70000088200002D8300044A22A193A85F#1207412506994#com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createDestination()#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Path##Plain###Entering method#
#1.#00144F249F1500C70000088300002D8300044A22A193B153#1207412506997#System.err#sap.com/com.sap.xi.mdt#System.err#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Error##Plain###2008-04-05 17:21:46 [161906789 SAPEngine_Application_Thread[impl:3]_52] [TIBCO EMS]: createQueueConnection qconn=45503 qconfac=QueueConnectionFactory[url=tcp://190.10.0.133:9222;clientID=null;Properties={}] user=null#
#1.#00144F249F1500C70000088400002D8300044A22A193E3CF#1207412507009#com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createDestination()#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Path##Plain###Exiting method#
#1.#00144F249F1500C70000088500002D8300044A22A193E571#1207412507010#com.sap.aii.adapter.jms.core.connector.ConnectorImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.connector.ConnectorImpl.executeDestinationInvocations#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Path##Plain###Entering method#
#1.#00144F249F1500C70000088600002D8300044A22A193E64B#1207412507010#com.sap.aii.adapter.jms.core.connector.ConnectorImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.connector.ConnectorImpl.executeDestinationInvocations#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Path##Plain###Exiting method#
#1.#00144F249F1500C70000088700002D8300044A22A193E714#1207412507010#com.sap.aii.adapter.jms.core.connector.ConnectorImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.connector.ConnectorImpl.buildMessageProducers()#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Path##Plain###Entering method#
#1.#00144F249F1508770000000000002D8300044A22A83A6308#1207412618584#System.err#sap.com/com.sap.xi.mdt#System.err#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#Thread[TIBCO EMS TCPLink Reader (45502),5,SAPEngine_Application_Thread[impl:3]_Group]##0#0#Error##Plain###2008-04-05 17:23:38 [2092826462 TIBCO EMS TCPLink Reader (45502)] [TIBCO EMS]: received msg from daemon conn=45502 seqid=40664365 msgid=ID:EMS-SERVER.91446ECB042B480:12545#
#1.#00144F249F1508770000000100002D8300044A22A83A650C#1207412618585#System.err#sap.com/com.sap.xi.mdt#System.err#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#Thread[TIBCO EMS TCPLink Reader (45502),5,SAPEngine_Application_Thread[impl:3]_Group]##0#0#Error##Plain###2008-04-05 17:23:38 [2092826462 TIBCO EMS TCPLink Reader (45502)] [TIBCO EMS]: post msg to session sess=198151 cons=261547 seqid=40664365 msgid=ID:EMS-SERVER.91446ECB042B480:12545#
In the last two lines we can see that SAP XI do a connection to TIBCO and is getting an unknown error, even in debug (note 856346) I cannot get any information.
Actually we are running SAP XI 3.0 SP21, but this was working fine in SAP XI 3.0 SP17. We have more than 100 Communication Channels working fine and only is having this strange behavior.
BTW if we put manually information in TIBCO QUEUE it works fine, but automatically doesn't pick the message.
ThanksHI,
As per the trace details given please consider few of the below options....
What do u see in adapter monitoring tool for JMS adapter?
http://hostname:5XX00/mdt/amtServlet
Did you follow the document on correlation of JMS messages?
In communication channel You have to set
Correlation ID -> XI conversationID
XI message ID->GUID
XI Conversation ID -> JMS correlation ID.
Now in the custom J2EE application you should set
jmscorrelationid of message before sending in to queue to jms correlation id of message before receiving from the queue.
This thread deals with the issue..
JMS Queue monitoring
Check if the JMS Sender adapter EOIO is with serialized messages
Thanks
Swarup -
JMS sender communication channel content conversion
Hi,
I struck with the content conversion in the JMS Sender communication channel.
I have configured the communication channel with the filed fixed lengths. (Simple type)
The field fixed lengths i have given are 10,2,3,11
The contents in the file 1000000072 230 111
but, in the input xml after conversion iam getting 100000007 in the first field and 2 in the second field 23 in the third field.
I have configured the sender communication channel as in the document in SDN.
Even, i configured several communication channels. I didn't get this strange error any time.
I have gone through SDN to fix this issue, but i didn't get solution.
If anyone got rectified this kind of error, please answer your solution to me
Thanking you,
Regards,
Krishnaraju.Hi,
Thanks for all your support. The issue got resolved.
The issue is due to the file, In the file the special characters are appearing. We are not able to see these characters in the notepad, wordpad, text editor.
But, these characters are appearing in th syn text editor. So, we removed those characters and processessed the file. Now, it is successfull.
Regards,
Krishnaraju. -
JMS (Sender Communication Channel) and MQ in Mainframe (Legacy) System
Hi All,
Can we use JMS Sender Communication Channel in XI that runs on Windows 2003 server to DIRECTLY poll messages from MQ in Mainframe (Legacy) system??
I understand that we can install MQ on XI server and have mainframe push the messages to XI MQ so that JMS can poll but wanted to see if there is a way to do this without having MQ on XI server.
If you know of any documentation regarding this, can you please post it?
Thanks,
JayJung,
Are you looking for this help:
/people/william.li/blog/2006/11/13/how-to-use-saps-webas-j2ees-jms-queue-in-exchange-infrastructure
Also check this sap help:
http://help.sap.com/saphelp_nw04/helpdata/en/cd/d85a9d6fab7d4dbb7ae421f710626c/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/f4/2d6189f0e27a4894ad517961762db7/content.htm
---Satish -
Hi All,
I am trying to Pick two different XML types of Messages from a Single Queue.
For Example :- Despatch Advice and Replishment Proposal.
Queue Name is : - JMS_XI_Sender
SAP XI is not allowing me to create two different sender agreements for the same communication channel.
Service :- BS_JMS
Interface : - Despatch_Advice_OB
CC :- JMS_SENDER
and
Service :- BS_JMS
Interface : - Replishment_Proposal_OB
CC :- JMS_SENDER
Can any one tell how can SAP XI will differentiate these two messages and sends to two different receivers.Hi Rama,
I am using XML Despatch Advice and Replishment Proposal types .
Basically I do have one sender which will post Two types of XML messages in to one single MQ Queue.
SAP XI/PI has to pick that message and then needs to check what is the Value in the "Message Type" Tag .
I do also have two different Interfaces and Mappings and Two different Receivers.
Depending on the value in Message Type SAP XI/PI has to check for the Particular Interface and Mapping, finally needs post the message to Particular Receiver
You need to have defined two different sender agreements with two different Communication channels.
In the JMS adapter Sender configuration you can mention the Queue name to pick the message . After picking the message the JMS sender adapter need to map it to the correct message type - it is defined by message interface defined in the sender agreement .
Please let us know if you need any further calrification.
Regards,
kishore -
JMS Sender Adapter EOIO with different messages in Queue to RFC
Dear Colleague,
In one of my scenarios i am using JMS Sender Adapter and Websphere MQ series.
In my MQ Series Queue i get different Messages with Different Structures.
for e.g in my MQ Series Queue Q1 i have M1, M2, M3 coming in Order.
Now i need to doa Mapping of M1 to a Standard BAPI B1 call through RFC at the reciever side.
Now i need to doa Mapping of M2 to a Standard BAPI B2 call through RFC at the reciever side.
Now i need to doa Mapping of M3 to a Standard BAPI B3 call through RFC at the reciever side.
We are aware that on Receiver side we can have multiple Recievr Determinations.so i can send it to 3 different BAPIs.
Question:
But how do i split the Messges which are coming out of MQ series Q from JMS to 3 different Mapping Structures as we knwo that we do not 'Multiple Sender Interface Determinations' from Determined based on the Message which is coming in.
Hope i have been clear in making myself understand about the problem given above.
I have alos given below the same in a bit Graphical Form.
MQ Series --> M3, M2, M1(Messages) --> JMS Adapte(EOIO) --> M1(Message) -> RFC -> B1(Bapi)
--> JMS Adapte(EOIO) --> M2(Message) -> RFC -> B2(Bapi)
--> JMS Adapte(EOIO) --> M3(Message) -> RFC -> B3(Bapi)
Is it possible to achieve the above result. Answers fo the solution are most welcome. These can be also from the new Netweaver Release Versions. If we have the solution to these in New version we will implment the New Netweaver Releases.
Thanks & Warm Regards
VenugopalDear Kai,
if i have 3 MQ series Queues then how are we going to maintain the flow of the Messages in the same order in which has come into MQ series queues.
this mesans to say that all the Message come in Parallel out from JMS or MQ side and will be mapped onto Reciever side.
But in my case i wil need to have M1 first M2 second and M3 third.
This means to say that M1 recived and acknowledged then M2 should come and acknowledged and then M3 should be acknowledged.
How this will be possible with your solution of making 3 MQ series Queues.
Please do let me know.
Thanks
Venugopal -
Content conversion in XI using JMS Sender Adapter.
Hi,
I have scenario where i will get fixed length flat file from MQ and i need to create an IDOC.
The flat file structure is like below.
HEADER001002003 (Occurs once)
DELIVERY0000111112222 (Min - 1 and Max - Unbounded)
Detail33333344444455555 (Min - 1 and Max - Unbounded)
NOTE -- Detail record is sub level record of DELIVERY.
I would like to do content conversion in JMS SENDER ADAPTER.
Did anybody worked on similar scenario?
I would appreciate ,if anybody provides info on how to do it.
Regds,
Jagdish.Hi
Please have a look at these threads..u get an idea abt the content conversion.
JMS Adapter: Content Conversion
https://forumsn.sdn.sap.com/click.jspa?searchID=2171243&messageID=3319704
JMS Adapter Content Conversion
JMS Content Converrsion
Hope these help you! -
JMS sender adapter is not picking up message from MQ
Hi Experts,
I have configured the JMS sender adapter for getting message from Websphere MQ. In RWB the adapter and the communicaiton channel all looking good. The trace file tells me the connection to the queue has been established.
But the problem is this JMS sender adapter is not picking up message from the Queue defined on the MQ site.
Any Idea what could be wrong?
Thanks!
Jason
JasonHi,
1) Can you activate the JMS adapter again ( edit save and activate it )
2) Check whether the right Queue is addressed.
Regards
Agasthuri Doss -
Content conversion at JMS sender communication channel
Hi friends,
I have to convert fixed length flat structure to xml message.Therefor i have to do content conversion at the JMS sender comm channel.Can someone please explainthe procedure?
data in the queue would be like as follows.
9999000000124646q12233appej500rc11147822zordHi Manikandan,
The structure conversion can handle files containing rows with different structures. In
each row there is a key field to identify the structure. The rows with identical key fields of
course have identical structures.
Let us assume that we have a sample file with four rows. Each row has a two-byte key
field; the first row has a second field with ten bytes; the structure of the second and third
rows is the same and comprises two additional fields with three bytes each; the last row
has a second field with five bytes:
AA1234567890
BBABCABC
BBXYZXYZ
CC12345
The configuration for the conversion could look like this:
Module Configuration
Module Key Parameter Name Parameter Value
Plain2XML Transform.Class com.sap.aii.messaging.adapter.Conversion
Plain2XML Transform.ContentType text/xml;charset=utf-8
Plain2XML xml.conversionType StructPlain2XML
Plain2XML xml.processFieldNames fromConfiguration
Plain2XML xml.documentName MyDocument
Plain2XML xml.documentNamespace http://xi.com/test
Plain2XML xml.recordsetName MyRecordset
Plain2XML xml.recordsetStructure NameA,1,NameB,*,NameC,1
Plain2XML xml.keyFieldName MyKey
Plain2XML xml.keyFieldType CaseSensitiveString
Plain2XML xml.NameA.fieldNames MyKey,field-nameA
Plain2XML xml.NameA.fieldFixedLengths 2,10
Plain2XML xml.NameA.keyFieldValue AA
Plain2XML xml.NameB.fieldNames MyKey,field-nameB1,field-nameB2
Plain2XML xml.NameB.fieldFixedLengths 2,3,3
Plain2XML xml.NameB.keyFieldValue BB
Plain2XML xml.NameC.fieldNames MyKey,field-nameC
Plain2XML xml.NameC.fieldFixedLengths 2,5
Plain2XML xml.NameC.keyFieldValue CC
In xml.recordsetStructure, you add a name for each different structure followed by the
number of occurrences or an asterisk for unbounded occurrences. For each structure
name, you configure the structure separately in a separate namespace such as
xml.NameA.fieldNames and so on.
If your source file is a CSV file, replace each xml.XXX.fieldFixedLengths with
xml.XXX.fieldSeparator.
the result of this conversion looks like this:
<ns:MyDocument xmlns:ns="http://xi.com/test">
<MyRecordset>
<NameA>
<MyKey>AA</MyKey>
<field-nameA>1234567890</field-nameA>
</NameA>
<NameB>
<MyKey>BB</MyKey>
<field-nameB1>ABC</field-nameB1>
<field-nameB2>ABC</field-nameB2>
</NameB>
<NameB>
<MyKey>BB</MyKey>
<field-nameB1>XYZ</field-nameB1>
<field-nameB2>XYZ</field-nameB2>
</NameB>
<NameC>
<MyKey>CC</MyKey>
<field-nameC>12345</field-nameC>
</NameC>
</MyRecordset>
</ns:MyDocument>
Regards,
Vinod. -
Question on endSeparator in JMS sender Adapter
Hi,
My scenario is - JMS(Sender) to IDOC(Receiver). So I am picking data from MQ and populating IDOC via XI.
My source structure is below.
RecordSet( 1 : Unbounded)
Header (Occurs only one time)
Delivery (1 : Unbounded)
RecordSet can occur multiple times. Under RecordSet I have Header which occurs only one time and Delivery which can occur multiple times.
Below is the data I am getting from MQ
123456789#987654321#789456123
12345678 Header record
-- Separator between Header and Delivery record
987654321 First Delivery record
- Separator between two delivery Records.
789456123 Second Delivery Record
I have no issues in Content conversion.
I have declared end separator like below for Header and Delivery Record.
ml.Header.endSeparator #
xml.Delivery.endSeparator #
When I declare like above it is not working .
Any body has any idea on how to take care of endseparator (#)?
Thank you,
SuryaSurya,
The '#' is between fields, why you are using <b><i>endSeparator</i></b>, instead try to use <b><i>fieldSeparator</i></b>.
Let me know the results.
Best Regards,
raj. -
EOIO JMS Sender Channel in Error
Hi All,
We have a error on JMS sender channels in Pre-Production environment.
Let me explain you the problem.
On Dev and QA there is no cluster environment. On Pre-production we have 3 clusters. We tested this Sender JMS channel on Dev and QA without giving a Cluster ID and it worked.
Now on Pre prod, we had not mentioned the cluster ID and when messages were picked from the Queue, the channel went into a error mode stating the " Channel is locked due to EOIO".
Then when we added the cluster ID to the channel, in RWB the channel goes into inactive mode. The status is " The EOIO channel has been made inactive on Node 206485150"
The node mentioned in channel is 251902150. This means that the other node has been made inactive. That sounds logical as it is not supposed to process the message.
But the node which is mentioned in the channel has also gone into error mode.
" Error creating JMS connection. failed to create MQManager for ' Hostname:Channel name'". An MQException occured: Completion code 2, Reason 2009
MQJE016: MQ queue managerclosed channel immediatly during connect. Closure reason= 2009, and erro code as MQJMS2005
After this all other sender JMS channels have gone into the same error mode on this node.
We have stopped the JMS service and started it. We also restarted the XI server but no change was encountered.
Please let us know whether JMS sender with EOIO works with cluster ID as I'm not able to find any document which says that JMS with EOIO works succesfully.
Please also let us know how to overcome the error on this node.
Thank you.
Regards,
Sarvesh DesaiCheck if there is any unprocessed message stuck in the queue:
/people/stefan.grube/blog/2006/04/27/how-to-deal-with-stuck-eoio-messages-in-the-xi-30-adapter-framework
Maybe you are looking for
-
Hi Everybody, I'm new to LabVIEW and need some help! I have setup a system that acquires the data from 4 thermocouples. I have then split the data to provide 4 temperature versus time graphs. The temperature fluctuates up and down but the time values
-
How to delete songs on itunes and hard drive at the same time?
hi guys. i have been looking around the forum and simply couldnt find and answer to my problem. when i delete a song from my itunes library it only deletes the song on itunes, and not from my harddrive. all my songs is allready in the itunes media fo
-
Accounts Payables- Trial Balance
Hi Oracle R12 The Accounts Payables Trial Balance report is working fine when the liability accounts are defined as a same value in 2 places 1 Supplier --> Entry --> Accounting 2 Setup --> Options--> Financial Options Upon modifying the liability acc
-
Receiving Error Message when running sh rep_populate.sh
Following directions at http://www.oracle.com/technology/tech/linux/htdocs/yum-repository-setup.html Receiving Error Message when running sh rep_populate.sh trying to create local yum repositories and configure up2date and yum to install and update p
-
DNG Profile Editor "base profile" question.
I'm profiling a Canon 5D3 with both the Adobe DNG Profile Editor and the Xrite ColorChecker software. It's been about 3 years since I last profiled a camera, so I'm re-doing the learning curve. My question now is how and why the DNG Profile editor de