cancel
Showing results for 
Search instead for 
Did you mean: 

Question on RNIF ReceiptAcknowledgement ?

Former Member
0 Kudos

Hello Experts,

Scenario: RNIF Invoice scenario.

Adapter: RNIF Receiver

Configuration Type: Single Action Asynchronous Request

Issue: We are receiving the ReceiptAcknowledgement from our partner but it stops at the communication channel level. Is there a way to get the ReceiptAck into the integration engine to log a message to the backend system (whichever that is) .

Thanks

Rahul .

Accepted Solutions (0)

Answers (2)

Answers (2)

bhavesh_kantilal
Active Contributor
0 Kudos

Rahul,

You cannot use the RA to send a message back to your IE.

Normally once your RNIF Transaction is completed you will see all the Transaction details under the Adapter Details Tab of your Message. This will be visible in only the Original Outbound Message in the Adapter Engine.

Regards,

Bhavesh

Former Member
0 Kudos

Yes thats what i thought . But the RA is failing on my receiver channel with the following errors

Error during validation. Location Service Header, field name InReplyTo-MessageStandard contains field value PIDX; expected value: []

Error during validation. Location Service Header, field name InReplyTo-StandardVersion contains field value 1.0; expected value: []

Error during validation. Location Service Header, field name PartnerDefinedPIPPayloadBindingId contains field value PIDX; expected value: [, PIDX]

Message processing caused failure . -


BTD handler indicated processing error

Validation of RNIF signal message failed; will ignore message -


null

Delivery of the message to the application using connection RNIFAdapter failed, due to: com.sap.aii.af.ra.ms.api.RecoverableException: java.lang.NullPointerException.

I'm getting these errors on the signal that comes back . The action message gets posted fine .

Any ideas ?

Former Member
0 Kudos

You need to configure the module as per this note item 5 - Note 870270.

For PIDX, I have configured these

MessageStandardFreeFormText: PIDX

StandardVersionIdentifier :1.0

partnerDefinedPIPPayloadBindingId: PIDX

SkipDocTypeInclusionInPayload: true

GlobalUsageCode: Production

I also receive this error in my logs -PIP_RESPACTION_NAME, but still have not figured out how to fix it.

Thanks

Asif

Former Member
0 Kudos

Thank for the reply Asif. And I'm using that note to configure the communication channel . These are the module paramters that i have configured

GlobalUsageCode Test

MessageStandardFreeFormText PIDX

StandardVersionIdentifier 1.0

partnerDefinedPIPPayloadBindingId PIDX

When i look at the service header of the ReceiptAcknowledgement - under InReplyTo , the VersionIdentifier is set to "1.0".

According to the PIDX XML ImplementationGuideline document that value is the expected value .

But on my communication channel it fails saying

Error during validation. Location Service Header, field name InReplyTo-StandardVersion contains field value 1.0; expected value: []

Very Strange .

Former Member
0 Kudos

Here is my inReplyTo and pipVersion from Service Header for Comparison

<inReplyTo>
          <ActionControl>
            <ActionIdentity>
              <GlobalBusinessActionCode>Invoice Notification</GlobalBusinessActionCode>
              <messageStandard>
                <FreeFormText>PIDX</FreeFormText>
              </messageStandard>
              <standardVersion>
                <VersionIdentifier>1.0</VersionIdentifier>
              </standardVersion>
            </ActionIdentity>
            <messageTrackingID>
              <InstanceIdentifier>xxxxxxxxxxxxxxxx</InstanceIdentifier>
            </messageTrackingID>
          </ActionControl>
        </inReplyTo>

<pipVersion>
      <VersionIdentifier>1.0</VersionIdentifier>
    </pipVersion>

Instanceidentifier is changed to xxxxxxxxxx

Thanks

Asif

Former Member
0 Kudos

<inReplyTo>

<ActionControl>

<ActionIdentity>

<GlobalBusinessActionCode>Invoice Notification</GlobalBusinessActionCode>

<messageStandard>

<FreeFormText>PIDX</FreeFormText>

</messageStandard>

<standardVersion>

<VersionIdentifier>1.0</VersionIdentifier>

</standardVersion>

</ActionIdentity>

<messageTrackingID>

<InstanceIdentifier>#########</InstanceIdentifier>

</messageTrackingID>

</ActionControl>

</inReplyTo>

<pipVersion>

<VersionIdentifier>1.0</VersionIdentifier>

</pipVersion>

mine looks just like yours

Edited by: Rahul Thunoli on Oct 7, 2011 4:36 PM

Former Member
0 Kudos

My interface is in production and working correctly. Try stopping and starting the channel from RWB.

Thanks

Asif

Former Member
0 Kudos

This the stack trace

39b7cefbf13911e0b8930000005a9f09 3dd87cb2f13911e0a9400000005a9f09 Runtime error encountered during BT Dialog processing; HINT\*: Validation of RNIF signal message failed; will ignore message*

-


null

; STACK TRACE\:com.sap.aii.af.protocol.ispeak.services.btdhandler.BTDRuntimeException: Validation of RNIF signal message failed; will ignore message

at com.sap.aii.af.protocol.ispeak.services.btdhandler.BTDContext.throwBTDRuntimeException(BTDContext.java:800)

at com.sap.aii.af.sdk.rnif.impl.btdhandler.btdactions.ProcessRA_SendSysAck.execute(ProcessRA_SendSysAck.java:180)

at com.sap.aii.af.protocol.ispeak.services.btdhandler.SimpleBTDTransition.execute(SimpleBTDTransition.java:136)

at com.sap.aii.af.protocol.ispeak.services.btdhandler.BTDState.dispatch(BTDState.java:101)

at com.sap.aii.af.protocol.ispeak.services.btdhandler.BTDContext.process(BTDContext.java:180)

at com.sap.aii.af.sdk.rnif.impl.choreography.BTDWrapperService.process(BTDWrapperService.java:123)

at com.sap.aii.af.protocol.ispeak.services.choreography.CMMessageGateway.invokeService(CMMessageGateway.java:204)

at com.sap.aii.af.protocol.ispeak.services.choreography.CMMessageGateway$1.run(CMMessageGateway.java:106)

at com.sap.aii.af.protocol.ispeak.services.choreography.CMMessageGateway$CMMessagePostStackController.runAction(CMMessageGateway.java:371)

at com.sap.aii.af.protocol.ispeak.services.choreography.CMMessageGateway.postIntoMessageChannel(CMMessageGateway.java:104)

at com.sap.aii.af.sdk.rnif.impl.choreography.listeners.MSRnifListenerLocalBean.InternalOnMessage(MSRnifListenerLocalBean.java:170)

at com.sap.aii.af.sdk.rnif.impl.choreography.listeners.MSRnifListenerLocalBean.onMessage(MSRnifListenerLocalBean.java:72)

at com.sap.aii.af.sdk.rnif.impl.choreography.listeners.MSRnifListenerLocalLocalObjectImpl1_0.onMessage(MSRnifListenerLocalLocalObjectImpl1_0.java:107)

at com.sap.aii.af.ra.ms.impl.ServicesImpl.deliver(ServicesImpl.java:276)

at com.sap.aii.af.ra.ms.spi.EventHandler.onDeliver(EventHandler.java:159)

at com.sap.aii.adapter.rnif.ms.RNIFEventHandler.onDeliver(RNIFEventHandler.java:666)

at com.sap.aii.af.ra.ms.impl.core.queue.consumer.ReceiveConsumer.processMessage(ReceiveConsumer.java:296)

at com.sap.aii.af.ra.ms.impl.core.queue.consumer.ReceiveConsumer.onMessage(ReceiveConsumer.java:79)

at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:917)

at com.sap.aii.af.ra.ms.runtime.MSWorkWrapper.run(MSWorkWrapper.java:56)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(AccessController.java:219)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:104)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:176)

Former Member
0 Kudos

This the stack trace

[EXCEPTION]

com.sap.engine.services.ejb.exceptions.BaseTransactionRolledbackLocalException: Exception thrown in method onMessage. The transaction is marked for rollback.

at com.sap.aii.af.sdk.rnif.impl.choreography.listeners.MSRnifListenerLocalLocalObjectImpl1_0.onMessage(MSRnifListenerLocalLocalObjectImpl1_0.java:121)

at com.sap.aii.af.ra.ms.impl.ServicesImpl.deliver(ServicesImpl.java:276)

at com.sap.aii.af.ra.ms.spi.EventHandler.onDeliver(EventHandler.java:159)

at com.sap.aii.adapter.rnif.ms.RNIFEventHandler.onDeliver(RNIFEventHandler.java:666)

at com.sap.aii.af.ra.ms.impl.core.queue.consumer.ReceiveConsumer.processMessage(ReceiveConsumer.java:296)

at com.sap.aii.af.ra.ms.impl.core.queue.consumer.ReceiveConsumer.onMessage(ReceiveConsumer.java:79)

at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:917)

at com.sap.aii.af.ra.ms.runtime.MSWorkWrapper.run(MSWorkWrapper.java:56)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(AccessController.java:219)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:104)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:176)

Caused by: java.lang.NullPointerException

at com.sap.aii.af.protocol.ispeak.exceptions.ISPBaseException.<init>(ISPBaseException.java:61)

at com.sap.aii.af.protocol.ispeak.services.choreography.CMException.<init>(CMException.java:32)

at com.sap.aii.af.protocol.ispeak.services.choreography.CMMessageGateway.throwRetryException(CMMessageGateway.java:344)

at com.sap.aii.af.protocol.ispeak.services.choreography.CMMessageGateway.postIntoMessageChannel(CMMessageGateway.java:135)

at com.sap.aii.af.sdk.rnif.impl.choreography.listeners.MSRnifListenerLocalBean.InternalOnMessage(MSRnifListenerLocalBean.java:170)

at com.sap.aii.af.sdk.rnif.impl.choreography.listeners.MSRnifListenerLocalBean.onMessage(MSRnifListenerLocalBean.java:72)

at com.sap.aii.af.sdk.rnif.impl.choreography.listeners.MSRnifListenerLocalLocalObjectImpl1_0.onMessage(MSRnifListenerLocalLocalObjectImpl1_0.java:107)

... 11 more

java.lang.NullPointerException

at com.sap.aii.af.protocol.ispeak.exceptions.ISPBaseException.<init>(ISPBaseException.java:61)

at com.sap.aii.af.protocol.ispeak.services.choreography.CMException.<init>(CMException.java:32)

at com.sap.aii.af.protocol.ispeak.services.choreography.CMMessageGateway.throwRetryException(CMMessageGateway.java:344)

at com.sap.aii.af.protocol.ispeak.services.choreography.CMMessageGateway.postIntoMessageChannel(CMMessageGateway.java:135)

at com.sap.aii.af.sdk.rnif.impl.choreography.listeners.MSRnifListenerLocalBean.InternalOnMessage(MSRnifListenerLocalBean.java:170)

at com.sap.aii.af.sdk.rnif.impl.choreography.listeners.MSRnifListenerLocalBean.onMessage(MSRnifListenerLocalBean.java:72)

at com.sap.aii.af.sdk.rnif.impl.choreography.listeners.MSRnifListenerLocalLocalObjectImpl1_0.onMessage(MSRnifListenerLocalLocalObjectImpl1_0.java:107)

at com.sap.aii.af.ra.ms.impl.ServicesImpl.deliver(ServicesImpl.java:276)

at com.sap.aii.af.ra.ms.spi.EventHandler.onDeliver(EventHandler.java:159)

at com.sap.aii.adapter.rnif.ms.RNIFEventHandler.onDeliver(RNIFEventHandler.java:666)

at com.sap.aii.af.ra.ms.impl.core.queue.consumer.ReceiveConsumer.processMessage(ReceiveConsumer.java:296)

at com.sap.aii.af.ra.ms.impl.core.queue.consumer.ReceiveConsumer.onMessage(ReceiveConsumer.java:79)

at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:917)

at com.sap.aii.af.ra.ms.runtime.MSWorkWrapper.run(MSWorkWrapper.java:56)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(AccessController.java:219)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:104)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:176)

39b7cefbf13911e0b8930000005a9f09 3dd87cb2f13911e0a9400000005a9f09 Runtime error encountered during BT Dialog processing; HINT\*: Validation of RNIF signal message failed; will ignore message*

-


null

; STACK TRACE\:com.sap.aii.af.protocol.ispeak.services.btdhandler.BTDRuntimeException: Validation of RNIF signal message failed; will ignore message

at com.sap.aii.af.protocol.ispeak.services.btdhandler.BTDContext.throwBTDRuntimeException(BTDContext.java:800)

at com.sap.aii.af.sdk.rnif.impl.btdhandler.btdactions.ProcessRA_SendSysAck.execute(ProcessRA_SendSysAck.java:180)

at com.sap.aii.af.protocol.ispeak.services.btdhandler.SimpleBTDTransition.execute(SimpleBTDTransition.java:136)

at com.sap.aii.af.protocol.ispeak.services.btdhandler.BTDState.dispatch(BTDState.java:101)

at com.sap.aii.af.protocol.ispeak.services.btdhandler.BTDContext.process(BTDContext.java:180)

at com.sap.aii.af.sdk.rnif.impl.choreography.BTDWrapperService.process(BTDWrapperService.java:123)

at com.sap.aii.af.protocol.ispeak.services.choreography.CMMessageGateway.invokeService(CMMessageGateway.java:204)

at com.sap.aii.af.protocol.ispeak.services.choreography.CMMessageGateway$1.run(CMMessageGateway.java:106)

at com.sap.aii.af.protocol.ispeak.services.choreography.CMMessageGateway$CMMessagePostStackController.runAction(CMMessageGateway.java:371)

at com.sap.aii.af.protocol.ispeak.services.choreography.CMMessageGateway.postIntoMessageChannel(CMMessageGateway.java:104)

at com.sap.aii.af.sdk.rnif.impl.choreography.listeners.MSRnifListenerLocalBean.InternalOnMessage(MSRnifListenerLocalBean.java:170)

at com.sap.aii.af.sdk.rnif.impl.choreography.listeners.MSRnifListenerLocalBean.onMessage(MSRnifListenerLocalBean.java:72)

at com.sap.aii.af.sdk.rnif.impl.choreography.listeners.MSRnifListenerLocalLocalObjectImpl1_0.onMessage(MSRnifListenerLocalLocalObjectImpl1_0.java:107)

at com.sap.aii.af.ra.ms.impl.ServicesImpl.deliver(ServicesImpl.java:276)

at com.sap.aii.af.ra.ms.spi.EventHandler.onDeliver(EventHandler.java:159)

at com.sap.aii.adapter.rnif.ms.RNIFEventHandler.onDeliver(RNIFEventHandler.java:666)

at com.sap.aii.af.ra.ms.impl.core.queue.consumer.ReceiveConsumer.processMessage(ReceiveConsumer.java:296)

at com.sap.aii.af.ra.ms.impl.core.queue.consumer.ReceiveConsumer.onMessage(ReceiveConsumer.java:79)

at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:917)

at com.sap.aii.af.ra.ms.runtime.MSWorkWrapper.run(MSWorkWrapper.java:56)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(AccessController.java:219)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:104)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:176)

Edited by: Rahul Thunoli on Oct 7, 2011 7:21 PM

Edited by: Rahul Thunoli on Oct 7, 2011 7:22 PM

Former Member
0 Kudos

Rahul

Have you configured item 4 from this Note 870270. RNIF message coming to PI will try to login without username/password, but PI by default is configured to use username/password authentication, this will disable that for RNIF messages. Your Basis team will need to do this.

Thanks

Asif

Former Member
0 Kudos

Yes , we did that part. The partner is able to post to the url shared without any authentication . The issue is after it gets into the communication channel .

Thanks for the reply .

Former Member
0 Kudos

Rahul

Can you check if the schema validation is turned on in the receiver agreement? If yes then turn it off and try

Thanks

Asif

Former Member
0 Kudos

We are running PI 7.0 . So i don't think there is any schema validation option in the RA . I checked and we are not doing it either ways . I can see that its failing in the communication channel with a null pointer exception

com.sap.aii.af.ra.ms.api.RecoverableException: java.lang.NullPointerException

then throws these errors in the audit log .

The expected value is not showing right .

If it did it would have been something to investigate on .

I even queried the backend table for auidt log (XI_AF_MSG_AUDIT) . No clues

Error Error during validation. Location Service Header, field name InReplyTo-StandardVersion contains field value 1.0; expected value: []

Error Error during validation. Location Service Header, field name PartnerDefinedPIPPayloadBindingId contains field value PIDX; expected value: [, PIDX]

Error Validation of RNIF signal message failed; will ignore message -


null

Error Message processing caused failure . -


BTD handler indicated processing error

Error Delivery of the message to the application using connection RNIFAdapter failed, due to: com.sap.aii.af.ra.ms.api.RecoverableException: java.lang.NullPointerException.

bhavesh_kantilal
Active Contributor
0 Kudos

Rahul,

Can you check note: 1381646 - Module attributes for PIDX adapter.

The note just states generically, "that Message generated from PIDX adapter doesn't adhere to the PIDX standard."

It is relevant for PI 7.1 & above but will be worth raising a Message with SAP as well.

Regards,

Bhavesh

Former Member
0 Kudos

Bhavesh ,

That note talks about the note 870270 which has already been implemented . Thanks for the input .

vk_k3
Participant
0 Kudos

HI Rahul,

I am trying to implement the scenario ABAP proxy with attachments to RNIF receiver adapter.

I am able to post messages to 3rd party when there is no attachment, but when there is an attachment the message is going to the 3rd party as unknown.

Can you please suggest on this?

Regards,

Vkjoat

Former Member
0 Kudos

Hi Rahul,

Did you got your answer. I am facing the same issue now and stuck there. Please help.

Regards,

Amit Banerjee

Former Member
0 Kudos

Why am i getting an error PIP_RESPACTION_NAME not configured in the default trace .

samiullah_qureshi
Active Contributor
0 Kudos

Hi Rahul,

Thanks for sharing this. However, I have a question here. Where exactly you have configured PIP_RESPACTION_NAME?

Regards,

Sami.

Former Member
0 Kudos

I have not configured it any where . I am doing a single-action responder scenario . We send an invoice notification and the partner sends us back a receipt acknowledgement . I'm under the impression that the receiptacknowledgement is just a signal and we don't need to have any extra configurations for it . But it keeps failing on my receiver communication channel . The receiptacknowledgement also has its service header preamble header and stuff when i look at it in the runtimeworkbench . Makes me wonder if its really a signal or action message .

samiullah_qureshi
Active Contributor
0 Kudos

Hello Rahul,

I too had a RNIF scenario, where we used to send the WorkOrders(PIP 7B5) to Partners. Where we were receiving the RAs(Receipt Acknowledgment) from the partners and the message status was getting updated in integration engine with the green check(stands for "No error in acknowledgement").

I was wondering if there is any setting to enable the message updation in integartion engine when we receive the RA from partner.

As per my understanding, RA is only a signal. Since it doesn't have any business data. It only has the reference to the original RN message.

Regards,

Sami.