Dynamic Configuration of custom Context Objects: is it possible?

Guys,
is it possible to use Dynamic Configuration for custom Context Objects as we normally do to technical context objects?
Also, is it possible to use a context object in receiver determination, even if it is not assigned to a message interface?
My case: I need to use condition at receiver determination but I dont want to read a field from payload. Instead, I want to write that context object with dynamic configuration and use it at receiver determination runtime.
I want to do this in order to avoid having to extend the payload's message type because of this extra field for condition (actually, its not that I dont want to, its that I cant. The message type is defined by 3rd party and cant be changed). If it is possible to keep that information at header instead of payload, it'd be great.
Kind regards and thanks in advance,
Henrique.

Hi,
>>>>>Just a last comment: do you need to deploy any code for the adapter on SDM or just the "fake adapter metadata file" is enough?
no SDM
just the metadata file as per my blog
glad this is what you wanted
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>

Similar Messages

  • Dynamically configure auto custom search

    hi,
    can anyone advise how I might dynamically define criteria on an auto custom search portlet ?
    thanks
    kev

    Could you please give us more information on what exactly you are trying to do.
    Thanks

  • Access/set dynamic configuration in client/server abap proxy

    Hi,
    I have 2 question regarding reading/setting dynamic configuration in ABAP proxies:
    1) Is it possible to set dynamic configuration objects in a server abap proxy (SAP --> XI)?
    When looking at the class CL_PROXY_FRAMEWORK is looks as if it is possible. This class has en attribute IF_XMS_MAIN~DY which is a reference to the class CL_XMS_MSGHDR30_DYNAMIC.
    I'm not sure if I'm supposed to try and access the dynamic configuration objects via this class or if I'm supposed to use the GET_PROTOCOL method in some manner as suggested by:
    http://help.sap.com/saphelp_nw04s/helpdata/en/51/d5cd16235e4643ae8ec92395c4ad97/frameset.htm
    Above link is for client proxies not server, and I've been unable to find any documentation on this for server proxies.
    2) The same question goes for server proxies (XI --> SAP), though now I would like to set some dynamic configuration data.
    This I believe should be done using get_protocol( if_wsprotocol=>ws_header ) as indicated by before mentioned link.
    However in both cases I'm not sure of if it is indeed possible and which road to choose for sure. So a hint or 2 would be really nice.
    Best Regards,
    Daniel
    ps. maybe I should just mention that I am pretty new to the ABAP world, so bear with me.

    The link that you gave does give you an example for both server and client proxies:
    Accessing Protocol Classes for Client Proxies
    In client proxies, you access the protocol class by using the GET_PROTOCOL method. Below is an example for the IF_WSPROTOCOL_PAYLOAD protocol:
    DATA:
    lo_clientProxy      TYPE REF TO co_clientProxy,
    lo_payload_protocol TYPE REF TO if_wsprotocol_payload
    lo_payload          TYPE REF TO if_ws_payload.
    CREATE OBJECT lo_clientProxy.
    Get Protocol Class Using Method GET_PROTOCOL
    lo_payload_protocol ?=
           lo_clientProxy->get_protocol( if_wsprotocol=>payload ).
    CALL METHOD lo_clientProxy->execute_synchronous
                EXPORTING output  = ls_request
                IMPORTING input   = ls_response.
    Use Protocol Methods
    lo_payload = lo_payload->get_sent_request_payload( ).
    Accessing Protocol Classes for Server Proxies (XI Only)
    Within the implementation of a server proxy, you get the protocol class by using the CL_PROXY_ACCESS=>GET_SERVER_CONTEXT( ) method:
    DATA:  lo_server_context   TYPE REF TO if_ws_server_context,
           lo_payload_protocol TYPE REF TO if_wsprotocol_payload.
    lo_server_context   = cl_proxy_access=>get_server_context( ).
    lo_payload_protocol =
         lo_server_context->get_protocol( if_wsprotocol=>payload ).

  • Dynamic filename configuration via custom EJB

    Hi Experts,
                        We are doing a poc on whether we can do the dynamic filename configuration,i.e. set the file name dynamically in a custom EJB deployed on the server and called in the sender comm. channel of any J2EE based adapter.
    The requirement is for some interfaces, there is no mapping requirement other then setting the filename dynamically, which maybe based on a certain value of the input file or a specific portion of string in the payload.
    The custom EJB takes the namespace and attribute as input parameters along with other string manupulation parameters to determine the receiver file name. That is if we are using sender JMS adapter, we can have namespace = http://sap.com/xi/XI/System/JMS and attribute as DCJMSMessageProperty1. The bean would read the value and perform the manipulation based on certain other input parameters and set the file.
    There is one particular bean : AF_Modules/DynamicConfigurationBean but it does not allow us to manipulate the filename.
    Any help would be much appreciated.
    Regards,
    Shiladitya

    Hi,
    please refer to the following links for your reference
    Re: Reading Dynamic Configuration information in side adapter module.
    Re: Dynamic Filename in File adapter
    Regards,
    Bhanu

  • Dynamic configuration : possibility of adding custom Key?

    hi experts,
    is it possible that i can add a new custom key like for example
    namespace : http://sap.com/xi/XI/System/ERROR    
    key : ERRORDESC
    and put it inside the Dynamic configuration during a mapping and then use it further?
    or are we limited to the use of ONLY standard key pairs?
    Thanks in advance.
    Regards,
    Amol

    Yes, is possible.
    Take a look here:
    http://wiki.sdn.sap.com/wiki/pages/viewpage.action?pageId=95093307
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/00a7ba12-e7cd-2b10-d589-e52b11346f77

  • How to create custom BOL object for dynamic query in CRM 7.0

    Hi,
    Could anyone please explain me with steps that how to create the custom BOL object for dynamic query in CRM 7.0, I did it in previous version but its throwing exception when i try to create the object of my dynamic query class. I just defined the entry of my in crmv_obj_btil to create the dynamic query BOL object. do i need to do any other thing also to make it work?
    Regards,
    Kamesh Bathla
    Edited by: Kamesh Bathla on Jul 6, 2009 5:12 PM

    Hi Justin,
    First of thanks for your reply, and coming to my requirement, I need to report the list of items which are there in the dynamic select statement what am getting from the DB. The select statement number of columns may vary in my example for different countries the select item columns count is different. For US its '15', for UK it may be 10 ...like so, and some of the column value might be a combination or calculation part of other table columns (The select query contains more than one table in the from clause).
    In order to execute the dynamic select statement and return the result i choose to write a function which will parse the cursor for dynamic query and then iterate the values and construct a Type Object and append it to the pipe row.
    Am relatively very new for these sort of things, welcome in case of any suggestions to make it simple (Instead of the function what i thought to work with) also a sample narrating the new procedure will be appreciated.
    Thanks in Advance,
    mallikj2.

  • Context object not visible in configuration (for receiver determination)

    Hi,
    I've created a context object and depending on that I want to forward the message to a specific receiver. But when in that pop-up window for the receiver determination I cannot find the context object. I can only find the technical context objects defined by SAP.
    Do you have a solution for that?
    Regards
    Volker

    Hi Volker,
    you can solve your task by using a <a href="/people/venkataramanan.parameswaran/blog/2006/03/17/illustration-of-enhanced-receiver-determination--sp16 Receiver Determination</a>
    Regards,
    Udo

  • Implicitly Passing a Custom Context with EJB Invocations

    Dimitri, this is most likely one for you.
    We have a need to implicitly pass contextual information with EJB
    invocations. I'd also like to be able to intercept/filter invocations.
    The current approach autogenerates subclasses for the bean
    implementations. In these subclasses, the methods take an additional
    context parameter. From the client perspective, the business delegates
    implicitly provide this parameter.
    I'd like to solve this without code generation.
    The current approach I'm considering is to have a generic command EJB.
    This stateless session bean will take a method signature, method
    parameters, and a context object. The command EJB will delegate these
    invocations to the actual EJBs.
    I will get the client to go through this command EJB by intercepting the
    home lookups. I will wrap the initial context. Using dynamic proxies,
    the new initial context will return a wrapped stub that will actually go
    through the command bean, implicitly passing the thread local context.
    So far as the command bean's configuration goes, I will set to the pool
    size very high (the sum of all of the other stateless session bean pool
    sizes perhaps). I will set the transaction type to Supports and pass on
    any exceptions.
    Can anyone think of a better way to go about this?
    Thanks,
    Bob

    Why do you need the custom context? I have worked with an application that held the SessionContext and wrapped all the methods of the EJB context. This was a maintenance problem because changes to the EJB spec caused the methods to change and therefore the calling code.
    Are you trying to insulate your POJO code from EJB specific classes?

  • Two FileName in Dynamic Configuration

    Hi All,
    I have a very rare problem. In an interface which uses BPM, where file is the sender and Proxy is the target,
    there is an ABAP Class in the mapping which uses Dyanmic Configuration to retrieve the FileName and create a Proxy structure and posts it to the ECC. In this scenario, Multiple files are picked from different folder using advanced Selection and sent to BPM which uses the ABAP Class.
    When i run the interface with 5 different files placed at source, In SXMB_MONI, I can see that after 3 files are processed successfully with a single filename in the Dynamic Configuration, the 4th or the 5th one wil have 2 filenames in the dynamic configuration out of which the first filename will be the copy of the earlier processed filename and the second one wil be the actual required filename. The above behaviour keeps on chainging.
    How can this be possible as the Context Object 'FileName' can have only single filename through out the interface instance, as there is no setting of the filename done in dynamic configuration.
    Please reply if anyone has a solution to the above problem.
    Thanks.

    Hi Jaideep..
    Thanks for the reply.
    Yes.. its a serial processing. Let me explain a bit more.
    as i said above, after the 3rd BPM instance (Just as an example.. keeps on chainging), the 4th instance has a unique filename compared to before 3. but after processing, the Dynamic Configuration in SXMB_MONI will have 2 fileNames. which will have a copy of any one of the earlier filenames along with actual filename.

  • Error in mappingwith dynamic configuration using udf

    Hi All,
    Good Morning,
    i am working with ABAP proxy to file scenarion but here according my client requirement i am using udf for file dynamic configuration.
    In mapping, i mapped the field from "Filename" to message type tag(receiver file header)  "/ns0:MTxxxxxxDataFile". between there two fields i am using the following udf for dynamic configuration. but i got error after testing with test data in mapping that is also mentioned below.
    plz help me to solve the error. i will be wait for ur immediate response this sis very urgent.
    very thankfull to immediate response.
    UDF:
    i am not puting any packages here.
    public String putFileNameInHeader1(String a,Container container){
    //write your code here
    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 "";
    ERROR:
    12:21:30 Start of test
    Compilation of MMSAPLegacySalesDataToCOGNOS successful Runtime exception during processing target field mapping /ns0:MTCOGNOSLegacySalesDataFile. The message is: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._MMSAPLegacySalesDataToCOGNOS_ method putFileNameInHeader1$[cd00000038, com.sap.aii.mappingtool.tf3.rt.Context@f300f30] com.sap.aii.mappingtool.tf3.MessageMappingException: Runtime exception during processing target field mapping /ns0:MTCOGNOSLegacySalesDataFile. The message is: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._MMSAPLegacySalesDataToCOGNOS_ method putFileNameInHeader1$[cd00000038, com.sap.aii.mappingtool.tf3.rt.Context@f300f30] at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:350) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:401) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:142) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.execute(MapServiceRemoteObjectImpl0_0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:313) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:199) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:136) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(AccessController.java:215) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Root Cause: com.sap.aii.utilxi.misc.api.BaseRuntimeException: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._MMSAPLegacySalesDataToCOGNOS_ method putFileNameInHeader1$[cd00000038, com.sap.aii.mappingtool.tf3.rt.Context@f300f30] at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.calculateCurrentValue(FunctionWrapper.java:83) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.cacheValue(FunctionWrapper.java:59) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.gotoNextContext(FunctionWrapper.java:37) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:252) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:401) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:142) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.execute(MapServiceRemoteObjectImpl0_0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:313) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:199) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:136) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(AccessController.java:215) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Root Cause: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60) at java.lang.reflect.Method.invoke(Method.java:391) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.calculateCurrentValue(FunctionWrapper.java:75) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.cacheValue(FunctionWrapper.java:59) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.gotoNextContext(FunctionWrapper.java:37) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:252) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:401) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:142) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.execute(MapServiceRemoteObjectImpl0_0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:313) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:199) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:136) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(AccessController.java:215) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Caused by: java.lang.NullPointerException at com.sap.xi.tf._MMSAPLegacySalesDataToCOGNOS_.putFileNameInHeader1$(_MMSAPLegacySalesDataToCOGNOS_.java:853) ... 26 more RuntimeException in Message-Mapping transformation: Runtime exception during processing target field mapping /ns0:MTCOGNOSLegacySalesDataFile. The message is: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._MMSAPLegacySalesDataToCOGNOS_ method putFileNameInHeader1$[cd00000038, com.sap.aii.mappingtool.tf3.rt.Context@f300f30]
    12:21:35 End of test

    Hi Sai,
    First of all, this UDF is pretty well knaown so there is no error in this UDF or your configuration for this UDF. I can suggest you something that at the time of configuration in IR, give a context object for that particular field of that file and then use the contect object name everywhere to refer that field. and also check the message type config for correction for my sake.
    There is also a possibility that of the input data. i guess you are sending the input file from Cognos and you making the file and putting some where in XI directory and want these to process something and generate with some new desired filename. Check the input because i guess its finding NOTHINg as an Input. check once again.
    Hope this will help you.
    Regards
    Aashish Sinha
    PS : Reward points if helpful.

  • Problem with dynamic configuration in PI 7.0 (SP 21)

    We're trying to set a dynamically configurable parameter (UrlParam in plain http adapter) in a java mapping and when calling,   via proxy, getting the following error returned<br />
    <p />
    <br />
    &lt;?xml version="1.0" encoding="utf-8" ?&gt;<br />
    - &lt;asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0"&gt;<br />
    - &lt;asx:values&gt;<br />
      &lt;SYSTEMFAULT href="#o284" /&gt;<br />
      &lt;/asx:values&gt;<br />
    - &lt;asx:heap xmlns:xsd="http://www.w3.org/2001/XMLSchema"<br />
    xmlns:abap="http://www.sap.com/abapxml/types/built-in" <br />
    xmlns:cls="http://www.sap.com/abapxml/classes/global" <br />
    xmlns:dic="http://www.sap.com/abapxml/types/dictionary"&gt;<br />
    <br />
    - &lt;cls:CX_AI_SYSTEM_FAULT id="o284"&gt;<br />
    - &lt;CX_ROOT&gt;<br />
      &lt;TEXTID&gt;F63AFF63DBE4BB4786A7F52CC4167145&lt;/TEXTID&gt;<br />
      &lt;PREVIOUS /&gt;<br />
      &lt;KERNEL_ERRID /&gt;<br />
    - &lt;INTERNAL_SOURCE_POS&gt;<br />
      &lt;PROGID&gt;95&lt;/PROGID&gt;<br />
      &lt;CONTID&gt;3304&lt;/CONTID&gt;<br />
      &lt;/INTERNAL_SOURCE_POS&gt;<br />
      &lt;/CX_ROOT&gt;<br />
      &lt;CX_STATIC_CHECK /&gt;<br />
    - &lt;CX_AI_SYSTEM_FAULT&gt;<br />
      &lt;CODECONTEXT /&gt;<br />
      &lt;CODE&gt;PLAINHTTP_ADAPTER.ATTRIBUTE_MISSING_PARAMS&lt;/CODE&gt;<br />
      &lt;ERRORTEXT /&gt;<br />
      &lt;LANGUAGE /&gt;<br />
      &lt;/CX_AI_SYSTEM_FAULT&gt;<br />
      &lt;/cls:CX_AI_SYSTEM_FAULT&gt;<br />
      &lt;/asx:heap&gt;<br />
      &lt;/asx:abap&gt; <br />
    <p />
    <br />
    The java code in the mapping is as follows:<br />
    <br />
    The java code in the mapping is as follows:<br />
    /*<br />
    Created on 07-Jun-2010<br />
    *<br />
    To change the template for this generated file go to<br />
    Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments<br />
    */<br />
    package uk.gov.communities.finance; <br />
    <br />
            import java.io.InputStream;<br />
    import java.io.OutputStream;<br />
    import java.util.Map;<br />
    <br />
    import com.sap.aii.mapping.api.DynamicConfiguration;<br />
    import com.sap.aii.mapping.api.DynamicConfigurationKey;<br />
    import com.sap.aii.mapping.api.StreamTransformation;<br />
    import com.sap.aii.mapping.api.StreamTransformationException; <br />
    <br />
    /**<br />
    @author Mark<br />
    *<br />
    To change the template for this generated type comment go to<br />
    Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments<br />
    */ <br />
    <br />
    public class PaymentGatewayRequestMap implements StreamTransformation {<br />
            /** This Map parameter is for the Method setParameter() */<br />
            Map param=null;<br />
            /** This method should be used while the Class implements<br />
    StreamTransformation interface<br />
             *<br />
    @param param - A Map object<br />
             */<br />
            public void setParameter(Map param){<br />
                    this.param=param;<br />
            }<br />
    <br />
    /**<br />
    This method will be called by XI to execute Java Mapping. <br />
    @param in - The InputStream which has the source message from CRM <br />
    @param out - The OutputStream which has the target message to ProFinance <br />
    */ <br />
    public  void execute (InputStream in, OutputStream out) throws
    StreamTransformationException { <br />
    String urlParamOne = null; <br />
    try{ <br />
    DynamicConfiguration dynCon = (DynamicConfiguration)param.get("DynamicConfiguration");  <br />
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/HTTP","myValueHere"); <br />
    String response = ""; out.write(response.getBytes()); <br />
    } <br />
    catch(Exception e){<br />
                            throw new RuntimeException(e.getMessage());<br />
                    }<br />
            }<br />
    }<br />
    <p />
    <p />
    <p />
    Looking at the call in SXMB_MONI there's no sign of the dynamic configuration stage anywhere but we are seeing the following in the response message:
    <p />
    <br />
    &lt?xml version="1.0" encoding="UTF-8" standalone="yes" ?&gt;<br />
    -&lt !--  Call Adapter <br />
      --&gt;<br />
    - &lt;SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1"&gt;<br />
    &lt;SAP:Category>XIAdapter&lt;/SAP:Category&gt;<br />
      &lt;SAP:Code area="PLAINHTTP_ADAPTER"&gt;ATTRIBUTE_MISSING_PARAMS&lt;/SAP:Code&gt;<br />
      &lt;SAP:P1 /&gt;<br />
      &lt;SAP:P2 /&gt;<br />
      &lt;SAP:P3 /&gt;<br />
      &lt;SAP:P4 /&gt;<br />
      &lt;SAP:AdditionalText /&gt;<br />
      &lt;SAP:ApplicationFaultMessage namespace="" /&gt;<br />
      &lt;SAP:Stack>Dynamic Header - Missing Message Attributes: Fields/Parameters&lt;/SAP:Stack&gt;<br />
      &lt;SAP:Retry>N&lt;/SAP:Retry&gt;<br />
      &lt;/SAP:Error&gt;<br />
    <p />
    <br />
    Please note, we have set this up on another PI system (7.0 sp 12) and it works as required.
    <p />
    <br />
    Many thanks
    <p />
    <br />
    Andreas

    Hello , let me clarify:
    - There's a graphical mapping which has a user defined function with the following code:
    DynamicConfigurationKey dynKey =DynamicConfigurationKey.create(
    "http://sap.com/xi/XI/System/HTTP",paramName);
    DynamicConfiguration dynCon =(DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    dynCon.put(dynKey, paramValue);
    return paramValue;
    - The above UDF has paramName set to UrlParamOne via a constant and paramValue set a per an element in the incoming structure.
    - Incidentally, a Java mapping is then called (although not relevent) to clear the xml produced from the mapping. This is a requirement for our customer who don't want the HTTP body set. The code is as follows:
    Created on 07-Jun-2010
    To change the template for this generated file go to
    Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
    package uk.gov.communities.finance;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.Map;
    import com.sap.aii.mapping.api.StreamTransformation;
    import com.sap.aii.mapping.api.StreamTransformationException;
    @author Mark
    To change the template for this generated type comment go to
    Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
    public class PaymentGatewayRequestMap implements StreamTransformation {
    /** This Map parameter is for the Method setParameter() */
    Map param=null;
    /** This method should be used while the Class implements
    StreamTransformation interface
    @param param - A Map object
    public void setParameter(Map param){
    this.param=param;
    This method will be called by XI to execute Java Mapping.
    @param in - The InputStream which has the source message from CRM
    @param out - The OutputStream which has the target message to ProFinance
    public void execute(InputStream in, OutputStream out) throws StreamTransformationException {
    try{
    String response = "";
    out.write(response.getBytes());
    catch(Exception e){
    throw new RuntimeException(e.getMessage());
    Many thanks
    Andreas

  • ESR Context Objects: using in ABAP or Java

    Hello, experts!
    Is it possible to use (get values of) Context Objects assigned to Service Interface in ABAP or Java?
    If it's possible, than how can we do that?
    BR,
    Vika

    Hello,
    Is it possible to use (get values of) Context Objects assigned to Service Interface in ABAP or Java?
    Context objects assigned to a service interface can't be retrieved via dynamic configuration hint: I tried it the hard way ;-). Not sure about ABAP, but the same could also be true. I think only the COs that came in with adapter metadata can be accessed(conf.get) and overwritten (conf.put).
    Corrections are welcome.
    Hope this helps,
    Mark

  • PI 7.1 Access to Dynamic Configuration through Java Class

    My Current scenario involves IDCO -> FILE communications in PI 7.1 using XSL where the file name is dynamic.
    I have attempted calling a Java Class from XSL with the use SAPXMLTOOL kit option set in the adaptor and it works but I need to be able to call the transform method
    public void transform(TransformationInput arg0, TransformationOutput arg1)
    from XSL so I can access the message and update the File Name via Dynamic Configuration.
    Whilst I can call a static class with in the object I can not call transform with the correct arguments (arg0, arg1). I need access to arg0 (payload) to set/figure out the filename. I can calculate the filename in XSL and pass it to the Java but in a static method it is useless as it need to access the arg0 which is a object and obviously non-static context.
    Is this possible ? How do I get access to Dynamic Configuration from XSL through Java in 7.1 ?
    I have successfully called a static method but that is no help.
    Thanks in advance.

    Suraj,
       Unfortunately you link isnt operational but thankyou anyway, I have managed to call as Java class as per my original post, but a static method does not allow me to get a handle to the Dynamic Configuration Variables in the message.
    It seems importing the 7.0 LIBS may be an option and Im not entirely sure I have that option.
    It certainly isnt possible to use the JDK5 XML implementation to even call a static method on an Java OBJ from XSL (obviously the USE SAPXMLTOOLKIT option is there for a reason).
    I think and again I could be wrong but direct access via XSLT..
    LINK:http://help.sap.com/saphelp_nwpi71/helpdata/EN/e2/e13fcd80fe47768df001a558ed10b6/frameset.htm
    Is what Im looking for, I shall report back success or failure but the doco seems to fit the bill. Im not sure why I wanted to instatiate a sperate Java class when it can all exist in the XSLT.

  • Dynamic Configuration of Mail-Sender does not work

    Hi,
    we use XI 3.0 SPS 19.
    In my szenario I have a mail sender and I have receiver determination with conditions depending on the mail subject.
    In the condition editor, I selected the context object "SHeaderSUBJECT" to build my condition.
    In the mail communication channel I turned on the Checkbox "adapter specific message attributes".
    But the condition doesn't work!!!
    I wrote a small UDF to get the dynamic configuration of my mail sender-message - but it's NULL.
    If I change my scenario from Mail-Sender to a file-sender, everything works fine (I can select the filename, etc.).
    Is there a problem with dynamic configuration of a mail sender?
    Thx all for your help!
    Regards
    Wolfgang Hummel

    Check also "Variable Transport Binding".
    You see in the SXMB_MONI whether the ASMA is available or not.
    Regards
    Stefan

  • BPM Correlation from Dynamic Configuration not being filled

    Hey guys,
    I'm having the following problem with BPM correlation.
    In my correlation definition, I have 2 fields: one which is filled with information from the message payload, and another one which is filled with a context object (which was created with adapter metadata and filled with dynamic configuration, as refered here: /people/michal.krawczyk2/blog/2006/10/09/xi-dynamic-configuration-in-adapter-modules--one-step-further).
    All instances of BPM are with error status. And when I go into the workflow log for these processes, if I check the correlation object, it is like this:
    <?xml version="1.0" encoding="utf-8" ?>
    <CorrelationKey Version="001">
    <Field1 />
    <Field2>123456789</Field2>
    </CorrelationKey>
    Field1 is the one read from context object, and is not being filled (thus I think the error comes from here). Field2 is from payload and is being normally filled.
    Any ideas on this matter?
    Maybe the problem is not from the correlation. If not, what else could be the case? The BPM crashes on the very first step (one more reason to think that the correlation is the issue).
    Thanks in advance,
    Henrique.

    HI,
    In general Correlation , concept, whatever we configured in Correlation editor , i mean in runtime which xml element should filled with which element of which interface ..as you said you have configured the local correlation to block, in block it is the first receive step, while receiving the first message which is relevent to first recieve step , i mean if it receives the one message which is related to first receive step inteface .. the respective element data will be filled in correlation id and it will assign on giud for processing , so while assign the runtime data to correlation element ( imean filling stage) check you said two elements in correlation does the first message contains these two elements ??
    if so ok , no then check , and try to use the IM before calling the IP to fill the payload.
    Regards
    Chilla
    Oh closed!!
    Message was edited by:
            Chandra Sekhar Chilla
    Message was edited by:
            Chandra Sekhar Chilla

Maybe you are looking for

  • ME21N Material group level authorization is not working in ECC 6.0

    Dear Security Experts, We have created a role Z_ME21N with one Tcode ME21N. The role has to restrict users in the material group level. For that, we added Authorization object M_MATE_WGR. 1.     When we are trying to add field values for {M_MATE_WGR,

  • Broken PDF Bookmarks from Word doc with Headings

    This used to work with older versions of Acrobat Pro (I have the latest version of Acrobat 8 pro). I just author a Word doc which has headings, and then I use the Acrobat menu in Word to create the PDF, making sure "Create Bookmarks from Word Heading

  • Automate creating single PDF file from multiple documents

    Hi everyone ! I am testing the Adobe XI version, especially because I need it for a very specific function.I haven't found it yet, maybe you guys can help ? Basically, I need to make a user friendly system, that in one click will create a single PDF

  • JavaHelp problems

    Hi I am using JH2.0 with JDK 1.4.1. JavaHelp mostly works, but I am having a few problems that I cannot find answers for in the forum or documentation. 1. On first use of context-sensitive help, the help viewer opens at the default page, not the requ

  • I bought iPhone 5s from friend but locked by carrier how can I unlock it?

    When I bought iPhone 5s from seller he said it is unlocked. After I got it show that still locked by operator and I try to contact him but no reply. How can I unlock it?