Audit message in adapter module

hi all
I have developed a adapter module, in which I write some audit message. If the message is processed successfully, then I can see the audit message in RWB. But when some errors happen and some exceptions are thrown, I cannot see any audit message in RWB, what's more , I even cannot find the message in the adapter message monitoring. That means the message is lost. The only informaiton I can get is from the communication channel monitoring:
<i>exception caught during processing mail message [4]com.sap.aii.af.mp.processor.ModuleProcessorException: Error during processing local bean: localejbs/PgpMsg caused by: com.sap.engine.services.ejb.exceptions.BaseEJBException: Exception in method process.</i>
the SP level of XI is 18.
Any idea?
Thanks!
Regards,
Hui

Hi Rajeev,
That's what I do. My catch statement is as follow:
catch(Exception e) {
Audit.addAuditLogEntry(
                    amk,
                    AuditLogStatus.ERROR,
                     "Error while message processing----"
                    + e.getMessage());
throw new ModuleException(e);
I except that when an Exception is caught, it writes a audit log and throw a ModuleException. The message should be in error state and be resent several times automatically. But the current situation is: I cannot find the message in adapter message monitoring and the whole message is lost. The only information I can get is from the communication channel monitoring.

Similar Messages

  • Is it possible to send error message from Adapter Module to CCMS?

    Hi
    Is it possible to send error message from Adapter Module  to CCMS...?I have written on adatper module from there i have to send error message to CCMS or SXMB_MONI. Is it possible if yes please send me the related documents
    Best Regards
    Ravi Shankar B

    Hi
    I have written following User Defined Exeption in my Module program
    class DuplicateFileException extends ModuleException{
              DuplicateFileException(String message){
                   super(message);
    I am throwing my Exception like this
    try{
         throw new DuplicateFileException("Duplicate File");
    }catch(DuplicateFileException e){
         throw e;
    But i am not getting this exception in SXMB_MONI. In adpater monitoring i am getting the following exceptions
    <b>
    2007-05-16 15:51:30 GMT+05:30: Retry interval started. Length: 5.000 s
    - 2007-05-16 15:51:30 GMT+05:30: Error: java.lang.NullPointerException
    - 2007-05-16 15:51:30 GMT+05:30: An unknown error occured.
    - 2007-05-16 15:51:30 GMT+05:30: Processing started
    - 2007-05-16 15:51:25 GMT+05:30: Error: java.lang.NullPointerException</b>
    can any one give me the idea how to send error from module program to SXMB_MONI
    Thanks & Regards
    Ravi Shankar B

  • Creating a new message in adapter module

    Hello,
    I already posted the question in this [Thread|Sending Adapter Module to split messages;, but I now create this new topic so you can get points for your answer
    Jan from this thread wrote "I know how to send a new message using a new instance of the Module Processor and using ModuleProcessor.process()" and I'm now searching for a code example how to create a new message from within an adapter module. I think it must be something like [this|http://help.sap.com/saphelp_srm40/helpdata/en/8d/6ad6409ff68631e10000000a1550b0/frameset.htm].
    Regards
    Markus

    Hi Sippy,
    First of all we need to configure the systems. So that we can transfer data from Outbound system to Inbound system.
    Configure an Outbound Process that uses Message Control
    Step 1: Create a new Message Type
    TCode: We 81
    Path: From the Area menu of EDI, choose Development, IDOC Type/ Message
    Step 2: link the IDOC type to the Message Type
    TCode: We 82
    Path: From the Area menu of EDI, choose Development, IDOC Type/ Message
    Step 3: Create a new Process Code
    TCode: We 41
    Path: From the Area menu of EDI, choose Control,Outbound Process COde
    Step 4: Create or Change a Partner Profile
    TCode: We 41
    Path: From the Area menu of EDI, choose IDOC,Partner Profile
    Configure an Outbound Process for Stand-Alone Programs.
    1. Create a new message type
    2. Link the IDOC type to the Message Type
    3. Add the message to the ALE Distribution Model(use BD 64)
    4. Create or change the Partner Profile
    I think this will be helpful for you.
    Reward points if useful.
    Cheers,
    Swamy Kunche

  • Create multiple messages in adapter module

    Hi!
    I've the problem to solve the following scenario: Mail (1) -> XI -> IDocs (1..n)
    Since for IDocs message split is not supported and I don't want to use a BPM, is it possible to create different xi-messages in an adapter module which processes the mail?
    Therefore I want to make the message split directly on the source: the adapter module.
    Best regards,
    Daniel

    Daniel,
    There is no need for a BPM and for an Adapter Module split.
    1. Create an XSD out of your IDOC strcuutre and change the occurence of the IDOC element to 0 to unbounded.
    2. Import this XSD and use this in your Message Mapping as the target Message Type. For every IDOC to be created in your Target , you will need to create an IDOC tag in the mapping. Each IDOC tag indiactes one IDOC.
    3. In your Interface Mapping, DO NOT CREATE a separate Interface for the IDOC, but use the IDOC itself as the Message Interface and select the mapping with the XSD as the target.
    Configuration will be as usual.
    Regards,
    Bhavesh

  • Cancel Message in Adapter Module

    Hi,
    I want to set the Status of a message to Canceled from within an Adapter Module. Is this possible?
    The problem I have is with a Mail receiver sending messages with blank attachments. I want the adapter module to check if the attachment is empty, then set the status of the message to cancelled.
    If this isn't possible is there a way of cancelling the message at an earlier stage? I know the File adapter has an option to not create empty files but the mail adapter doesn't.
    Thanks,
    Gareth

    Hi Gareth O´Brien,
    I understand your requirement as, when mail attachment is empty, it should not be sent to mail recepients.
    As far as I know, there is not standard way to do it. You can develop a Java Mapping or Adapter module and raise an error if attachemnt is empty (we cannot set message to canceled state), mail will not be sent with empty attachment.
    Java Mapping is easy to develop and maintian than Adapter Module. Java Mapping API Link1
    Regards,
    Raghu_Vamsee

  • Converting INVOIC02 idoc to EDIFACT INVOIC message (Using Adapter Module

    Hi Friends,
    We are sending customer idoc (INVOIC02) from R/3 to external system through PI. We want to generate EDIFACT output file (message type : INVOIC).
    Is it possible to convert IDoc message to EDI file format through java adapter module ? Will adapter module support this  without using Seeburger adapter ?
    kindly clarify, friends.
    Kind regards,
    Jegathees P.

    There is an alternative to Seeburger.
    DataDirect also has complete EDI-XML conversion by way of deploying a module which is called from an adapter. The range of parameters with the conversion is also quite extensive, allowing tolerance for partners who may have included non-standard EDI qualifiers and such.  The XML tags make for easier mapping.  StylusStudio XML Suite includes the EDI<->XML adapter so you can try the conversions each way directly in that package.  If you are happy with it, you need to then purchase the package from DataDirect.  We did this and implemented EDI for X12 and EDIfact, including Orders and Invoices and some other messages.  The communications part was not included.  We wrote the EDI files and used a separate process to actually send and receive the files. The IDoc <-> EDI mapping  was done using the normal graphical mapping of SAP PI. The Stylus Studio package includes the functionality to generate the XSD, which we imported to SAP PI.

  • PI 7.1 Adapter Module Development - Identify SOAP Fault Message

    Hi Experts,</br>
    here's a PI 7.1 Adapter Module Development issue I hope you can help me to resolve. It's about identifying SOAP fault messages.</br>
    </br>
    Scenario at a glance:</br>
    Adapter Modules placed in the modules chain at request and response time in a synchronous Scenario:</br>
    - Request: SOAP Axis to RFC </br>
    - Response and Fault Response: RFC to SOAP Axis</br>
    </br>
    The issue is how to identify SOAP fault message in SOAP Axis Adapter Module in the response message:</br>
    The client gets SOAP fault messages like the follwong one:</br>
       <SOAP:Body>
          <SOAP:Fault>
             <faultcode>SOAP:Server</faultcode>
             <faultstring>Server Error</faultstring>
             <detail>
                <ns1:exception xmlns:ns1="http://typen.geschaeftsstelle.pab.barmer.de">
                   <ns1:errortext>bla bla bla ...</ns1:errortext>
                </ns1:exception>
             </detail>
          </SOAP:Fault>
       </SOAP:Body>
    </br>
    </br>
    But when trying to access the tags faultcode and/or faultstring in the adapter module via xPath expressions I do not get them. Obviously the SOAP Fault tags are built AFTER the adapter module has been passed. So my question is:</br>
    How can I clearly/uniquely detect a SOAP fault response message (and distinguish it from a "normal" response message) in my SOAP Axis Adapter Module?</br>
    </br>
    I tried it the following way:</br>
    </br>
    </br>
    // Check Message Payload for SOAP Fault Message via xPath expressions</br>
    ...</br>
    // SOAP Fault Code</br>
    zv_xPression = zc_constXPattern.replaceFirst("&", "faultcode");</br>
    zv_soapFaultCode = XPathAPI.eval(zv_doc, (String) zv_xPression).toString();</br>
    // SOAP Fault String</br>
    zv_xPression = zc_constXPattern.replaceFirst("&", "faultstring");</br>
    zv_soapFaultString = XPathAPI.eval(zv_doc, (String) zv_xPression).toString();</br>
    // check for SOAP Fault Message</br>
    if (zv_soapFaultCode.equals("") && zv_soapFaultString.equals("")) {</br>
         // Create Audit Log entry - NOT a SOAP Fault Message</br>
         zv_msgText = zc_constModuleName + " 0190: xPath - OK! This message is NOT a SOAP Fault Message";</br>
         zv_audit.addAuditLogEntry(zv_msgKey, AuditLogStatus.SUCCESS, zv_msgText);</br>
         zv_faultCheck = false;</br>
    }</br>
    else {</br>
         ...</br>
         // Create Audit Log entry - SOAP Fault Message</br>
         zv_msgText = zc_constModuleName </br>
              + " 0200: xPath - this message is a SOAP Fault Message. " </br>
              + " - Faultcode is: " + zv_soapFaultCode </br>
              + " - Faultstring is: " + zv_soapFaultString; </br>
         zv_audit.addAuditLogEntry(zv_msgKey, AuditLogStatus.ERROR, zv_msgText);</br>
         ...</br>
    }</br>
    ...</br>
    </br></br>
    But zv_soapFaultCode and zv_soapFaultString are always empty (with other payload tags this coding works fine).</br>
    </br>
    Any ideas? </br></br>
    Thanx very much in advance!</br></br>
    Regards,</br>
    Volker

    Hi Alex!
    Like already mentioned I solved my problem by identifying the SOAP exception with the messageClass attribute of the PI message header. Acess code:
    try {
    String zv_msgClass = zv_piMsg.getMessageClass().toString();
    } catch (Exception e) {
    zv_msgText = zc_constModuleName
    + " E0110: Message processing terminated."
    + " Reason: Error while getting MessageClass "
    + zv_dataSource
    + e;
    // create trace and audit log entry (severity ERROR) for exception
    zv_location.errorT(ZV_SIGNATURE, zv_msgText);
    zv_audit.addAuditLogEntry(zv_msgKey, AuditLogStatus.ERROR, zv_msgText);
    ModuleException me = new ModuleException(e);
    zv_location.throwing(ZV_SIGNATURE, me);
    e.printStackTrace();
    throw me;
    }     // end of try-catch-block
    But I do not think this will solve your problem. I am almost sure, that something in your Axis configuration is wrong/missing. If a handler cannot be instatiated then it really may be missing. Have a look at defaultTrace.trc. Maybe you will find more suitable information about the root cause of your problem. Also have a look at NWA under software components and/or application modules if you can find/see your modules.
    But there is a general issue when trying to catch PI fault messages. If e.g. the requestor tries to login with wrong userid/pasword, then you will have no chance to catch this kind of error - at least as far as I know. Because in this very early stage of PI message processing no module is called.
    One last question: Did you develop your own Adapter or just an adapter module? In the first case: Is your adapter started and healthy? Have a look at RWB -> communication channel monitoring.
    Regards,
    Volker

  • Setting Adapter-Specific Message Attributes in an Adapter Module

    Hi!
    I want to set Adapter-Specific Message Attributes in an Adapter Module. Is it possible to configure the Variable Transport Binding in this way?
    Best regards,
    Daniel

    I'd like to know it as well.
    I've checked out the XI AF API but didn't find much.
    One thing that I've observed is that since Module API can treat any Message Class (not only XI Messages), I guess it won't have any specific methods for XI messages (hence, no dynamic configuration). But you could try to get the message object and then treat it as an XI Message (you would be doing the steps that the Java Mapping API do before it calls a Java Mapping class) to get the Map objects (which include the parameters).
    Good luck on it, and let us know if you have any progress!
    Regards,
    Henrique.

  • How to access Adapter Specific Message Attribute in my  own adapter module

    Hi,
    I'm developing a mail adapter customer module. Now I have a requirement about getting the CC information from mail. Even if I
    checked the option of "use mail package" when configing sender Mail Adapter, I still can not get CC information in my module
    because it is not included in mail package.
    I got to know CC information is included in ASMA(Adapter Specific Message Attribute), but how can I access ASMA in my module?
    Till now I know there are two ways to access ASMA
    1. use AF_Modules/DynamicConfigurationBean XI standard module to access ASMA.I did it as below:
    add this module in front of my own module, then set key: write http://sap.com/xi/XI/System/Mail SHeaderCC and value :      
    <b>message.refToMessageId</b>(which message property should be put here?). I'm trying to get it by message.getRefToMessageId() in my
    own module. But what happens is not as I expected, I get null instead of CC information. Which step I did wrong?
    2. use mapping api
       DynamicConfiguration conf = (DynamicConfiguration) <b>container</b>
        .getTransformationParameters()
        .get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
         DynamicConfigurationKey key = DynamicConfigurationKey.create(
             “http://sap.com/xi/XI/System/Mail”,
             “SHeaderCC”);
    but how can I get <b>container</b> object in my module?
    Is there any other way to access ASMA in customer module?
    Thanks

    hi,
    >>>>but how can I access ASMA in my module?
    have a look at this blog:
    /people/daniel.graversen/blog/2006/10/05/dynamic-configuration-in-adapter-modules
    and try getMessageProperty
    it's also here:
    in Adapter-Specific Message Attributes link
    http://help.sap.com/saphelp_nw04/helpdata/en/17/50d440e14f8431e10000000a1550b0/frameset.htm
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • Get/set message Queue ID in PI 7.1 Adapter module

    Hello,
    I have a special requirment to  get and set message Queue ID in PI 7.1 adapter module.
    I tried to use the method setConversationID  for the Message Class, but this doest seem to available any more.
    Any pointers to which class and method can be used.
    Thanks in advance
    Regards,
    Abhishek

    Hi, try [setSequenceId|http://help.sap.com/javadocs/pi/pi711sp03/com/sap/engine/interfaces/messaging/api/Message.html#setSequenceId(java.lang.String)]. Maybe you have to use setDeliverySemantics before in order to set EOIO.
    regards, Martin

  • Set a variable in Adapter Module and read it during message mapping

    Hi guys,
    is there any way, how I could set some variable and store its value during the adapter module processing and read back this value in message mapping and use it? Without using a database or files.. I mean, some j2ee storage or something like that..
    Thanks for your help,
    Olian

    Hi guys,
    thanks for your answers..  just a clarification, what the problem is.
    I need to validate a message in the adapter module, if it's digital signature is valid. If it is, I need to send back to the sender a return code (message) OK, otherwise ERROR. I can't modify the message (or dynamic configuration) as I'm using a WSS in the sender channel. The system doesn't allow me to change anything in the message, so I can't find out in the mapping what the validation result was. I then tried to do the validation directly in the message mapping, but I have some issues there with libraries or what, because the validation code, which works in the adapter module, doesn't work in the mapping java class. So my final thought was maybe I could validate the message in the adapter module and pass the result to the message mapping and then create an appropriate return message (in the mapping). However, I see no way of passing a value there. I'm stuck and have no Idea how to resolve the problem. Any hints guys?
    Thanks a lot for your help!
    Olian

  • Standard Adapter Module "Message Transform Bean" in Seeburger AS2 Adapter

    Hi,
        I am calling standard adapter module "Message Transform Bean" in seeburger AS2 Sender adapter where I am getting the following error :
    ClassNotFoundException:com.sap.aii.messaging.adapter.Conversion . Can anybody help me on this. Appreciate for your respoinse.
    Thank you,
    Mallikarjuna Rao M

    Hi,
    Thank you for your replies I manage to get NWA dump for this issue.. Here is the log
    Could not call backend system: Error in ???-module:Transform: failed to set up the transformer for channel 6857fd15f84d3e23a7b0f51ca1851b20; modkey TXT2XML; caused by java.lang.ClassNotFoundException: com.sap.aii.messaging.adapter.Conversion
    Loader Info -
    ClassLoader name: [sap.com/com.sap.aii.af.mod.trans.app]
    Living status: alive
    Direct parent loaders:
       [system:Frame]
       [service:servlet_jsp]
       [service:ejb]
       [library:engine.j2ee14.facade]
       [library:com.sap.base.technology.facade]
       [library:com.sap.aii.af.lib]
       [library:com.sap.aii.af.sdk.lib]
       [service:com.sap.aii.af.cpa.svc]
       [service:com.sap.aii.af.svc]
       [service:com.sap.aii.adapter.xi.svc]
       [library:com.sap.aii.adapter.lib]
    Resources:
       D:\usr\sap\BWD\DVEBMGS00\j2ee\cluster\apps\sap.com\com.sap.aii.af.mod.trans.app\EJBContainer\applicationjars\com.sap.aii.af.mod.trans.ejb.jar
    [LOC: com.seeburger.as2.impl.SHCInitiatorProcessor.initiateToBackend] Caused by: Error in ???-module:Transform: failed to set up the transformer for channel 6857fd15f84d3e23a7b0f51ca1851b20; modkey TXT2XML; caused by java.lang.ClassNotFoundException: com.sap.aii.messaging.adapter.Conversion
    Loader Info -
    ClassLoader name: [sap.com/com.sap.aii.af.mod.trans.app]
    Living status: alive
    Direct parent loaders:
       [system:Frame]
       [service:servlet_jsp]
       [service:ejb]
       [library:engine.j2ee14.facade]
       [library:com.sap.base.technology.facade]
       [library:com.sap.aii.af.lib]
       [library:com.sap.aii.af.sdk.lib]
       [service:com.sap.aii.af.cpa.svc]
       [service:com.sap.aii.af.svc]
       [service:com.sap.aii.adapter.xi.svc]
       [library:com.sap.aii.adapter.lib]
    Resources:
       D:\usr\sap\BWD\DVEBMGS00\j2ee\cluster\apps\sap.com\com.sap.aii.af.mod.trans.app\EJBContainer\applicationjars\com.sap.aii.af.mod.trans.ejb.jar
    at com.seeburger.xi.api.module.impl.nw71.SeeModuleProcessorLocal71.process(SeeModuleProcessorLocal71.java:55)
    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:152)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:247)
    Caused by: java.lang.ClassNotFoundException: com.sap.aii.messaging.adapter.Conversion
    Loader Info -
    ClassLoader name: [sap.com/com.sap.aii.af.mod.trans.app]
    Living status: alive
    Direct parent loaders:
       [system:Frame]
       [service:servlet_jsp]
       [service:ejb]
       [library:engine.j2ee14.facade]
       [library:com.sap.base.technology.facade]
       [library:com.sap.aii.af.lib]
       [library:com.sap.aii.af.sdk.lib]
       [service:com.sap.aii.af.cpa.svc]
       [service:com.sap.aii.af.svc]
       [service:com.sap.aii.adapter.xi.svc]
       [library:com.sap.aii.adapter.lib]
    Resources:
       D:\usr\sap\BWD\DVEBMGS00\j2ee\cluster\apps\sap.com\com.sap.aii.af.mod.trans.app\EJBContainer\applicationjars\com.sap.aii.af.mod.trans.ejb.jar
    at com.sap.engine.boot.loader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:259)
    at com.sap.engine.boot.loader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:228)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:353)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:164)
    at com.sap.aii.af.modules.trans.MessageTransformBean.loadClass(MessageTransformBean.java:121)
    at com.sap.aii.af.modules.trans.MessageTransformBean.setup(MessageTransformBean.java:178)
    at com.sap.aii.af.modules.trans.MessageTransformBean.process(MessageTransformBean.java:346)
    at sun.reflect.GeneratedMethodAccessor484_10002.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:43)
    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 $Proxy2674_10002.process(Unknown Source)
    at com.sap.aii.af.app.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:249)
    at sun.reflect.GeneratedMethodAccessor311_10002.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:43)
    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 $Proxy102_10002.process(Unknown Source)
    at com.seeburger.xi.api.module.impl.nw71.SeeModuleProcessorLocal71.process(SeeModuleProcessorLocal71.java:43)
    Waiting for your valuable inputs on this.
    Thank you,
    Mallikarjuna Rao M

  • Get/set message interface name in adapter module

    Hello,
    From an adapter module, I'd like to get or even set the Message Interface name of the message that is handed over to the function "process" of the adapter module.
    I've got two context's, sessioncontext and modulecontext. With both contexts, you can get values from that context. I'm not sure which context has the message interface name of the message currently being processed, and I'm also not sure what that value is called (moduleContext.getContextData("name");).
    The reason for this is that sometimes you'd like to do something different depending on the type of message being processed.
    If anyone knows how to do this, I'd be glad to hear.
    Thanks in advance for any advice!
    Greetings, Walter.

    Hi Walter,
    It is fairly easy to get the interface name. When you have extracted the XIMessage there is a parameter, which allows you get the Action, where you can get the interface name.
    I have tried to change the interface name. You need to create a new message an copy the content from the old message over to this. This is a little tricky and I'm not able to get any code samples for you.
    /daniel

  • Adapter Module to convert text message to XML

    Hello Experts,
    I am writing a custom adapter module to convert the text  content to XML message at the sender adapter end.
    I have followed the steps mentioned in the "HowToCreateModulesforJ2EEAdapterEngine" guide available on SDN.
    I have created the java logic in the process mesthod of the bean to conver the text message to XML paylod (don't know if it is correct). I do not have much idea about the Adpater API methods.
    Can anybody help me with the logic to convert the text msg to xml paylod using adapter frame work APIs or is there any way I can debug and test my logic in NWDS.
    Any help will be greatly appreciated.
    - Rajan

    Hi ,
    To convert Text message to XML why yiu want to go for Adapter Module?? Using file content conversion it self you can do it right?????
    There is no standard logic to convert text file to XML, the logic purely depends on your text message format.
    Regards,
    Raj

  • Get Message details in custom adapter module

    Hello,
    Could you please let me know how can we retrieve following parameters in custom adapter module?
    Message size
    Message Mapping name
    Operation Mapping name
    Sender and Receiver Interface names
    Thanks!
    Regards,
    Shweta

    Hi Shweta
    Not all the information is available directly from the adapter module.
    Message size
    Retrieve the input stream of the payload, convert the stream to bytes and count the bytes length.
    Message msg = (Message) inputModuleData.getPrincipalData();
    XMLPayload payload = msg.getDocument();
    InputStream inStr = payload.getInputStream();
    // Convert inStream to bytes
    int size = bytes.length;
    Sender and Receiver interface names
    You can only get Sender interface in sender module, and receiver interface in receiver module. You can get the from the getAction() method.
    Message msg = (Message) inputModuleData.getPrincipalData();
    String interfaceName = msg.getAction().getName();
    Operation Mapping name
    This is not directly available from the Adapter Framework. One workaround is to access this via the Integration Directory API. With the Interface Determination Service API, you can read the Interface Determination object to get the associated mapping. To do this you have to make a SOAP call to the API.
    Message Mapping name
    I'm not sure how this can be retrieved as this is only available in ESR.
    If the module is on the receiver side, another option is to extract the information during mapping and store it into Dynamic Configuration, then in the receiver module, to extract it from Dynamic Configuration.
    Rgds
    Eng Swee

Maybe you are looking for

  • How to view database table in oracle9i developer

    Hi, how to view database table in oracle9i developer,any manual setting .please help me. thanks saran.

  • How do I add 3 songs from iTunes to my iPhone

    how do I add 3 songs from iTunes to my iPhone there are 3 songs in my iTunes on my MBP that I need listen to on the way to a gig where I am going to play them. I only want these three songs on my phone, not lynk, or synk my library. Please advise and

  • Transform LiveCycle form xml output using xsl

    I've completed my first form but now want to format the xml that's generated. Whilst I work for a big Company, I don't think they'll stretch to purchasing the Reader Extensions Module so I can output as PDF. Also there will be more than 500 users com

  • Where should I store my cds?

    I want to put quite a few cds on my ipod. However, being concered with disc space and clogging it up on my computer I was told to get an external hard drive. Then someone told me that it would be very very slow to save the cds to the external drive a

  • Tabs Won't Work Right Aligned JPanel

    Hello I'm tring to setup a JPanel using a style object for formating, JPanel.setLogicalStyle(styleimade);, and I haver everything working beautifuly for a left alligned panel, but when I attempt to work with tabs on a panel that is right aligned, Sty