Receiver SOAP - How to set URL at runtime?

I have configured a Receiver SOAP adapter for sending a cXML message to a vendor in no-soap, keep-headers mode. If I want to extend this to other vendors, I want to set the target URL at runtime. In order to do this, I am able to set the TServerLocation in the Mapping. But in the communication channel, I am not able to select this indicator. I am able to select the 'Use Adapter specific message attributes' and 'Variable Transport Binding' indicators but thats it. I am not displayed any form for selecting the target URL as the field to substitute during runtime. I am using SAP Basis 7.00 for the Adapter Metadata. Does anybody know a work around or patch I need?

Hello James,
I don't know whether this question is still open, but I have faced the same problem now, so here is my solution:
It is right, that the "Target URL" field has to be filled with some "dummy" value to be able to save+activate the communication channel.
In any other communication channels (e.g. like file adapter) you can fill in the <dummy> value. But at the SOAP receiver it doesn't work.
Instead of <dummy>, if you fill in a real URL address, it will always take it instead of the dynamic one.
My solution is, to fill in only the "http://" value, and it will take your dynamic URL from your UDF. (from the variable TServerLocation)
I hope it helps!
Best regards,
Andras

Similar Messages

  • Receiver SOAP Communication channel -- Target URL

    Hi Experts,
    Can anyone provide some inputs for my below question?
    How the receiver SOAP Communication channel internally calls the Target URL?
    What is the internal process behind this call?
    I would really appreciate you all if could provide answers.
    Thanks & Regards,
    Prabu Muthu

    Hi...
    To be able to send SOAP messages from the Integration Server/PCK to remote clients or Web service servers, you must first configure the receiver SOAP adapter. The receiver adapter supports system acknowledgments but not application acknowledgments
    Find the below link .
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/40611dd6-e66e-2910-f383-e80fb44f9cd4
    Regards,
    Leela

  • How to Set URL-Based Session Tracking to No

    Dear BSP Gurus
    I am fairly new to BSP applications, but I am getting an error which goes "BSP exception: Access to URL /sap(bD1lbiZjPTEwMCZkPW1pbg==)/bc/bsp/sap/crm_ui_frame/ is forbidden" and notice some say they solved it by Setting URL-Based Session Tracking to No, so my question is how do I do that.
    Unless off course there is another way to solve my problem. Would greatly appreciate it.
    Awaiting your favorable response

    Hey Raja and Rajani
    I actually activated all the applications below SAP->BC->->SAP-> **(Application)*->  but still I am getting that error.
    When I then test the individual applications I get errors like
    "BSP Exception: Das Objekt default.htm in der URL /sap/bc/bsp/sap/bp_cont_main/default.htm?sap-client=100&sap-sessioncmd=open ist nicht gültig"
    I really have run out if ideas, I need your assistance, initially I thought it cd be the logical link coz the work centres appear fine then I tried to assign even standard business roles, its giving the same error.
    What do I do now?

  • How to set log4j at runtime

    Hi,
    I am using log4j and want to take the logfile name as a command line argument.
    Can anyone help as to how to set the properties which are done statically in log4j.propreties file....
    I tried
    logProperties.setProperty("log4j.appender.ROOT", "org.apache.log4j.RollingFileAppender");
    logProperties.setProperty("log4j.appender.ROOT.File", fileName);
    logProperties.setProperty("og4j.appender.ROOT.layout", "org.apache.log4j.PatternLayout");
    logProperties.setProperty("log4j.appender.ROOT.layout.ConversionPattern", "%d{ISO8601} - <<<<< [%F][%M] %m >>>>>%n");
    but that doesnot seem to work...as the log file itself is not created.
    ANyone help is appreciated...
    This topic has no replies.

    Hi,
    I am using log4j and want to take the logfile name as a command line argument.
    Can anyone help as to how to set the properties which are done statically in log4j.propreties file....
    I tried
    logProperties.setProperty("log4j.appender.ROOT", "org.apache.log4j.RollingFileAppender");
    logProperties.setProperty("log4j.appender.ROOT.File", fileName);
    logProperties.setProperty("og4j.appender.ROOT.layout", "org.apache.log4j.PatternLayout");
    logProperties.setProperty("log4j.appender.ROOT.layout.ConversionPattern", "%d{ISO8601} - <<<<< [%F][%M] %m >>>>>%n");
    but that doesnot seem to work...as the log file itself is not created.
    ANyone help is appreciated...
    This topic has no replies.

  • How to set url

    HI,
    i have a problem regarding setting url for my website. i have developed my application using mysql, jsp and apache tomcat,
    my problem is that when i enter my url like http://ali.aftab.net it redirects to like http://117.89.99.11/
    (ip is just for help not real) and after that i have to enter like http://117.89.99.11/khan/login i don't want to enter /khan/login
    please tell me what is the problem.
    thanks

    aftab_ali wrote:
    my problem is that when i enter my url like http://ali.aftab.net it redirects to like http://117.89.99.11/
    This can have 2 possible causes:
    1) This is a configuration setting of the domain name provider. Consult their support team.
    2) You're using absolute IP Addresses in links in your JSP pages and you have a welcome-file which redirects to the absolute IP.

  • How to set database information runtime with delphi 2007 vcl11

    hi
    i'm trying to set database information runtime. I'm using mssql express 2005 and doing the following to set database information at runtime.
    for x  := 1 to crpe1.Tables.Count do
    begin
      crpe1.LogOnInfo.Items[x].ServerName := server.text;
      crpe1.logoninfo.items[x].DatabaseName := database.text;
      crpe1.logoninfo.items[x].UserID:=username.text;
      crpe1.logoninfo.items[x].Password := pass.text;
    end;
    is above code correct to set the database information?
    Thanks in advance,
    Parv

    hi all,
    i resolved it somehow. thanks.
    Parv

  • HELP: How to set WSDL at runtime (in Flex 4)?

    Hi,
    My flex application needs to communicate with a Web Service whose location is not known until after deployment; the service's location is known and static during development.  This means that my application should be able to communicate with the service whose wsdl url will be different from the "wsdl" value embedded in the Flex-generated code. 
    I can compute the wsdl url of the deployed service in the application at runtime.  However, I am unable to get the application to talk to the service running at the new location.
    Specifically, in application_creationCompleteHandler(), I do:
    var wsdl:String = hostString+"axis2/myService?wsdl";
    myWSvc = new MyWSvc(wsdl);
    In the constructor of MyWSvc(), which is the subclass of the auto-generated class for the My Web Service, I do:
    public function MyWSvc(runtimeWSDL:String=null) {
         super();
         if (runtimeWSDL != null) {
              wsdl = runtimeWSDL;
              _serviceControl.loadWSDL(wsdl);
              //model_internal::loadWSDLIfNecessary();
    This does not work; the auto-generated code always uses the WSDL value embedded in the auto-generated class for the My Web Service. 
    I would greatly appreciate your expert help in solving or getting around this issue.
    Much thanks,
    --Hyong

    Here is what I did.
    I set the settings for each environment in separate settings.xml files in SVN under seperated directories (dev,qa,prod).
    Here is the syntax of the settings.xml files. Each will have its respective URLs.
    <flex-config>
    <compiler>
        <define>
            <name>CONFIG::webServiceURL</name>
            <value>'http://www.xxxxxx.com/webservice_test/echocf7remote.cfc?wsdl'</value>
        </define>
    </compiler>
    </flex-config>
    The deploy.sh script asks for the environment value (dev,qa or prod) among other params, and then passes that in to the Ant like this (note there are extra params for our setup):
    ant -v -f build.xml -Dprojectname=${PROJECTNAME} -Dbranchname=${BRANCHNAME} -Dversion=${VERSION} -Denvironment=${ENV} -Dbuilddir=${BUILD_DIR} >> ${LOG_FILE}
    These params are used inside the build.xml
    After the Ant script checks the code out from SVN in to a staging directory, we load the proper settings.xml from the proper directory based on the user specified environment (in the deploy.sh).
    <load-config filename="${staging.conf}/${settings.conf}/${environment}/settings.xml"/>
    ${staging.conf} is defined in the build.properties and ${environment} is passed in the Ant call in the deploy.sh based on user provided input.
    So if the user specifies 'dev' during the deploy.sh execution, then we would load the /build/staging/config/dev/settings.xml
    Then in the pre-generates stabs I set the var at the top:
    private static const wsdlURL:String = CONFIG::webServiceURL;
    and modify the code bellow from hardcoded:
    //wsdl = "http://www.xxxxxx.com/webservice_test/echocf7remote.cfc?wsdl";
    to using the var:
    wsdl = wsdlURL;
    The nice thing is that all of the settings.xml 's are stored in the SVN and the correct version is used based on the environment provided by the user input during deployment script execution.
    Perhaps there is a more elegant way of doing this but this works and we already use Ant, SVN and a deployment shell script so it fits right in for us.

  • How to set url in .jhm file to open specific table of content for javaHelp

    Hi,
    I need help on to set the url for mapping JavaHelp
    Inside my JavaHelp content, i used to have a main topic and sub topic, for example:
    1.0 Mathematics
    1.2.1 Algebra
    in map.jhm file. how can i try to link direct to 1.2.1 Algebra?
    example link in my map.jhm
    <mapID target="MATHS" url="MATH/MATHEMATICS.html#1.2.1. ALGEBRA" />
    but cannot directly point to the MATHEMATICS.html#1.2.1. ALGEBRA. it go straight to MATHEMATICS.html
    really appreciate any help on this
    Thanks
    Regards
    Aznimah

    No, you can't use this for pagination on a desktop device.
    Check out http://andrejusb.blogspot.de/2011/05/oracle-adf-11g-custom-table-pagination.html
    Timo

  • How set Url path in include .css or .js

    Dear Pakar
    i have .css with content below
    #pageWrapper {
         /*background: #5b93cc;*/
         background:#999999;
         background-image:url(/image/background.jpg);
    how to set url directory in apex style directory ?
    Thanks
    Imansyah

    Hello Imansyah,
    If the JPG is on your application server in the (virtual) /i/ directory (referencing the /images/ directory of APEX), you should try:
    #pageWrapper {
    /*background: #5b93cc;*/
    background:#999999;
    background-image:url(/i/background.jpg);
    }Regards,
    Roel
    http://roelhartman.blogspot.com/
    http://www.bloggingaboutoracle.org/
    http://www.logica.com/

  • Problem setting up separate runtime environment on OWB 11g

    We're trying to set up an environment similar to this: [Split Repositories Implementation|http://download.oracle.com/docs/cd/B28359_01/owb.111/b31280/reqs01.htm#BGBIHAHE]
    The server OS is Windows Server 2003 x64 ed, database version is 11.1.0.7
    The database/warehouse server was installed with a single database where the default design repository is installed. There is a "control center service" running on the default instance.
    We're running OWB clients on separate XP workstations and are able to access the minimal default design repository.
    We've set up another database on the same server, this one is to be used for the runtime environment, as described in the references Oracle diagram referenced above.
    However we're not able to find much useful documentation on how to set up the second database with the runtime environment and control center service.
    Whenever we try to dig deeper into the Oracle documentation, we always end up with hints on how to set up a "remote runtime" on a server without database. This is not what we want to achieve.
    A simple step-by-step guide on how to set up a runtime control center repository with audit tables & packages in a database separate from the design repository database is very difficult to find.
    Is there anyone who've succeded in doing this that could give us any information on how to implement it?
    Regards,
    -Haakon-

    Thanks again Oleg.
    I've now managed to configure up a separate runtime target environment in addition to our design environment.
    For others who might struggle with this; here's what I did:
    - log on to the Windows server console
    - open a command window
    - set ORACLE_SID to the newly created runtime target database
    - set ORACLE_HOME
    to same home as previous OWB default home installation (initial design database)
    - run >sqlplus "/as sysdba"
    - run %OWB_HOME%/owb/UnifiedRepos/clean_owbsys.sql
    to remove all previous OWBSYS setup
    - edit %OWB_HOME%/owb/UnifiedRepos/cat_owb.sql
    and comment out the 'LOCK USER OWBSYS' statement at the end, then run the script
    - run %OWB_HOME%/owb/UnifiedRepos/reset_owbcc_home.sql : this will prompt for "the full path of the Oracle home for the OWB Control Center install:"
    . Enter your '<drive>:\Oracle\product\11.1.0\db_1\owb'
    - after running reset_owbcc_home.sql one needs to set a known password on the OWBSYS user:
    ALTER USER owbsys IDENTIFIED BY password
    - finally run the Repository Assistant locally on your server and set up a new repository workspace in the new database. This time (after running the above sql-scripts, the Assistant did not crash halfway through).
    We're now able to create a new Control Center from the OWB client installation and deploy tables & mappings and execute mappings on the runtime target system.

  • Error when setting dynamically the target URL in receiver SOAP Adapter

    Hi,
    I'm setting dynamically (from the mapping) the target URL in the receiver SOAP adapter:
    String url = "http://mosxd30:50000/XISOAPAdapter/MessageServlet?senderParty=&senderService=DUM&receiverParty=&receiverService=&interface=SI_OA_CustomInvoiceData&interfaceNamespace=urn:repsol.com:laboratory:firma";
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/SOAP", "TServerLocation");
    conf.put(key, url);
    The receiver adapter fails with:
    "invalid content type for SOAP: TEXT/HTML; HTTP 401 Unauthorized"
    Reading weblogs, etc, the most probable cause for this is a wrong target URL, but then what I did was to set it as a fixed URL in the C.Channel, and it worked, so the URL is fine.
    In the communication channel, I'm using "Configure user authentication", with a user and password, and what I think it's happening is that if I use another different URL dynamically, the channel is ignoring the user authentication settings.
    Any ideas?
    Thanks

    I forgot to say that I've checked the SAP note "FAQ Soap adapter", and it says:
    Q: I get an authorization error "401 Unauthorized" from the adapter's servlet. What went wrong?
               A: The adapter's servlet is protected by default. You must use one of the user names assigned in security role xi_adapter_soap_message for component XISOAPAdapter. Please consult the documentation for Visual Administrator to view and change the security setting.
               The user authentication of the SOAP adapter is not part of the SOAP adapter but of the web container of the J2EE engine. The default authentication setting is defined in the web.xml descriptor file of the SOAP dapter web application. This setting may be modified from Visual Administrator with some restriction. Please refer to the security documentation for the J2EE engine.
               Please note that 710 onwards there is no Visual Administrator instead the Netweaver Administrator is to be used to assign the roles to the user to access the SOAP adater servlet.The user must be assigned one of the following roles SAP_XI_IS_SERV_USER, SAP_XI_APPL_SERV_USER, SAP_XI_DEVELOPER_J2EE, SAP_XI_ADMINISTRATOR_J2EE.
    The target URL is a sender soap adapter (the result of one interface is sent to another one via soap adapter), and it's this one which is complaining because of the authentication I think. But I don't know why it's ignoring the user authentication flag I'm using.

  • SOAP receiver: configure URL on runtime

    Hi experts:
    I have an RFCs --> XI --> SOAPs scenario. The URLs for SOAPs are always like "http://server:port/directory/xxxxxxx" and only changes "xxxxxxx". The user/passord is the same for all URLs.
    My question:
    There is some way to configure dynamically the URL? I have tried to use DynamicConfiguration but I must write all the URL in each (java) mapping. Server and port will change when I transport to the productive systems so I'm interested in maintaining the basis URL on the communication channel by adding the last part dynamically
    Thanks

    Valero Lázaro wrote:
    > My question:
    > There is some way to configure dynamically the URL? I have tried to use DynamicConfiguration but I must write all the URL in each (java) mapping. Server and port will change when I transport to the productive systems so I'm interested in maintaining the basis URL on the communication channel by adding the last part dynamically
    >
    > Thanks
    use dynamic configuration itself.
    in your case you will have different values for different env. i.e Dev, Qa and PRD so in the code you can check what is the current sap system (based on SID) and write the logic
    ex.
    // Assume XID is Dev, XIQ is QA etc
    String sysName = (String) System.getProperty("SAPSYSTEMNAME");
    if(sysName.equals("XID"))
    //your logic here
    else if(sysName.equals("XIQ"))
    //your logic here
    else
    // your logic
    the above code will help you get the SID and based on it you can set the url via dynamic conf.

  • WSDL url for sender and receiver SOAP adapter

    Dear Experts,
    I am working on SOAP --> SAP PI --> SAP ECC synchronous scenario. That means I have to create 2 Cc for SOAP i.e. Sender as well as Receiver adapter. I am responsible for creating the Request as well as Response structure in SAP PI. The sender application team is dependent on me to get the WSDL file.
    Please provide the suggestions on the below.
    Sender SOAP adapter.
    1. I will create the WSDL from Sender Aggreement. How to get the url and what is the navigation step? Should I provide the    same url to sender application team to call the service.
    Receiver SOAP adapter:
    2. In the receiver SOAP adapter , Should I have to get the web service parameter of the sender application. As mentioned , I am creating the response structure as well. That means I can not import the WSDL from the sender application. How to get target url in the receiver SOAP Cc.
    I refered to the forum SOAP SENDER - test in soapui but its not clear.
    Regards
    Alice Rebecca
    Edited by: Alice@xi on Dec 20, 2011 5:48 PM

    Dear Bhaskar,
    For synchronous scenario
                                                                Request
    MS Application (SOAP)<--> SAP-PI <--
    > SAP ECC.
                                                                                    Response
    I am creating the Request as well as Response structure in SAP-PI and its agrreement for both
    the ways.
    So for the MS appl team, I will give the WSDL url from the sender agreement to make the request to SAP-ECC.
    Now for receiving the response from SAP ECC, from where I should find the value to enter in the target url of SOAP
    receiver channel.
    1.Should I take the target url value from the MS Application team?
    2.How to know whether  the MS Application or SAP ECC is hosting the web service?
    Regards
    Alice

  • How to set up use of relative URLs for a BSP application

    Dear all,
    I need to access a BSP application through our external portal.
    This is failing because generated URLs are absolute URLs (they mention physical server name, not known of course on the internet) where they should be relative URLs (they use external portal URL as prefix).
    How to set this up?
    I'm logged on http://myportal.com/irj/portal and want to call a BSP application. To build this page, my internet client (Internet Explorer) tries to get elements from the server. Looking at HTTP trace, I can see that my IE is trying to reach the physical server, not known on internet of course, then page loading fails.
    Ex absolute URL : http://myservername.domain.com/sap/bw/[...]/image1.gif
    This is the behavior I can see at the moment.
    Relative URL : http://myportal.com/sap/bw/[...]/image1.gif
    This is what I'd like to see.
    Many thanks in advance for your help.
    François

    Any idea ?

  • How to set dynamic host name in the URL of a URL iView?

    Hello,
    I am using a standard URL iView that points to some J2EE app I've written and deployed on the same server.
    I would like to set the host name to be a dynamic one, this way I won't need to change the iView URL when transporting it from one portal to another. As far as I know the system for a URL iView only controls authorizations but cannot replace the full URL set in the iView.
    Any idea who can this be achieved?
    Roy

    Hi Mrityunjay,
    forced URL at runtime will require me to call the URL iView from another iView that I will need to code (setting the URL in the Request object). If I did all this I might as well call it from this iView already.
    I would like to do it with no further developments. I would have thought that SAP has constants that can be plugged in the URL for this type of thing, i.e. $hostname...
    Rgds,
    Roy
    Edited by: Roy Cohen on Aug 21, 2008 4:03 PM

Maybe you are looking for