Dynamic configuration bean in JMS Adapter

Hello Experts,
My scenario is JMS(Active MQ) to File.Its just Passthrough scenario and no mapping involved.
Filename will be coming in one of the JMS Property (say businessId) and I need to set this filename to file adapter.
I have refered the stefan's blog and used the Dynamic configuration bean module in sender JMS adapter.
getFilename key.1 write http://sap.com/xi/System/JMS DCJMSMessageProperty4
getFilename value.1 module.filename
setFilename key.1 read http://sap.com/xi/System/File FileName
setFilename value.1 module.filename
But required filename is not populated in the target File.Any other configuration is missing here?

Hi Karthiga
Did you set the ASMA properties in both your sender JMS channel and receiver File channel?
For the JMS adapter, as shown below, you will need to enter the DCJMSMessageProperty4 into the table
Configuring the Sender JMS Adapter - Configuring the JMS Adapter in the Integration Directory/PCK - SAP Library
If you want to set additional JMS message attributes, select Specify Additional JMS Message Properties (Maximum of 10).
In the table, enter the names of the JMS message properties whose values are to be included in the message header of the PI message.
The technical names of the additional attributes are DCJMSMessageProperty0, DCJMSMessageProperty1, ..., DCJMSMessageProperty9.
For the File adapter, you need to check the ASMA FileName attribute.
Once you have this configured, in your message, you should be able to see that the value is in the DynamicConfiguration section of the SOAP header.
Rgds
Eng Swee

Similar Messages

  • Dynamic Configuration Bean

    Hi Experts,
    I am doing a pass through scenario (i.e. ICo) without any ESR objects and I want to add time stamp to the file name at receiver side.
    Could you please help me in doing this via Dynamic Configuration Bean?
    What I also want to do is to replace file name with interface name through dynamic configuration bean using File adapter in receiver side.
    But instead of getting the interface name in place of file name I am getting "message.interface" as file name. I have also used
    variable substitution in receiver channel along with ASMA attributes.
    Please suggest where I am wrong.
    Thanks,
    Aamir

    Hi Aamir,
    We are using only one Module :"AF_Modules/DynamicConfigurationBean" with the type "Local Enterprise Bean" and the system proposes a Module key.
    In the above screen shot Module key "1" works as "getFileName" and Module key "2" works as "setFileName" .
         Coming to Module configuration for Module key "1" we are providing the Parameter name as "key.1" and Parameter value as :"read http://sap.com/xi/XI/System/File FileName" this value reads the FileName and and repalces the FileName with Interface name based on the Parameter value as "message.interface" (attribute used to fetch the corresponding Interface Name) for Parameter name "value.1".
    Module key "2" we are providing the Parameter name as "key.2" and Parameter value as :"write http://sap.com/xi/XI/System/Messaging interface" this value writes the FileName by calling the module.
    I have worked with this Dynamic Configuration Bean in both File and SAP SFTP Adapter in SAP PI 7.3 in case of SFTP Adapter we need to follow the following steps.
    Thanks
    Durga

  • Help on Dynamic queue name in JMS Adapter

    Hi Experts,
      Could you please explain how to configure dynamic queue name in JMS Adapter.
    My requirement is i would have to add the date and time to JMS Queue Name in receiver JMS Adapter.
    Thanks in Advance
    Chilla

    hi,
    as it's not in Adapter-Specific Message Properties
    http://help.sap.com/saphelp_nw04/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/content.htm
    looks like you cannot do it with jms adapter in standard
    use proxy or your own adapter instead
    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>

  • Error: Invalid configuration for the JMS adapter

    Hi!
    I'm doing a test with CEP to get messages from a JMS WebLogic queue but I'm getting the following error:
    <BEA-2045010> <The application context "Teste" could not be initialized: org.springframework.beans.FatalBeanException: Error in initialization context lifecycle; nested exception is java.lang.IllegalArgumentException: Invalid configuration for the JMS adapter, you must Bean or specify a converter or a type of event.
    Teste.context.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:osgi="http://www.springframework.org/schema/osgi"
    xmlns:wlevs="http://www.bea.com/ns/wlevs/spring"
    xmlns:jdbc="http://www.oracle.com/ns/ocep/jdbc"
    xmlns:spatial="http://www.oracle.com/ns/ocep/spatial"
    xsi:schemaLocation="
    http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/osgi
    http://www.springframework.org/schema/osgi/spring-osgi.xsd
    http://www.bea.com/ns/wlevs/spring
    http://www.bea.com/ns/wlevs/spring/spring-wlevs-v11_1_1_3.xsd
    http://www.oracle.com/ns/ocep/jdbc
    http://www.oracle.com/ns/ocep/jdbc/ocep-jdbc.xsd
    http://www.oracle.com/ns/ocep/spatial
    http://www.oracle.com/ns/ocep/spatial/ocep-spatial.xsd">
         <wlevs:event-type-repository>
              <wlevs:event-type type-name="Pet">
                   <wlevs:class>testewithprotobuf.MyPet$Pet</wlevs:class>
              </wlevs:event-type>
         </wlevs:event-type-repository>
         <wlevs:adapter id="pet_messageAdapter" provider="jms-inbound">
              <wlevs:listener ref="pet_inputChannel" />
              <wlevs:instance-property name="converterBean"
                   ref="PetMessageConverter" />
         </wlevs:adapter>
         <wlevs:channel id="pet_inputChannel" event-type="Pet">
              <wlevs:listener ref="pet_messageProcessor" />
         </wlevs:channel>
         <bean id="PetMessageConverter" class="testewithprotobuf.PetMessageConverter" />
         <bean id="PetBean" class="testewithprotobuf.PetBean" />
         <wlevs:processor id="pet_messageProcessor">
              <wlevs:listener ref="pet_outputChannel" />          
         </wlevs:processor>
         <wlevs:channel id="pet_outputChannel" event-type="Pet">
              <wlevs:listener ref="PetBean" />
         </wlevs:channel>
    </beans>
    My converter class:
    import java.util.Collections;
    import java.util.List;
    import javax.jms.BytesMessage;
    import javax.jms.JMSException;
    import javax.jms.Message;
    import testewithprotobuf.MyPet.Pet;
    import com.bea.wlevs.adapters.jms.api.InboundMessageConverter;
    import com.bea.wlevs.adapters.jms.api.MessageConverterException;
    import com.google.protobuf.InvalidProtocolBufferException;
    public class PetMessageConverter implements InboundMessageConverter {
         @SuppressWarnings("rawtypes")
         @Override
         public List convert(Message message) throws MessageConverterException,
                                                                JMSException {
              BytesMessage bytesMessage = (BytesMessage) message;
              long bodyLen = bytesMessage.getBodyLength();
              byte[] buffer = new byte[(int) bodyLen];
              bytesMessage.readBytes(buffer);
              try {
                   Pet pet = Pet.parseFrom(buffer);               
                   return Collections.singletonList(pet);
              } catch (InvalidProtocolBufferException e) {
                   throw new MessageConverterException(e);
    Please, what's wrong?
    Thanks!

    This error usually indicates that you have both event type and converter bean specified or neither specified. In your case, that doesn't appear to the case from looking at the spring file. Could you also paste the contents of your configuration file from META-INF/wlevs directory?

  • Problem in Dynamic Configuration bean

    Hi
    I am trying to dynamically change the filename using Dynamic Configuration bean with some constant value but target file is having same name as source.  In communication channel logs I can see the successul pro

    Hi,
    M not sure what will be the error with this when u r using dynamic configuration bean.But same functionality can be better achieved by using this dyanamic configuartion UDF :
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create( "http://sap.com/xi/XI/System/File", "FileName");
    conf.put(key, a);
    return value;
    Regards,
    Anoop

  • How to use the Dynamic Configuration Bean

    Hi experts,
    im currently doing a file to mail scenario.
    i want the name of the input file as the subject of the mail.
    i want to establish this using the Dynamic Configuration bean
    my first question is:
    key.1 <b>read</b> http://sap.com/xi/XI/System/Mail THeaderSUBJECT
    value.1 message.messageID
    this reads the value of the message ID into the attribute THeaderSUBJECT
    but what does this do?
    key.1 <b>write</b> http://sap.com/xi/XI/System/Mail THeaderSUBJECT
    value.1 message.messageID
    when i use this it has no effect atall.
    my second question.
    I have my input filename in the FileName attribute in Dynamic configuration how can i read it into THeaderSUBJECT attribute.
    Appreciate any suggestions.

    Hi Satish,
    Yep i know its possible via an udf in Message mapping but i dont have an MM in my scenario. Since im not parsing thru the input data since its an excel file, so im transferring the file using the following method
    /people/william.li/blog/2006/09/08/how-to-send-any-data-even-binary-through-xi-without-using-the-integration-repository
    and in this method if i include an MM it will give me a mapping exception.
    So i have to use this bean somehow and try to accomplish what we do in the udf.

  • Reading Dynamic Configuration information in side adapter module.

    Hi All,
    We are writing an adapter module for one of our receiver adapter.
    On the Sender side we have a file adapter whose adapter specific properties are checked. So the message has the file name in the Dynamic configuration.
    Now we need to read this file name from dynamic configuration inside our adapter module for receiver adapter.
    If any one can tell us how to do this we would be really thankful.
    Thanks
    Abinash

    Bhavesh,
    When we use the follwoing code inside mapping
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    the conf object gets populated
    but inside our adapter module we ares using
    Map param;
    DynamicConfiguration conf = (DynamicConfiguration) 
                   param.get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
                   DynamicConfigurationKey key = DynamicConfigurationKey.create
                   ("http://sap.com/xi/XI/System/File","FileName");
                   String ourSourceFileName = conf.get(key);
    Now the question is from where the <b>object of par</b>am will initialize.
    I think we need to get container object from some where, but don't know how to get it as inside mapping the container object is passed as method argument.
    Thanks
    Abinash

  • Using Dynamic Configuration api for SOAP adapter

    I want to use Dynamic Configuration api to send a SOAP request to a webservice.
    tha value in my adapter is
    my Target URL  is
    http://xidr3.bcs.de:50000/XISOAPAdapter/MessageServlet? channel=:Routing2_Service:SS_SOAP_Sender_Working_June12&nosoap=true
    which is the corresponding field i have to set in Dynamic Configuration?
    I have written the following code is this right?
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    String temp = "http:/"+"/sap.com/xi/XI/System/SOAP";
    DynamicConfigurationKey key = DynamicConfigurationKey.create(temp, "TServerLocation");
    String varURL =
    "http:/"+"/xidr3.bcs.de:50000/XISOAPAdapter/MessageServlet?channel=:Routing2_Service:SS_SOAP_Sender_Working_June12&nosoap=true";
    conf.put(key,varURL);
    return "";

    Hi,
    Yes, your code looks fine. Can you let me know what is the error you are getting. Have you checked the Flag in your communication channel.
    Use Adapter-Specific Message Attributes
    Variable Transport Binding 
    Once you test your scenario you can see the Dynamic URL in your message Header by going to tcode sxmb_moni. See if you are able to find something called DynamicConfiguration in your message haeader. If yes what is the value set there.
    PS: From the target URL you posted It looks like your webservice is hosted on the XI box itself. Is it the same XI box or different box? Just curious to know.
    Reward point if answer is helpful
    Thanks
    Amit

  • Is Dynamic Configuration possible with IDOC adapter.

    Hi,
    I have SOAP to IDOC scenario. I have many SAP receivers and are determined at runtime in a Java map.
    Can i use Dynamic Configuration for IDOC adapter?
    Thanks
    Shakthi

    Hi Sivasakthi,
    Why do you need Dynamic Configuration in receiver IDOC?
    Regards,
    Sanjeev.

  • Passing dynamic jndi destination to jms adapter in SOA Suite

    hi i post this thread in SOA Suite category,
    but havent got any answer yet,
    maybe someone in weblogic jms community here have an answer :)
    im interfacing Weblogic JMS 10.3 with SOA Suite 11gR1 BPEL/JMS Adapter,
    and i need to pass a dynamic destination jndi to message producing adapter in the orchestration process.
    details here:
    Re: SOA Suite 11g - dynamic JNDI destination JMS adapter

    Hi,
    If someone is looking to dynamically set the JMSqueue name here is the solution.
    in the Invoke activity set "jca.jms.JMSDestinationName"
    value to "JMSHeaderVariable"
    set the type to "input"
    in the JMSHeaderVariable set the queue name dynamically.
    and in the JMSadapter give any valid queue name, still the message will be routed to the queue which you have set in the invoke adapter.

  • Regarding Module Configuration of  Receiver JMS Adapter

    Hi,
    Now i am working on IDoc to JMS interface, I am facing complexity in creating the structure in Module tab of Receiver JMS Adapter. Because the target system is expecting fixed length file so i should use the Local EJBs available in Module tab of Receiver JMS adapter and i need to pass the fieldFixedLegth parameters for all the nodes coming from DELVRY01 Idoc. I think creating structure for all the nodes in receiver jms adapter is so complex, If you are having any other alternatives, please share with me.
    The below is the IDoc xml which is coming from source side.
    <?xml version="1.0" encoding="UTF-8" ?>
    <DELVRY01>
    <IDOC BEGIN="1">
    <EDI_DC40 SEGMENT="1">
    <TABNAM>EDI_DC40</TABNAM>
    <MANDT>100</MANDT>
    <DOCNUM>000000000999999</DOCNUM>
    <DOCREL>1145</DOCREL>
    <STATUS>1</STATUS>
    <DIRECT>1</DIRECT>
    <OUTMOD>2</OUTMOD>
    <IDOCTYP>DELVRY01</IDOCTYP>
    <MESTYP>abcde</MESTYP>
    <SNDPOR>efghi</SNDPOR>
    <SNDPRT>LS</SNDPRT>
    <SNDPRN>LMNOP100</SNDPRN>
    <RCVPOR>A000000023</RCVPOR>
    <RCVPRT>LS</RCVPRT>
    <RCVPRN>TB</RCVPRN>
    <CREDAT>20056556</CREDAT>
    <CRETIM>183734</CRETIM>
    <SERIAL>12345678</SERIAL>
    </EDI_DC40>
    <E1EDL20 SEGMENT="1">
    <VBELN>006456451</VBELN>
    <VSTEL>4656</VSTEL>
    <VKORG>1665</VKORG>
    <ABLAD>ABCDEDFJSDFDF</ABLAD>
    <ROUTE>DFSDF</ROUTE>
    <VSBED>08</VSBED>
    <BTGEW>3.000</BTGEW>
    <NTGEW>333.000</NTGEW>
    <GEWEI>NNN</GEWEI>
    <VOLUM>450.190</VOLUM>
    <VOLEH>DMBG55TERTQ</VOLEH>
    <ANZPK>00000</ANZPK>
    <XABLN>0001995346331</XABLN>
    <LIFEX>N</LIFEX>
    <E1EDL22 SEGMENT="1">
    <VSTEL_BEZ>ABCDEFGHIIJFLD</VSTEL_BEZ>
    <VKORG_BEZ>SDFKJSDFSDF</VKORG_BEZ>
    <ROUTE_BEZ>FSDNFKSDJFKJASDKFJSDJFL</ROUTE_BEZ>
    <VSBED_BEZ>FNSDKFSD,F,MSDF,</VSBED_BEZ>
    </E1EDL22>
    <E1EDL21 SEGMENT="1">
    <KDGRP>10545</KDGRP>
    <BEROT>teGHGHst FGHHFGHXI </BEROT>
    <TRAGR>0001</TRAGR>
    <E1EDL23 SEGMENT="1">
    <LFART_BEZ>Outbound delivery</LFART_BEZ>
    <KDGRP_BEZ>LPHG Wholesale</KDGRP_BEZ>
    <TRAGR_BEZ>On HHFH</TRAGR_BEZ>
    </E1EDL23>
    </E1EDL21>
    <E1EDL18 SEGMENT="1">
    <QUALF>ORI</QUALF>
    </E1EDL18>
    <E1ADRM1 SEGMENT="1">
    <PARTNER_Q>AG</PARTNER_Q>
    <PARTNER_ID>00000GHF12889</PARTNER_ID>
    <LANGUAGE>EN</LANGUAGE>
    <FORMOFADDR>Makro SA</FORMOFADDR>
    <TELEPHONE1>041 3600TERTE605-C...</TELEPHONE1>
    <TELEFAX>041 36006TRT47</TELEFAX>
    <COUNTRY1>ZHFGHA</COUNTRY1>
    <REGION>EHGHC</REGION>
    <E1ADRE1 SEGMENT="1">
    <EXTEND_Q>100</EXTEND_Q>
    <EXTEND_D>6HG15FGHFG05006416</EXTEND_D>
    </E1ADRE1>
    </E1ADRM1>
    <E1ADRM1 SEGMENT="1">
    <PARTNER_Q>WE</PARTNER_Q>
    <PARTNER_ID>00000178E87T</PARTNER_ID>
    <LANGUAGE>EN</LANGUAGE>
    <FORMOFADDR>Makro SA</FORMOFADDR>
    <NAME1>Makro Port Elizabeth Br 14</NAME1>
    <NAME3>t/a Makro SA</NAME3>
    <STREET1>CDFJSDLFJLS d</STREET1>
    <COUNTRY1>ZFSDFA</COUNTRY1>
    <REGION>EFSDFC</REGION>
    <E1ADRE1 SEGMENT="1">
    <EXTEND_Q>100</EXTEND_Q>
    <EXTEND_D>6001534453505006416</EXTEND_D>
    </E1ADRE1>
    </E1ADRM1>
    <E1ADRM1 SEGMENT="1">
    <PARTNER_Q>54OSP</PARTNER_Q>
    <PARTNER_ID>404534501</PARTNER_ID>
    <LANGUAGE>EN</LANGUAGE>
    <COUNTRY1>Z5454A</COUNTRY1>
    </E1ADRM1>
    <E1ADRM1 SEGMENT="1">
    <PARTNER_Q>OSO</PARTNER_Q>
    <PARTNER_ID>1054400</PARTNER_ID>
    <COUNTRY1>Z5453A</COUNTRY1>
    </E1ADRM1>
    <E1EDT13 SEGMENT="1">
    <QUALF>006</QUALF>
    <NTANF>2005455470706</NTANF>
    <NTANZ>000000</NTANZ>
    <NTEND>2005453470706</NTEND>
    <NTENZ>00053454000</NTENZ>
    <ISDD>00000000</ISDD>
    <ISDZ>000000</ISDZ>
    <IEDD>00005340000</IEDD>
    <IEDZ>000000</IEDZ>
    </E1EDT13>
    <E1EDT13 SEGMENT="1">
    <QUALF>003</QUALF>
    <NTANF>20070706</NTANF>
    <NTANZ>000000</NTANZ>
    <NTEND>200705345706</NTEND>
    <NTENZ>000000</NTENZ>
    <ISDD>00000000</ISDD>
    <ISDZ>000053455400</ISDZ>
    <IEDD>00000000</IEDD>
    <IEDZ>000000</IEDZ>
    </E1EDT13>
    <E1EDT13 SEGMENT="1">
    <QUALF>001</QUALF>
    <NTANF>20070706</NTANF>
    <NTANZ>000000</NTANZ>
    <NTEND>20070706</NTEND>
    <NTENZ>000000</NTENZ>
    <ISDD>00000000</ISDD>
    <ISDZ>000000</ISDZ>
    <IEDD>00000000</IEDD>
    <IEDZ>000000</IEDZ>
    </E1EDT13>
    <E1EDT13 SEGMENT="1">
    <QUALF>007</QUALF>
    <NTANF>20070709</NTANF>
    <NTANZ>000000</NTANZ>
    <NTEND>20070709</NTEND>
    <NTENZ>000000</NTENZ>
    <ISDD>00000000</ISDD>
    <ISDZ>000000</ISDZ>
    <IEDD>00000000</IEDD>
    <IEDZ>000000</IEDZ>
    </E1EDT13>
    <E1EDT13 SEGMENT="1">
    <QUALF>010</QUALF>
    <NTANF>20070705</NTANF>
    <NTANZ>000000</NTANZ>
    <NTEND>20705</NTEND>
    <NTENZ>000000</NTENZ>
    <ISDD>00000000</ISDD>
    <ISDZ>000000</ISDZ>
    <IEDD>00000000</IEDD>
    <IEDZ>000000</IEDZ>
    </E1EDT13>
    <E1EDL28 SEGMENT="1">
    <ROUTE>ED545S1</ROUTE>
    <DISTZ>0.000</DISTZ>
    <E1EDL29 SEGMENT="1">
    <ROUTE_BEZ>FKLSDJFLSJDFJSDFJLSDJFLKSD</ROUTE_BEZ>
    </E1EDL29>
    </E1EDL28>
    <E1EDL24 SEGMENT="1">
    <POSNR>000010</POSNR>
    <MATNR>000000000000</MATNR>
    <MATWA>000000000</MATWA>
    <ARKTX>OmFDFS 2kg.</ARKTX>
    <MATKL>FSD5345FSDFLAUND</MATKL>
    <WERKS>10FDF40</WERKS>
    <LGORT>01</LGORT>
    <LFIMG>10545.000</LFIMG>
    <VRKME>C54T</VRKME>
    <LGMNG>10553545.000</LGMNG>
    <MEINS>CT534555345545345</MEINS>
    <NTGEW>1653454.000</NTGEW>
    <BRGEW>181.000</BRGEW>
    <GEWEI>KGM</GEWEI>
    <VOLUM>450.190</VOLUM>
    <VOLEH>DMQ</VOLEH>
    <LADGR>0534543002</LADGR>
    <TRAGR>0001</TRAGR>
    <VKBUR>UF53401</VKBUR>
    <VKGRP>160</VKGRP>
    <VTWEG>00</VTWEG>
    <SPART>00</SPART>
    <GRKOR>000</GRKOR>
    <EAN11>16001085031034</EAN11>
    <POSEX>000000</POSEX>
    <E1EDL25 SEGMENT="1">
    <LGORT_BEZ>Main s53453453454tore</LGORT_BEZ>
    <LADGR_BEZ>Forklift</LADGR_BEZ>
    <TRAGR_BEZ>On pallets</TRAGR_BEZ>
    <VKBUR_BEZ>Gener534534al Trade</VKBUR_BEZ>
    <VKGRP_BEZ>RSM E534 Cape</VKGRP_BEZ>
    <VTWEG_BEZ>FKLSDFKLS</VTWEG_BEZ>
    <SPART_BEZ>FSDFSDFJoducts</SPART_BEZ>
    </E1EDL25>
    <E1EDL26 SEGMENT="1">
    <PSTYV>TAN</PSTYV>
    <MATKL>FGUND</MATKL>
    <PRODH>0125VH</PRODH>
    <UMVKZ>1</UMVKZ>
    <UMVKN>1</UMVKN>
    <KZTLF>B</KZTLF>
    <UEBTO>0.0</UEBTO>
    <UNTTO>0.0</UNTTO>
    <KVGR1>Z4FDFSDFSD</KVGR1>
    <KVGR2>TPS</KVGR2>
    <E1EDL27 SEGMENT="1">
    <PSTYV_BEZ>Standard Item</PSTYV_BEZ>
    <PRODH_BEZ>OmoFFD Regular 8X2kg.</PRODH_BEZ>
    <WERKS_BEZ>ConFSDFgella DC</WERKS_BEZ>
    <KVGR1_BEZ>PE Cust Del</KVGR1_BEZ>
    <KVGR2_BEZ>rd party sales</KVGR2_BEZ>
    </E1EDL27>
    </E1EDL26>
    <E1EDL43 SEGMENT="1">
    <QUALF>C</QUALF>
    <BELNR>FDF</BELNR>
    <POSNR>000010</POSNR>
    <DATUM>FFSDF</DATUM>
    </E1EDL43>
    <E1EDL41 SEGMENT="1">
    <QUALI>54</QUALI>
    <BSTNR>test I Link</BSTNR>
    <BSTDT>00000000</BSTDT>
    <POSEX>000010</POSEX>
    </E1EDL41>
    </E1EDL24>
    </E1EDL20>
    </IDOC>
    </DELVRY01>

    duplicate blog

  • Problem with Dynamic Configuration in SOAP-AXIS adapter..!!!

    Hi ,
    Idoc> XI>SOAP-AXIS
    I am doing a scenario where I need to pass the URL dynamically in SOAP-AXIS adapter by taking the SNDPRN of Idoc.
    If SNDPRN = 100 , message has to go to  http://10.190.25.16:8210/file/receiver
       SNDPRN = 200 , message has to go to  http://20.180.26.16:8210/file/receiver
    It is working correctly when I tried for single receiver. When I' tried to use DynamicConfiguration, it is coming in SOAP document but it is not working and not passing to correct channel.  According to this note 1039369, I mentioned the following modules.
    AF_Adapters/axis/AFAdapterBean  --->                 afreq
    AF_Adapters/axis/HandlerBean      --->                  xireq 
    AF_Adapters/axis/HandlerBean      --->                  dc
    AF_Adapters/axis/HandlerBean       --->                 remover        
    AF_Adapters/axis/HandlerBean       --->                 trp
    AF_Adapters/axis/HandlerBean        --->                xires       
    AF_Adapters/axis/AFAdapterBean    --->               afres
    xireq ->  handler.type-> java:com.sap.aii.axis.xi.XI30OutboundHandler
    dc    ->  handler.type-> javasap.aii.axis.xi.XI30DynamicConfigurationHandler
    dc   --->   key.1 --->      write http://sap.com/xi/XI/System/SOAP TServerLocation
    dc    --->          location.1  --->         context
    dc     --->         value.1      --->        transport.url
    remover    --->  handler.type    --->   java:com.sap.aii.axis.soap.HeaderRemovalHandler
    remover     ---> namespace    --->      http://sap.com/xi/XI/Message/30
    trp         --->     handler.type   --->    java:com.sap.aii.adapter.axis.ra.transport.http.HTTPSender
    trp           --->  module.pivot  --->     true
    xires     --->    handler.type   --->    java:com.sap.aii.axis.xi.XI30OutboundHandler
    and I am getting the below error in SOAP-AXIS channel
    Error Axis:    error in invocation: java.lang.IllegalArgumentException: object type invalid: class com.sap.aii.adapter.xi.ms.XIMessage
    Error MP:     Exception caught with cause java.lang.IllegalArgumentException: object type invalid: class com.sap.aii.adapter.xi.ms.XIMessage
    Error           Exception caught by adapter framework: object type invalid: class com.sap.aii.adapter.xi.ms.XIMessage
    Error Delivery of the message to the application using connection SOAP_http://sap.com/xi/XI/System failed, due to: com.sap.aii.af.ra.ms.api.RecoverableException: object type invalid: class com.sap.aii.adapter.xi.ms.XIMessage: java.lang.IllegalArgumentException: object type invalid: class com.sap.aii.adapter.xi.ms.XIMessage
    Kindly let me know if anyone has any idea what might be wrong?
    Thanks
    Deepthi

    I have a similar problem. I also like to add some header fields to my message und that's way I'm trying to use the AXIS adapter. (Axis adapter FAQ question 30) Unfortunately I'm getting exactly the same error message:
    com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.lang.IllegalArgumentException: object type invalid: class com.sap.aii.adapter.xi.ms.XIMessage
    Deepthi, you wrote that you have missed one jar file. Can you remember which file it was?

  • Dynamic Configuration - Set Directory Path for File Receiver Adapter

    Hi Experts,
    I have a question regarding the dynamic configuration for the file adapter. Is it possible to set a directory path without a message mapping for the file receiver adapter? the problem is that I want to import a pdf document. this pdf document I want to store in a dynamic directory (depending on the filename). so I have to read the filename out of the dynamic configuration and generate (depending on the filename) a directory for this file. Is that possible without a message mapping? I cannot make a message mapping because the file has the pdf format and should not get changed.
    best regards
    Christopher Kühn

    Hi Gaurav,
    I use the ASMA (respectively the filename) for the sender adapter. After the pdf was imported into XI this filename is in the ASMA.
    But what then??? How can I get this filename with the help of the variable substitution? and if I have this filename I have to change this filename a bit to generate the name / path of the directory.
    Please explain it to me detailled
    Thanks and regards
    christopher

  • Store and Forward agent configuration in jms adapter - jdeveloper

    I am created the store and forward (SAF) agent in weblogic to communicate with another weblogic server.
    after creating it i tried to configure it in jms adapter wizard but i can't able see my SAF Queue there.
    so now how can i give payload to my SAF queue for testing it.
    Please provide any suggestions, i will provide with the points.
    Thanks,
    Ajay Athuluri

    So I don't know much of the details of AIA, and next to nothing of the pre-built integrations, so can't help you much there. However are you sure you've got all the requisite SAF configuration right? The JMS and SAF component hierarchies are a real rats' nest of trouble. This is a setup I've found to work:
    * SAF Agent, targeted to a managed server; needs to use the default filestore (ie when configuring it you don't specify one)
    * JMS Module containing:
         * SAF Remote Context, pointing at your remote WLS instance
         * JMS SubDeployment, targeted to the SAF Agent
         * Connection Factory, targeted at the managed server
         * SAF Imported Destination, targeted at the SubDeployment
         * Queue in the Imported Destination, with WLS and JNDI names set up so they're different in the sending domain and receiving domain
    The pre-built integrations will (probably) have the JNDI names you need to configure in the documentation.
    HTH!
    Paddy

  • Dynamic Configuration Header is Missing

    Hi,
    Am getting this following when I tried a simple UDF in mapping, please let me know your thoughts
    "Exception caught by adapter framework: Dynamic Configuration Header is Missing."
    UDF
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key1 = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/JMS","DCJMSMessageProperty0");
    conf.put(key1,a);
    DynamicConfigurationKey key2 = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/JMS","DCJMSMessageProperty1");
    conf.put(key2,"123");
    return a;
    Thanks in Advance for the help
    Ashok

    Hi ASHOK,
        1.You will be able to see DynaicConfiguration Header automatically in Moni only if your PI is usin service Pack >= 14.in this case  you jus need to check ASMA atributes in Communication channel to capture them in the UDF  that you have written and need not configure the Dynamic configuration bean.To see the Service pack that you are currently using follow the navigation path.
         open the PI through Log on Pad(ABAP engine) -> on the tool bar click utilities>status--> Mote details by clicking magnifying lens symbol then you will be able to see all the services packs and basis components too.
    2.In case if the service pack is not SP ! >= 14 then you will have to follow the procedure of using Dyna,ic configuration Bean as experts mentioned above.
    Thanks,
    Ram.

Maybe you are looking for