Skip to Content
avatar image
Former Member

Seeburger Adapter - SAP PI7.1

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?

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

4 Answers

  • avatar image
    Former Member
    May 17, 2011 at 01:29 PM

    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!

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    May 04, 2011 at 11:24 AM

    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

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      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)

  • avatar image
    Former Member
    May 06, 2011 at 10:40 AM

    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?

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    May 16, 2011 at 02:46 PM

    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

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      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