Dynamic Configuration of HTTP Destinations in SOAPReceiver

Dear PI Developers
I'll define a dynamic Configuration for my HTTP Destination in SOAPReceiver with XI3.0 Protocol.
The solution for that is to use an Adapter Module to set the dynamic Configuration Value.
Process: ... > SOAP Receiver > MyAdapterModule, set HTTP Destination > SOAP Receiver, send Message to HTTP Destination
URL-Adressing work's fine
This works fine for URL-Adressing, here's my Java Code from my Adapter Module:
Message message = (Message) inputModuleData.getPrincipalData();
message.setMessageProperty(new MessagePropertyKey("TServerLocation", "http://sap.com/xi/XI/System/SOAP"), "http://domain.com/foobar");
HTTP Destination, how it works?
If I'll use HTTP Destination as Adressing Type but the HTTP Destination will not set.
I think the "TServerLocation" Property don't work for the HTTP Destination, but I don't find a Property in:
Configuring the Receiver SOAP Adapter - Advanced Adapter Engine - SAP Library
My Questions
Did someone know the coresponding property name for HTTP Destinations instead of "TServerLocation"?
Are there other Solutions to set the HTTP Destination dynamicaly, for Example with variables %my_http_dest% ?
How can I set my own variables %my_http_dest% in my Adapter Module?
Background
We have a lot of Destinations and a lot of Szenarios and won't create a SOAPReceiver and Routing for each Destination in each Szenario.
The Destination depends on a HTTP Header Parameter from Sender, I'll map this Parameters to the coresponding HTTP Destination in the Adapter Module, that's the same Mapping for all Scenarios. To keep the performance, I cache this Routing Table in the Adapter Module.

Here's a way to misapplay "mesage:{var}" variables:
SAP NetWeaver XI: Variable Substitution with Adapter-Specific Message Attributes via DynamicConfigurationBean
But it is a dangerous solution, I think we use URL-Adressing in place of HTTP Destination

Similar Messages

  • Using a HTTP destination through a HTTP proxy

    Hi there!
    I have written a Web Dynpro application that connects to a web service using a web service model. The request is configured to use a HTTP destination by means of the _setHTTPDestinationName() method. I configured the HTTP destination in the visual administrator and it uses Logon ticket to authenticate.
    All this works perfectly in my test environment. Unfortunately in my production environment the web service must be accessed through a HTTP proxy and I could not find where to configure the proxy settings for HTTP destinations.
    I found some information about "open a transaction in SICF" an so on which doesn't help me because I have no ABAP client.
    I found some information about configuring proxies in the NWA but this does not seem to apply to my NW version, wich is 2004 SP16.
    Any clues?
    Thanks in advance.

    Hi Olivier,
    thank you for your reply.
    Is there really a possiblity to configure a proxy for any given HTTP Destination in ABAP? Because if there is, I cannot believe that there is no equivalent in Java. As there is no such a thing as a HTTP Destination "for ABAP" and a HTTP Destination "for Java", what would happen if I used the HTTP Destination with proxy settings created in ABAP for my Java program?
    There is another way to use a proxy which I found by analysing the generated Java classes of my web service model. You can do the following:
    SomeServiceImpl service = SomeDMSModel.getServiceImpl();
    service.setHTTPProxyResolver(new HTTPProxyResolver() {
      HTTPProxy proxy;
      public HTTPProxy getHTTPProxyForHost(String host) throws RemoteException {
        if (this.proxy == null) {
          this.proxy = new HTTPProxy();
          this.proxy.setProxyHost("proxy.company.com");
          this.proxy.setProxyPort(1234);
        return this.proxy;
    This is NOT a good way to do it, as it transfers a portal administration task to the programmer, but it shows that the functionality is present in Java.
    So I haven't given up on finding where it has to be configured...
    Edited by: Robert Rodewald on Jan 18, 2008 11:01 AM

  • Need to post to HTTP destination with a dynamic URL

    I have a working interface that posts to a static URL using an HTTP via an SM59 connection.
    however i now need to do something similar, but use a dynamic field from the data to post as part of the url...
    so it will be something like...
    http://host.fqdn:port/path/goes/boldfield1bold/here/to/remove
    field1 being a variable in my xml.
    i guess i post to a URL with URL Address instead of HTTP destination, and i can use the header fields in adapter specific message attributes... however i do not want to send the xml....  so do i have to map just the single field to my target xml?  how do i not send the xml as it is integrated within the URL?
    how do i add the field1 within the path:   /path/goes/boldfield1bold/here/to/remove into the options within the communication channel?
    does that make sense?

    Hi Barry,
    If I understood well, and you have one part of the target URL fixed, and the other one is going to be dynamic.
    You can use, as you said, the ASMA for HTTP adapter, and in the middle of the mapping you can create a simple UDF to create the URL. But as the result of that UDF, you just return the same value that you'd map if the UDF didn't exist.
    For example you can use a funcion "setURL" and you can have 2 inputs: "url" and "companyname", but you just return "companyname" that is the value that really has to be mapped.
    I hope this helps you.
    Juan.

  • HTTP receiver adapter: dynamic configuration

    I was told that if I have a URL and some parameters, I can use a sync HTTP receiver adapter to call a site.
    I know this can be done using some kind of dynamic configuration, but I am not familiar with this adapter.
    The most important question here is that I need to know if this can be done throw PI, so my question is:
    Is there a parameter limit in the HTTP adapter? If so, what is the quantity of parameters that I can give to the adapter?

    for the ASMA parameters you can use for the HTTP receiver adapter check
    Configuring the Receiver Plain HTTP Adapter - http://help.sap.com/saphelp_nw04/helpdata/en/43/64dbb0af9f30b4e10000000a11466f/frameset.htm

  • Missing Message Attributes: URL/HTTP Destination

    Hello,
    following scenario:
    There is a sync. interface between SAP PI ante the Paypal API within the HTTP adapter calling a dynamic URL.
    The dynamic URL is created as mentioned in this blog: http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/7264. [original link is broken]
    Also the HTTP adapter is configured as described (Adapter Specific Message Attributes and URL are flagged).
    Following error occours when testing the call:
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIAdapter</SAP:Category>
      <SAP:Code area="PLAINHTTP_ADAPTER">ATTRIBUTE_MISSING_URL</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:Stack>Dynamic Header - Missing Message Attributes: URL/HTTP Destination</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Is there sth. special I have to consider in the HTTP Adapter?
    Thanks in advance,
    André

    Hi Michal,
    I´m passing the URL to the attribut "TargetURL" by using a UDF in my mapping.
    In the adapter I have flagged "URL".
    So the value of TargetURL set in mapping shoul be used as destination in the adapter.
    Please have a look onto my UDF used in MM:
    http://img408.imageshack.us/i/udf.jpg/
    Adapter settings:
    http://img691.imageshack.us/i/adaptersetting1.jpg/
    http://img339.imageshack.us/i/adaptersetting2.jpg/
    How can I check that the TargetURL is successfully set as a dynamic parameter?
    Thanks,
    André

  • Getting an error in Dynamic Configuration

    Hi Guys,
    I need to dynamically post the file into different directories based on the file in the source payload.
    In Receiver File Communication Channel
    Target Directory : *
    Filename : *
    Checked the ASMA Attributes for filename and directory
    Iam refering this weblog
    /people/william.li/blog/2006/04/18/dynamic-configuration-of-some-communication-channel-parameters-using-message-mapping
    In the mapping
    <filename> ---> UDF --> topnode of target message.
    My UDF is as below
    public String Directory(String a,Container container){
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key  = DynamicConfigurationKey.create( "http://sap.com/xi/XI/System/File", "FileName");
    DynamicConfigurationKey key1 = DynamicConfigurationKey.create( "http://sap.com/xi/XI/System/File", "Directory");
    String FileName = conf.get(key);
    FileName = a;
    conf.put(key, FileName);
    String Directory = conf.get(key1);
    Directory = "/SAPInterface/XI/PPD/DHX/out";
    conf.put(key1, Directory);
    return " ";
    But in runtime(moni) iam getting  error as
    com.sap.aii.af.ra.ms.api.MessagingException: The Adapter Message Property 'FileName' was configured as mandatory element, but there is no 'DynamicConfiguration' element in the XI Message header: com.sap.aii.adapter.file.configuration.DynamicConfigurationException: The Adapter Message Property 'FileName' was configured as mandatory element, but there is no 'DynamicConfiguration' element in the XI Message header
    Please suggest me how to correct this.
    Thanks
    Srinivas

    Hi Srinivas,
    You said you are having dynamic directories to post the file. But I see you hardcorded or put constant for directory which is /SAPInterface/XI/PPD/DHX/out. I think you need to put //SAPInterface/XI/PPD/DHX/out.
    Try this in udf:
    public String Directory(String a,Container container){
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key  = DynamicConfigurationKey.create( "http://sap.com/xi/XI/System/File", "FileName");
    DynamicConfigurationKey key1 = DynamicConfigurationKey.create( "http://sap.com/xi/XI/System/File", "Directory");
    String FileName = conf.get(key);
    FileName = a;
    conf.put(key, FileName);
    Directory = "//SAPInterface/XI/PPD/DHX/out";
    conf.put(key1, Directory);
    return " ";
    Put FileName and Directory in file name and directory paramters in receiver communication cahnnel and cehck.
    Regards,
    --Satish

  • Acces dynamic configuration variable (e.g. filename) in ABAP mapping class

    Hi experts
    I am searching for a possibility to acces a dynamic configuration variable (DCV) in an ABAP mapping class. Since I could not find a solution in SDN and other sources, I hope somebody in this forum can help me.
    What I already found is the following code which can be used to set a DCV, but what I would be interested in is how to read a DCV.
    Any help is appreciated.
    Markus
    METHOD if_mapping~execute.
    DATA l_record type mpp_dynamic.
    * copy payload
    result = source.
    * add an adapter specific attribute
    l_record-namespace = 'http://sap.com/xi/XI/System/File'.
    l_record-name = 'FileName'.
    l_record-value = 'test.xml'.
    dynamic_configuration->add_record( l_record ).
    ENDMETHOD.

    Hi Markus,
    you can find everything in my blogs
    /people/michal.krawczyk2/blog/2007/04/26/xipi-throwing-generic-exceptions-from-any-type-of-mapping
    Regards,
    michal

  • Dynamic configuration required in sender file - Adapter Module

    Hi Everybody,
    I am developing an Adapter Module in the file adapter (sender) using Adapter Specific Message Attributes.
    I am using Dynamic configuration inside the Module Process method in the adapter module.
    We are getting an error saying Dynamic Configuration cannot be resolved.
    Can anybody tell me the package to be used.
    Thanks,
    Zabiulla

    You can access the dynamic configuration in adapter module like this:
    Message msg = (Message) inputModuleData.getPrincipalData();
    String fileName = msg.getMessageProperty("http://sap.com/xi/XI/System/File", "FileName");
    You do not need any addition library besides the adapter module API.
    Hope that helps
    Stefan

  • Error in SXI_CACHE and reading HTTP destination: INTEGRATION_DIRECTORY_HMI

    I have been going over many posts etc trying to figure out why this quit working. Basically everything was working fine, and I did a Integration Process Scenario and uploaded that, once that was complete I started getting cache errors that where affecting everything else already configured in XI.
    I have tested in SM59 INTEGRATION_DIRECTORY_HMI and when I put in path
    /dir/hmi_cache_refresh_service/ext I get back a 200 response on connection test
    and put in path /dir/cacheRefresh I get a 500 response which I assume both are fine,
    I have also tested by the ping test in sicf using PIISUSER along with the url test of http://<host name>:<port>/dir/hmidiag/ext?method=info all was successful
    So the error seems to come when I run sxi_cache
    If I do a delta cache it comes up with the following error Prefix number: entry missing for system PIT client 300
    If I do a full cache refresh it runs in the background (and while it runs all the other scenario's work) but after the full cache comes back it has Unable to refresh cache contents with the message of Error when reading HTTP destination: INTEGRATION_DIRECTORY_HMI.
    Also once this error is checked all other scenerio's quite working again with the following message
    XIServer:UPDATE:Error when reading HTTP destination: INTEGRATION_DIRECTORY_HMI
    Does anyone have any ideas?
    I def award points
    Cheers
    Devlin

    Hi,
    I don't know if this is the exactly case we have here... but in our PI DEV and PRD environments it does not happen. In our QAS environment this error occurs everytime we create/change some integration scenario object and activate it. Then, all outbound interfaces start with this error. To solve it we go for a full refresh, delete Adapter Engine cache and restart ICM.
    We are trying for a long time to search why this happens only on QAS environment without success... But thanks good it does not happen in PRD
    regards.
    roberti

  • How to find out the HTTP destination of the Integration Server

    Hi,
    during the technical configuration of the exchange infrastructure the HTTP destination of the integration server was specified. Unfortunately I don't know this destination and need it now to configure the Business Systems as the Local Integration Engine. I read in the SAP library that the destination consists of the following:
    Target Host,
    Service No. (HTTP or HTTPS port) and
    Path Prefix (path in the HTTP service tree of the SAP NetWeaver AS) which is /sap/xi/engine?type=entry
    But when I type in the corresponding address (e.g. http://ccc60:4444/sap/xi/engine?type=entry) I got a message that the requested resource does not exist.
    How can I find out this destination?

    Hi Marc,
    Is your server name the complete qualified name?.
    You can get this from SMICM>Goto>parameters-->Dispay
    Parameter: icm/host_name_full
    HTTP port name: SMICM>Goto>service.
    Regards
    Vijaya

  • Dynamic Configuration File Names

    Hi,
    I have a RFC->XI->File scenario.
    I have to put the target files names based on the calculation of values in 2 fields in the input.
    I tried using Dynamic Configuration in my message mapping for this.
    This is the code:
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create(u201Chttp://sap.com/xi/XI/System/Fileu201D,u201CFileNameu201D);
    String MyFileName = a + "_" + b +".xml";
    conf.put(key, myFileName);
    I checked ASMA in both the sender RFC adapter as well as the receiver file adapter.
    But it never works.
    I saw the dynamic configuration tab in SXMB_MONI but i can see only the RFC destination parameter.
    Cant see the file filename parameter.
    What is the problem here?

    No need enable ASMA on RFC sender adapter.
    See if the file channel is activated after selecting ASMA with FileName.
    The UDF might not be use in the mapping. Check this.
    Edited by: Praveen Gujjeti on Feb 23, 2010 1:05 AM

  • File name cant be fetched from Dynamic configuration...mutli-mapping used

    In a scenario, i have a BPM which has a transformation step which contains a mutimapping ...means 2 messages mapped to 1 messgaes, here in the mapping i m using an UDF and written code to extract the file name from dynamic configuration.....
    the problem is ...the same BPM contains another transformation step which contains a message mapping (which is not multi mapping), and here the code (UDF) works to fetch the file name...
    the code is all correct....and it looks like
    DynamicConfiguration conf = (DynamicConfiguration)
    container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    String sourceFileName = conf.get(key);
    if (sourceFileName == null ){
    sourceFileName = "ErrorFile.xml";}
    return sourceFileName;

    Hi,
    Yes u r correct it will show error in operation mapping.. bcoz u cannot check the DynamicConfiguration in Operation mapping...
    It will throw Exception..
    The parameter to UDF depends on ur requirement.... Let us know ur requirements exactly...
    If u r doing for file to file means no UDF required,, just check ASMA on both sides....
    Babu

  • 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

  • Problem facing in Dynamic configuration in SAP PI 7.3

    Hello,
    I am doing dynamic configuration in sap pi 7.3. I am using the following UDF.
    String devFileName="'a.vc'";
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey FileName = DynamicConfigurationKey.create("http:/"+"/sap.com/xi/XI/System/File","FileName");
    conf.put(FileName, devFilename);
    I am using this UDF in message mapping and mapped this UDF in the message header.
    I have selected the adapter specific message attribute in receiver communication channel also.
    Still I am getting the folowing error.
    MP: exception caught with cause com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.aii.adapter.file.configuration.DynamicConfigurationException: The Adapter Message Property 'FileName' was configured as mandatory element, but was not supplied in the XI Message header
    Exception caught by adapter framework: The Adapter Message Property 'FileName' was configured as mandatory element, but was not supplied in the XI Message header
    'Transmitting the message to endpoint using connection File_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.aii.adapter.file.configuration.DynamicConfigurationException:  The Adapter Message Property 'FileName' was configured as mandatory element, but was not supplied in the XI Message header.
    Please help me what to do.
    Thanks & Regards,
    Moumita

    Hi, try this code:
    String devFileName="a.vc";
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    conf.put(FileName, devFilename);
    ASMA checkbox and respective parameter should be enabled in the required Adapter.
    Best Regards

  • Dynamic configuration for PI 7.1 in mapping for file adapter

    Hi Experts,
    I have used the code below to use dynamic configuration in PI 7.1, but it isnt working..
    http://help.sap.com/saphelp_nwpi71/helpdata/en/43/03612cdecc6e76e10000000a422035/frameset.htm.
    it shows the file name in the dynamic configuration in the sxmb_moni...
    but hen i chekc it  in operations mapping..it shows dynamicconfiguration has to be in queue ..
    has ne one used it before??
    I used a simple UDF to create it without any input parameter and I mapped it to a field n the target side...
    has ne one faced a similar situation????
    Regrads,
    Tauseef

    Hi,
    Yes u r correct it will show error in operation mapping.. bcoz u cannot check the DynamicConfiguration in Operation mapping...
    It will throw Exception..
    The parameter to UDF depends on ur requirement.... Let us know ur requirements exactly...
    If u r doing for file to file means no UDF required,, just check ASMA on both sides....
    Babu

Maybe you are looking for

  • Server 2012 - Problem with multiple instances of RDS looking to the same license server. Server Pools requiring the wrong servers.

    Hi All, I have two domains, prod.local and test.local.  On prod.local, I have a license server living on the connection broker.  I have created a two way trust between the domains so that the RDS instance on test.local can use the license server on p

  • Data input in forms

    Hi, In our data form,we are having a member of percntage type. Percentages values are displayed correctly but input has to be done in values between 0 and 1. Is there a way to input the % values between 0 and 100? As an example,if we want to input 50

  • Terminal name

    Hi, we are using oracle 10g, My query is that One user created one table in database 2 month back, now I want to know the terminal name from which that table was created. Can anybody please suggest how to check terminal name for that table in oracle.

  • Change Management Package

    Hello All, I am looking at the Oracle Change Management package and I see the overall process of baselines, comparisons, and synchronizations. I thought in a previous version I was able to put in my own DDL (like an ALTER TABLE) and make that part of

  • Changing font to a custom font - styleddocument

    hello i've been trying to change the font in a styleddocument to a custom one that is not registered on the pc (i'm trying to make an application that holds the fonts in a folder, so that they can be dynamically loaded when needed) until now nothing