cancel
Showing results for 
Search instead for 
Did you mean: 

Seeburger Adapter - SAP PI7.1

Former Member
0 Kudos

Hi

I am having an issue generating a Functional Acknowlegement message in response to a test EDI Sales Order (Edifact D96A)

, which is being sent via external AS2 Server to Seeburger/PI.

The EDI Sales Order message processes perfectly, resolves to the correct BIC Child Mapping, maps to Idoc and posts successfully.

No error status are observed, but also no Func Ack message is seen in either SXMB_MONI or RWB.

When I select the Successfull Sales Order message in the RWB, and click 'Error Log', I see the following:

03.05.2011 16:51:23 Information SEEBURGER/AS2: Received message for inbound processing!

03.05.2011 16:51:23 Information SEEBURGER/AS2: Found channel and binding.

03.05.2011 16:51:23 Information SEEBURGER/CLASSIFIER: Successfully read message and configuration data. The analysing and classifing starts now

03.05.2011 16:51:23 Information SEEBURGER/CLASSIFIER: encoding -> Cp1252

03.05.2011 16:51:23 Information SEEBURGER/CLASSIFIER: type -> Edifact

03.05.2011 16:51:23 Information SEEBURGER/CLASSIFIER: exiting SeeClassifier successfully

03.05.2011 16:51:23 Information SEEBURGER BICXIADAPTER.MODULE Message entered Module (CallBicXIRaBean) and will be passed to the adapter now.

03.05.2011 16:51:23 Information SEEBURGER BICXIADAPTER +++ starting conversion with mapping: Edifact_RB +++

03.05.2011 16:51:24 Information SEEBURGER BICXIADAPTER +++ CONVERSION SUCCESSFUL +++

03.05.2011 16:51:24 Information SEEBURGER BICXIADAPTER.MODULE BIC Module (CallBicXIRaBean) is exiting succesfully.

03.05.2011 16:51:24 Information SEEBURGER/MESSAGESPLITTER: Trying to establish CCI Connection to Message Splitter Adapter

03.05.2011 16:51:24 Information SEEBURGER/MESSAGESPLITTER: Creating CCI Interaction

03.05.2011 16:51:24 Information SEEBURGER/MESSAGESPLITTER: There are 1 attachments to split

03.05.2011 16:51:24 Information SEEBURGER/MESSAGESPLITTER: ############### Splitting 1. attachment. ###################

03.05.2011 16:51:24 Information SEEBURGER/MESSAGESPLITTER: Attachments target channel: 5900012299001|E2X_ORDERS_UN_D96A_RB|ACCEPTED|1

03.05.2011 16:51:24 Information SEEBURGER/MESSAGESPLITTER: Sender: 5900012299001

03.05.2011 16:51:24 Information SEEBURGER/MESSAGESPLITTER: ID for: E2X_ORDERS_UN_D96A_RB

03.05.2011 16:51:24 Information SEEBURGER/MESSAGESPLITTER: State : ACCEPTED

03.05.2011 16:51:24 Information SEEBURGER/MESSAGESPLITTER: Loaded configuration successfully and found a matching channel.

03.05.2011 16:51:24 Information SEEBURGER/MESSAGESPLITTER: Finished splitting!

03.05.2011 16:51:24 Information SEEBURGER/MESSAGESPLITTER: Message Splitter Module is exiting succesfully.

03.05.2011 16:51:24 Information The application tries to send an XI message asynchronously using connection AS2_http://seeburger.com/xi.

03.05.2011 16:51:24 Error Returning to application. Exception: com.sap.engine.interfaces.messaging.api.exception.ConfigException: No sender agreement configured that matches the message's header fields (sender party: "TRADINGPARTNER", sender service: "TRADINGPARTNER_BC", interface: "http://com.xx/FunctionalAck AckReportOut", receiver party: "", receiver service: "")

*03.05.2011 16:51:24 Error SEEBURGER/AS2: Inbound message processing failed ! Performing rollback.

There is definately a Sender Agreement for those parameters...

Any ideas please?

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Thanks guys. The problem is now solved.

The cause:

It appears that, with the latest version of PI/Seeburger, regarding the Sender Agreement for the Functional Ack...

..The use of 'Wildcards (*) for 1) Receiver Commmunication Party and 2) Receiver Communication Component Fields (Virtual Receiver) no longer works. By populating actual values in these fields, the Fuc Ack was generated successfully.

Furthermore, as some people has pointed out on this thread, for outbound AS2 transmissions, an additional Reports channel for the MDN (even for Syncronous) is now required.

Thanks to all for your help!

Former Member
0 Kudos

Dear Andy,

with the splitter, you need to have two sender channels for your interface:

One specific sender channel that will push the xmlized ORDERS UN D96A to your integration engine. That one seems to be available on your system.

One generic channel that will push the Functional Acknowledgement to your integration engine. That will happen regardless or any errors in the received EDI messages (as long as the message can still be processed by the main mapping).

The error message you receive indicates that you are lacking a combination of the following:

A communication channel that picks up your original message, runs the Seeburger modules (classifier, BIC, splitter) besides the Split997 channel that picks up the xmlized EDI message.

A sender agreement binding that FckAck communication channel to the FckAck outbound interface on your integration engine.

Most likely it's the second - for one interface using the FckAck solution you need to configure two flows in PI: one for the FckAck, one for the XML_EDI message.

Options for the FckAck handling are:

Map to CONTRL and send back.

Use for some internal reporting.

Stop processing in the receiver determination (specify a condition that will never be true and select "cancel message if no recipients are found").

Good luck!

Stefan

Former Member
0 Kudos

Hi Stefan

Thanks for the reply.

I believe I have this configuration in place already. I have 2 communication channels,

1. Type AS2 (message is recieved via AS2)

2. Type Split997

There is a Sender Agreement for each.

The S.A. for the AS2 Channel is for the Func Ack Interface

The S.A. for the Split997 Channel is used in the Seeburger Message-Splitter to process the XMLised EDI Message.

In fact, this has always worked perfectly with the previous version of Seeburger and SAP XI.

It is only with the new installation of PI7.1 and Seeburger 2.1 that it is not working.

Former Member
0 Kudos

Hi Andy,

What is your seeburger version .if it is 1.8.1 then you need to create one more extra sender agreement for MDN receiving .

Pls folow the below steps

create a sender channel name Dummy MDNSender

transport protocol :- HTTP

message protocol: reports

create a dummy sender agreement for the above dummy channel by giving dummy interface name and dummy interface namespace.

Pls test and let me know if the issue still persist

Cheers

/Hidayat

Former Member
0 Kudos

Even using the standard mappings See_Edifact and See_E2X_ORDERS_UN_D96A, the problem is the same.

No attachments are getting added to the Main Document.

In the Payload I would expect to see:

MainDocument ( application/xml )

classifierAtt ( application/xml )

5900012299001|See_E2X_ORDERS_UN_D96A|ACCEPTED|1 ( text/plain )

But I only have

5900012299001|See_E2X_ORDERS_UN_D96A|ACCEPTED|1 ( text/plain )

Processing sequence and Module Configuration seem right.

Any ideas please?

Former Member
0 Kudos

Hi,

I see you are calling the custom mapping of seeburger with the identifier RB is passed in your BICXIRaBean module config...

which is invoking your custom mapping instead of standard Mapping..(See_Edifact..) check if there is a mapping already available for 96A then why you need custom mappings...

if still custom mapping needed then try to execute the mapping at seeburger BIS tool and check the logs over there...

if that mapping not generates an Fack..then obviously PI will not get at runtime..

Hope this gives you the direction for your query

Rgds

Rajesh

Former Member
0 Kudos

Hi Rajesh

Thanks for the suggestions.

We do need to use Custom mappings. I can also confirm that the BIS Mappping Tool creates both a Func. Ack and a EDI Order XML message when main Mapping Edifact_RB is executed.

In the debug log, I see:

#2.0 #2011 05 04 17:00:44:177#+0100#Error#com.seeburger.frame.connection.SeeInitiatorConnector#

##seeburger.com/com.seeburger.xi.as2#0050568163230BA70000000400000B60#3160150000001085#seeburger.com/com.seeburger.xi.recover.timer#com.seeburger.frame.connection.SeeInitiatorConnector#RUNAS_ciioli#0##12EE4AE370D311E0B75F000000303856#12ee4ae370d311e0b75f000000303856#12ee4ae370d311e0b75f000000303856#0#Application [10]#Plain##

Error while calling initiator processor Caused by: Error in senderChannel 'ae742080887134a588a67302e041fa92': Catching exception calling messaging system-module:senderChannel 'ae742080887134a588a67302e041fa92': Catching exception calling messaging system

at com.seeburger.xi.api.module.impl.nw71.SeeModuleProcessorLocal71.process(SeeModuleProcessorLocal71.java:90)

at com.seeburger.xi.connector.fw.InitiationThread.run(InitiationThread.java:101)

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:182)

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

Caused by: com.sap.engine.interfaces.messaging.api.exception.ConfigException: No sender agreement configured that matches the message's header fields (sender party: "TRADINGPARTNER", sender service: "TRADINGPARTNER_BC", interface: "http://com.rb/FunctionalAck AckReportOut", receiver party: "", receiver service: "")

at com.sap.aii.adapter.xi.ms.XIMessage.handleBindingValidation(XIMessage.java:2095)

at com.sap.aii.adapter.xi.ms.XIMessage.prepare(XIMessage.java:2592)

at com.sap.aii.adapter.xi.ms.XIMessage.prepareAndSend(XIMessage.java:2518)

at com.sap.aii.adapter.xi.ms.XIEventHandler.onSend(XIEventHandler.java:254)

at com.sap.engine.messaging.impl.api.ConnectionImpl.send(ConnectionImpl.java:181)

at com.sap.aii.af.app.modules.CallAdapterWithMessageBean.process_sender(CallAdapterWithMessageBean.java:383)

at com.sap.aii.af.app.modules.CallAdapterWithMessageBean.process(CallAdapterWithMessageBean.java:211)

at sun.reflect.GeneratedMethodAccessor439.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_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:38)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22)

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.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133)

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

at $Proxy81.process(Unknown Source)

at com.sap.aii.af.app.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:275)

at sun.reflect.GeneratedMethodAccessor435.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_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:38)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22)

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.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133)

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

at $Proxy103.process(Unknown Source)

at com.seeburger.xi.api.module.impl.nw71.SeeModuleProcessorLocal71.process(SeeModuleProcessorLocal71.java:43)