cancel
Showing results for 
Search instead for 
Did you mean: 

Processing Rule Transaction with async transaction call

Former Member
0 Kudos

Hi

Here is the scenario:

1. Xml is posted to XMIIMESSAGELISTNER.

2. Processing Rule is setup with correct Message Name and transaction (A).

3. Transaction A processes the xml by calling another transaction (B) asynchronously n times (based on the posted xml).

Now here is the issue. It seems like Transaction(A) is not able to call another transaction(B) asynchronously, when being executed from a processing rule? If I run the transaction(A) manually from the workbench the asynchronously called transaction(B) is executed just fine.

When looking into the Log Viewer, it seems like it is an authentication issue, but how do I setup security for a processing rule?

Best Regards

Simon Bruun

Accepted Solutions (1)

Accepted Solutions (1)

jamie_cawley
Advisor
Advisor
0 Kudos

What version are you running? There has been a lot of related fixes, so I would suggest checking the notes for whatever version you are running. From some of your previous posts it looks like you might be running 12.2, if thats the case enter a css ticket.

Jamie

Edited by: Jamie Cawley on May 24, 2011 8:15 AM

Former Member
0 Kudos

I have tested it on both 12.1.7 Build(50) and 12.2.2 Build(212) with same result.

But I will create a ticket on the 12.2 issue.

Edited by: Simon Bruun on May 24, 2011 2:20 PM

jamie_cawley
Advisor
Advisor
0 Kudos

12.1.8 Patch1 has a related fix. See note 1552233 for the details.

Jamie

Former Member
0 Kudos

I have tried with SP 08 however the problem remains the same...

I have tried to setup the same transaction in the scheduler. If I run the transaction without a user and password typed in the schedule editor I get the same error as with the processing rule. However if I use my username and password in the scheduler the transaction works!

Isn't it possible to assign a user to a processing rule?

Edited by: Simon Bruun on May 25, 2011 11:17 AM

jamie_cawley
Advisor
Advisor
0 Kudos

No way of assigning a user in the processing rule. If the patch did not help I would suggest creating a 12.1 css message too.

Jamie

Answers (3)

Answers (3)

Former Member
0 Kudos

New SP of MII 12.1 and 12.2 solved the problem

agentry_src
Active Contributor
0 Kudos

Hi Simon,

Just wanted to check to make sure you are using NW CE SP5 or greater as required by MII 12.1.8. There is a recent posting regarding a note on this which is probably worth researching.

Regards,

Mike

Former Member
0 Kudos

Hi Michael.

Yes, we are currently running on SP5. Thanks though...

/Simon

Former Member
0 Kudos

Here is the error from the log viewer:

Message: Error processing message.

[EXCEPTION]

java.lang.NullPointerException: while trying to invoke the method com.sap.xmii.Illuminator.security.User.getRoleNames() of an object loaded from local variable 'user'

at com.sap.xmii.bls.engine.TransactionManager.checkPermissions(TransactionManager.java:1165)

at com.sap.xmii.bls.engine.TransactionManager.load(TransactionManager.java:545)

at com.sap.xmii.ejb.TransactionBean.onMessage(TransactionBean.java:84)

at sun.reflect.GeneratedMethodAccessor337.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:177)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_MessageListenerType.invoke(Interceptors_MessageListenerType.java:110)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Lock.invoke(Interceptors_Lock.java:21)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133)

at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164)

at com.sap.engine.services.ejb3.runtime.impl.MDBProxyInvocationHandler.invoke(MDBProxyInvocationHandler.java:77)

at $Proxy344.onMessage(Unknown Source)

at com.sap.jms.resourceadapter.RaServerSession.internalOnMessage(RaServerSession.java:188)

at com.sap.jms.resourceadapter.RaServerSession.onMessage(RaServerSession.java:336)

at com.sap.jms.client.session.JMSSession.deliverMessage(JMSSession.java:809)

at com.sap.jms.client.session.JMSSession.run(JMSSession.java:708)

at com.sap.jms.resourceadapter.RaServerSession.run(RaServerSession.java:385)

at com.sap.engine.services.connector.jca15.work.TaskImpl.run(TaskImpl.java:420)

at com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)

at com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)

at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:327)

Date: 2011-05-24

Time: 12:23:27:341

Category: com.sap.xmii.ejb.TransactionBean

Location: com.sap.xmii.ejb.TransactionBean

Application: sap.com/xappsxmiiear

Thread: Thread[Managed_Application_Thread_17,5,Managed_Application_Thread]

Data Source: j2ee\cluster\server0\log\defaultTrace_00.trc

Arguments:

DSR Transaction: d5038cff85ef11e081c20000009504a2

Message Code:

Session: 0

Transaction:

User: Guest

Time Zone: +0200

CSN Component:

DC Component: sap.com/xappsxmiiear

Correlation ID: 9766050000000012

DSR Root Context ID: D5038CFF85EF11E081C20000009504A2

DSR Connection: d5038cff85ef11e081c20000009504a2

DSR Counter: 0

Log ID: 000C2979A4140C700000000100001408

Host: x

System: x

Instance: x

Node: x