How to externalize JNDI name (setting JNDI name dynamically)

Hi,
In adapters such as ftp, database, we have to specify the jndi name. This binds the adapter to a particular jndi name. While this is certainly better than binding the adapter directly to the physical resource, I was wondering if it is possible to have even more flexibililty- setting the jndi name dynamically.
Basically my requirement is to develop a web service that reads a file from a FTP location. I know I can externalize the filename and directory, but I am wondering how to set the ftp location dynamically.
http://darwin-it.blogspot.com/2008/03/configuration-of-ftp-synchronous-get.html provides the answer if I wish to set the hostname, portname, user id and password.
But I want to setup the FTP adapter in AS, and then use that JNDI name in my service. Is it possible...I am using SOA 10.1.3.3
Regards,
Amit

I was able to access the files. Thanks.
The example shows how to use the header properties in file adapter, and it sets the filename and directory elements dynamically....this I already knew.
<copy>
<from variable="inputVariable" part="payload"
query="/client:PassFilePropertiesDynamicallyProcessRequest/client:FileName"/>
<to variable="outHeader" part="outboundHeader"
query="/ns2:OutboundFileHeaderType/ns2:fileName"/>
</copy>
<copy>
<from variable="inputVariable" part="payload"
query="/client:PassFilePropertiesDynamicallyProcessRequest/client:Location"/>
<to variable="outHeader" part="outboundHeader"
query="/ns2:OutboundFileHeaderType/ns2:directory"/>
</copy>
What I want to know is, what is the element to be added in the ftpAdapterOutboundHeader.wsdl that denotes the FTP Location (which is different from the directory).
I guess your next update which would talk about FTP adapter, would clarify things.
Thanks for your replies,
Amit

Similar Messages

  • How to generate file name dynamically in receiver FIle adapter? Please help

    Dear Experts,
       I have a scenario where I need to generate output file with the name dynamically pulled from the XI payload.
       In receiver File communication channel I don't see any option where we can specify the XML path for the file name.
       For example:
       If my inbound XML structure (inbound interface) is like below:
       <filename>file123.txt</filename>
       <RootNode>
             <Element1>Product123</Element1>
       <RootNode>
      From this I need to pick the filename value and generate the output file with the same value.
      How can I achieve this? Please help!
    Thanks & Regards
    Gopal
    Edited by: gopalkrishna baliga on May 3, 2011 1:10 PM

    Gopal,
    You can use DynamicConfiguration class for this.
    You need to write UDF for this and with input of filename you want to set and map this UDF to the top level node.
    Refer the below famous blog from Micheal:
    /people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
    You can also use Variable substitution to get value from payload, search SDN on this.
    --Divyesh Vasani

  • HOW TO GIVE CLASS NAME DYNAMICALLY???

    Hi all!
    I want to give class name dynamically to my statment
    <jsp:useBean id="myBean" scope="session" class="myPackage.myClass"/>
    now here i want to pass a String as class name how can i do it?
    Jiaa:):):)

    Hi,
    You can't assign dynamically a classname in the instruction jsp:useBean
    S�b

  • How to use table name dynamically in report  procedure

    Hello every body
    I want to use table name dynamically means at runtime i want to pass table name.
    I can do this by lexical parameter in main query.
    But my problem is that i want to crate new format trigger or new function that use 1 cursor in which that lexical parameter : table name is used.
    so how to do that?
    i can not use that lexical parameter it is giving error.
    please help me how to do that.

    Call a database function which you pass the lexical parameter. Then in the database function you use dynamic sql or the execute immediate option to build the SQL string.
    Return the information from this function to build your business logic on in your format trigger.
    Marcos

  • How to populate table name dynamically to a ref cursor

    Hi,
    I came accross with a requirement that in ref cursor how can i pass the table name
    for ex
    open ref_cur for select * from emp;Like that i've some 100 tables , instead of typing each and every time the table name
    that should be dynamically changed
    Like below
    open ref_cur for select * from &tbl_nm;How can i do that??
    Thank you

    I assume you are using SQL*Plus:
    SQL> variable ref_cur refcursor;
    SQL> begin
      2      open :ref_cur for select * from &tbl_nm;
      3  end;
      4  /
    Enter value for tbl_nm: emp
    old   2:     open :ref_cur for select * from &tbl_nm;
    new   2:     open :ref_cur for select * from emp;
    PL/SQL procedure successfully completed.
    SQL> print ref_cur
         EMPNO ENAME      JOB              MGR HIREDATE                   SAL       COMM     DEPTNO
          7369 SMITH      CLERK           7902 12/17/1980 00:00:00        800                    20
          7499 ALLEN      SALESMAN        7698 02/20/1981 00:00:00       1600        300         30
          7521 WARD       SALESMAN        7698 02/22/1981 00:00:00       1250        500         30
          7566 JONES      MANAGER         7839 04/02/1981 00:00:00       2975                    20
          7654 MARTIN     SALESMAN        7698 09/28/1981 00:00:00       1250       1400         30
          7698 BLAKE      MANAGER         7839 05/01/1981 00:00:00       2850                    30
          7782 CLARK      MANAGER         7839 06/09/1981 00:00:00       2450                    10
          7788 SCOTT      ANALYST         7566 04/19/1987 00:00:00       3000                    20
          7839 KING       PRESIDENT            11/17/1981 00:00:00       5000                    10
          7844 TURNER     SALESMAN        7698 09/08/1981 00:00:00       1500          0         30
          7876 ADAMS      CLERK           7788 05/23/1987 00:00:00       1100                    20
         EMPNO ENAME      JOB              MGR HIREDATE                   SAL       COMM     DEPTNO
          7900 JAMES      CLERK           7698 12/03/1981 00:00:00        950                    30
          7902 FORD       ANALYST         7566 12/03/1981 00:00:00       3000                    20
          7934 MILLER     CLERK           7782 01/23/1982 00:00:00       1300                    10
    14 rows selected.
    SQL> begin
      2      open :ref_cur for select * from &tbl_nm;
      3  end;
      4  /
    Enter value for tbl_nm: dept
    old   2:     open :ref_cur for select * from &tbl_nm;
    new   2:     open :ref_cur for select * from dept;
    PL/SQL procedure successfully completed.
    SQL> print ref_cur
        DEPTNO DNAME          LOC
            10 ACCOUNTING     NEW YORK
            20 RESEARCH       DALLAS
            30 SALES          CHICAGO
            40 OPERATIONS     BOSTON
    SQL> SY.

  • How to get agent name dynamically

    Hi All,
    Is there any ODI method to get the agent name using which the current jobs are executing.
    Thanks,

    Hi,
    Yes, <%=odiRef.getSession("AGENT_NAME")%> Substitution API will retrieve the PHYSICAL agent which is running the current job.
    Please explore oracledi_api_reference.pdf for more info.
    Thanks,
    Guru

  • How to know method name dynamically with sender or EventArgs object

    Hello All,
    I am working in ASP.NET. I wanna log method name in log file whenever that method is executed. e.g.
    protected void Page_Load(object sender, EventArgs e)
    Trace.Log("Page_Load start");
    Trace.Log("Page_Load end");
    protected void Method2(object sender, EventArgs e)
    Trace.Log("Method2 start");
    Trace.Log("Method2 end");
    Trace.Log() is use to log my string in log files at D:\. Now, here I have hard coded Method name in Trace.Log(). But, now I want to fetch method name via c# code. Can we achieve it via sender or EventArgs object?
    Please assist.
    Thanks, Chintan

    Hello Chintan,
    You can get class name through reflection as it gets STATIC info about the component.
    However, to get the line number of an exception, which is a run time parameter, you cannot use reflection.
    I actually have not tried this before but, given it did not work for you in the web part class, you may try the below code in your *.ascx.cs user control used by your visual web part.
    //To Retrieve class name use this line:
    string className = this.GetType().FullName;
    // To retrieve other parameters including line number
    try
    TestFunction();
    catch (Exception ex)
    StackTrace st = new StackTrace(ex, true);
    StackFrame[] frames = st.GetFrames();
    // Iterate over the frames extracting the information you need
    foreach (StackFrame frame in frames)
    string stkFrame = string.Format("{0}:{1}({2},{3})", frame.GetFileName(), frame.GetMethod().Name, frame.GetFileLineNumber(), frame.GetFileColumnNumber());
    For more info, please refer to this
    post.
    THosE wHo doN'T apPreCiATe LiFe, DOn't DeSerVe iT

  • How to get field name dynamically of a table

    Hi,
    I have a table which has 5 fields, now i want to know the name of the fields dynamically at run time
    not the values each fields hold.
    I have tried field symbols, get reference but all i got the value of the field not the field name.
    is there any way  i can get the field name.
    regards,
    mayank

    1. If it is a DDIC table, you can use the FM 'DDIF_FIELDINFO_GET'. Search in SDN for details.
    2. If it is an internal table, check this code:
    TYPE-POOLS: abap.
    PARAMETERS p_table TYPE tabname .
    DATA: lcl_table TYPE REF TO cl_abap_tabledescr,
          lcl_struc TYPE REF TO cl_abap_structdescr,
          it_fields TYPE abap_compdescr_tab,
          wa_fields TYPE abap_compdescr.
    DATA: dref TYPE REF TO data.
    FIELD-SYMBOLS: <itab> TYPE ANY.
    CREATE DATA dref TYPE STANDARD TABLE OF (p_table).
    ASSIGN dref->* TO <itab>.
    START-OF-SELECTION.
    * Get the Table details
      lcl_table ?= cl_abap_typedescr=>describe_by_data( <itab> ).
    * Get the table line type i.e., structure details
      lcl_struc ?= lcl_table->get_table_line_type( ).
    * Get the components(fields) of the table line
      it_fields = lcl_struc->components.
      LOOP AT it_fields INTO wa_fields.
        WRITE: / wa_fields-name.
      ENDLOOP.
    BR,
    Suhas

  • How to setup JNDI Name for Oracle Apps adapter?

    Hello,
    I am learning Oracle SOA 11g and trying to do some tutorial on Oracle Application Adapter.  I know how to configure JNDI for DBadapter and I did that successfully. I followed same steps to create New JNDI for Oracle Apps Adapter.
    1. I Created new data source using Path Services->Data Sources -> New Genric Data Source. Connection to database was successful and created new JNDI Name: jdbc/PKDTAPPS.
    2. Then Deployment-> OracleApps Adapter-> Configuration-> Outbound Connection Pools -> New and created JNDI Name eis/Apps/PKDTAPPS.
    However I did not find newly created JNDI Name in step 2 under Deployment-> OracleApps Adapter-> Configuration-> Outbound Connection Pools -> javax.resource.cci.ConnectionFactory.
    Please let me know if am I following correct steps to create new Oracle Apps Adapter JNDI Name or not.
    Since above approch did not work I created new JNDI for DBAdapter with same database connection details. And then latter on use that JNDI Name while creating Oracle Application Adapter in JDeveloper composite. And it allowed me to access Oracel Apps open interface. However while deploying the application it gave me following error.
    <Feb 16, 2015 10:50:59 AM CST> <Error> <oracle.integration.platform.blocks.deploy.servlet> <SOA-21537> <Sending back error message: There was an error deploying the composite on AdminServer: [JCABinding]
    [adapter-Apps-101-JournalImport.InsertJournal/1.0]Unable to complete unload due to: Cannot locate Java class oracle.tip.adapter.apps.AppsTableWriteInteractionSpec: Cannot locate Java class
    oracle.tip.adapter.apps.AppsTableWriteInteractionSpec..>
    Since I have no past experience kindly suggest me what is right way to do this.
    Thanks,
    Shri

    Hi shri,
    Can you check the targets of oracle apps adapter that is it deployed on both cluster and admin server both.
    Deployment-> OracleApps Adapter-> Targets
    Regards,
    Anshul

  • How to create JNDI data source name in Tomcat 6.0.18 server?

    Hai,
    How to create JNDI data source name in Tomcat 6.0.18 server?
    Regards,
    MariMuthu.A

    [http://google.com/search?q=jndi+site:tomcat.apache.org+6.0]

  • When I tap on the to line to add an address sometimes people's names come up that I don't have as contacts.  How can I change this setting?

    When I tap on the to line to add an address sometimes people's names come up that I don't have as contacts.  How can I change this setting?

    The only way that I know currently know of to remove old or incorrect email addresses from the Mail app is to reset the iPad back to factory defaults, which I assume that you don't want to to. You could try leaving feedback for Apple and maybe one day we'll day be able to edit them : http://www.apple.com/feedback/ipad.html#ipad

  • Can anyone tell me how to change the names of the networks I have set up on Airport Express

    Can anyone tell me how to change the names of the networks I have set up on Airport Express please? I now work in a UN compound and my network is my own name, would prefer some anonymity so seeking to change the wifi network name that others might see.

    Hi mkl1961,
    Happy Holidays!  The article below will explain how to reset your Airport Express and change the network and base station names back to their defaults.  
    Resetting an AirPort base station FAQ - Apple Support
    http://support.apple.com/en-us/HT3728
    What default settings will my AirPort base station have after a hard or factory default reset?
    AirPort base stations are set to request an IP address by DHCP.
    AirPort base station passwords are "public."
    AirPort base station names revert to "base station xxxxxx," where xxxxxx is the last six digits of the wireless MAC address*.
    AirPort base station network names are "Apple Network xxxxxx," where xxxxxx is the last six digits of the wireless MAC address*.
    *A MAC (Media Access Control) address, also known as a "network ID," is a unique hardware identification number for a network port.  You can find the wireless and Ethernet network IDs on the printed label on the bottom or side of the device.
    Airport Express Setup Guide
    manuals.info.apple.com/MANUALS/1000/MA1613/en_US/airport_express_80211n_2nd_gen _setup_guide.pdf
    I hope this information helps ....
    - Judy

  • How to change JNDI service provider for EJB's?

    I need EJBean's home interface to be bound to another JNDI provider, not Weblogic.
    How can I do it?
    The most simple solution is not working: to specify <jndi-name> in weblogic-ejb-jar.xml
    for bean as "xxx:bean_name".
    By JNDI rules for such names context factory with name com.sun.jndi.url.xxx.xxxURLContextFactory
    will be used. But for Weblogic this does not work. An exception is thrown during
    bean deployment -
    javax.management.MalformedObjectNameException: ObjectName: Invalid value -> xxx:bean_name
    at javax.management.ObjectName.validateAndAdd(ObjectName.java:440) at javax.management.ObjectName.initObjectName(ObjectName.java:409)
    at javax.management.ObjectName.<init>(ObjectName.java:254) at weblogic.management.WebLogicObjectName.<init>(WebLogicObjectName.java:196)
    at weblogic.management.runtime.RuntimeMBeanDelegate.register(RuntimeMBeanDelegate.java:90)
    at weblogic.management.runtime.RuntimeMBeanDelegate.<init>(RuntimeMBeanDelegate.java:83)
    at weblogic.ejb20.internal.BaseEJBHomeMBean.<init>(BaseEJBHomeMBean.java:33) ......................

    This is not an answer on my
    question - My questions was: how to force a Welogic EJB Container to BIND EJBean's
    home interface to another JNDI Service provider, not Weblogic.
    But you wrote how to use JNDI in general - I already know how to use it :)))
    Phil.
    "VSK" <[email protected]> wrote:
    Hi
    Have a look at the code below
    private Context getInitialContext () throws NamingException
    String from = "CtxHelper::getInitialContext ";
    String webLogicHostUrl = t3://SERVERNAME:9001
    Logger.debug(from, "Begin Method", 3);
    Hashtable h = System.getProperties();
    h.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory
    h.put(Context.PROVIDER_URL, webLogicHostUrl);
    return new InitialContext(h);
    } //end getInitialContext
    This way we will get the InitailContext and then do a jndi lookup using
    the
    Context object as follows
    ctx.lookup..........
    Now in the above code replace weblogic.jndi.WLInitialContextFactory by
    ur
    provider.
    Hope this helps.
    -VKS
    "Phil Peshin" <[email protected]> wrote in message
    news:[email protected]...
    I need EJBean's home interface to be bound to another JNDI provider,not
    Weblogic.
    How can I do it?
    The most simple solution is not working: to specify <jndi-name> inweblogic-ejb-jar.xml
    for bean as "xxx:bean_name".
    By JNDI rules for such names context factory with namecom.sun.jndi.url.xxx.xxxURLContextFactory
    will be used. But for Weblogic this does not work. An exception isthrown
    during
    bean deployment -
    javax.management.MalformedObjectNameException: ObjectName: Invalidvalue -> xxx:bean_name
    at javax.management.ObjectName.validateAndAdd(ObjectName.java:440)at
    javax.management.ObjectName.initObjectName(ObjectName.java:409)
    at javax.management.ObjectName.<init>(ObjectName.java:254) atweblogic.management.WebLogicObjectName.<init>(WebLogicObjectName.java:196)
    atweblogic.management.runtime.RuntimeMBeanDelegate.register(RuntimeMBeanDelega
    te.java:90)
    atweblogic.management.runtime.RuntimeMBeanDelegate.<init>(RuntimeMBeanDelegate
    ..java:83)
    atweblogic.ejb20.internal.BaseEJBHomeMBean.<init>(BaseEJBHomeMBean.java:33)

  • How to change the "name of column" property of an text item in runtime?

    How to change the "name of column" property of an text item in runtime?
    I look the properties of items in help and found nothing about this!
    It's possible?

    Hi,
    an other solution is change the block property QUERY_DATA_SOURCE_TYPE from "Table" to "Sub-query" , than change at run time the property QUERY_DATA_SOURCE_NAME.
    First create block and add items
    The QUERY_DATA_SOURCE_NAME will be for ex. "Select 'A' as col1, 'B' AS col2, 'C' as col3 from dual"
    Set into items the column name property to col1 , col2 ...
    At run time change the query to "Select 'Z' as col1, 'X' as col2 , 'Y' as col3 from dual"
    in this way you can change the source of column value.
    Caution because if you change value type from varchar2 to date you must cast date into varchar2.
    May be that this way is valid only for view data not for insert-update, i don't remember.
    bye
    Message was edited by:
    Killernero

  • How to get the name of the current tab.

    Hi Experts,
    I have two tabs in my tab strip and a button common to both the tabs.Can you please let me know how to get the name of the current tab in the event method of the push button.
    Thanks in advance.
    Regards,
    Arun

    1.Declare an Action for OnSelect event of Tabstrip. This event is triggered whenever any change in tab occurs.
    2. Declare an Import Parameter in this method
       Tab type String.
    3. This parameter has value of the selected TAB.
    4. You can set this value in some Attribute in Attribute Tab in this event only (OnSelect):
         wd_this->Att  = Tab.
    Att is the attribute created by you in Attributes Tab of View. ( of type String)
    5. Now the selected Tab ID is stored in this Attribute Att.
    6. In the Onaction of Button , retrieve the selected tab value from this attribute using :
               Data : lv type string.
                lv =  wd_this->Att
    Now lv has your selected TAB ID.
    I hope it would help you.
    Edited by: Saurav Mago on Oct 13, 2009 2:22 PM

Maybe you are looking for