System-independent (and transportable) web service

Hello,
I would like to use a web service in my Interactive Form. Therefore, I created an RFC function module and created the corresponding web service. Then I launched SOAMANAGER to get the URL of the WSDL file, copy it, changed it a bit (removed the last part: "?sap-client=100", otherwise Adobe LiveCycle Designer would not accept it) and pasted into the "New Data Connection" dialog box in ALCD.
But this URL is system-dependent (begin with the development system hostname). So, once transported to other systems (integration, quality or production), it won't work anymore.
So, my first question is: how to make it system-independent?
My second question is: how to transport web services?
Thanks in advance.
Mathieu

Hi,
Sorry for the late reply. It was tricky, but I finally found out how to make it system independant. It was really tricky to make it work fine, so here is the solution:
1) The Web Service URL will have to be an entry parameter of the Interactive PDF. You can generate it this way:
  CONSTANTS: lc_http_protocol_id  TYPE icmproto VALUE 1,
             lc_web_service_name  TYPE string   VALUE 'my_web_service_name',
             lc_http              TYPE string   VALUE 'http://',
             lc_web_service_dir   TYPE string   VALUE 'sap/bc/srt/rfc/sap',
             lc_sep               TYPE c        VALUE '/'.
    CALL FUNCTION 'ICM_GET_INFO'
      TABLES
        servlist = lt_server_info.
    LOOP AT lt_server_info  INTO ls_server_info
                            WHERE active = abap_true
                            AND protocol = lc_http_protocol_id.
*                            AND hostname CS sy-host.
    ENDLOOP.
    IF sy-subrc EQ 0.
      CONCATENATE lc_http ls_server_info-hostname ':' ls_server_info-service INTO lv_web_service_url.
      CONCATENATE lv_web_service_url
                  lc_web_service_dir
                  lc_web_service_name
                  sy-mandt
                  lc_web_service_name
                  lc_web_service_name
                  INTO lv_web_service_url
                  SEPARATED BY lc_sep.
2) In the Interactive Form, use the following javascript code:
try {
     var urlObject = xfa.record.WEB_SERVICE_URL;
     var url = urlObject.value;
     var request = {};
     request["urn:sap-com:document:sap:soap:functions:mc-style:MyWebServiceMethod"] = {myParameter: 'My parameter value'};     
     var response = SOAP.request({
          cURL: url,
          oRequest: request,
          cNamespace: "urn:sap-com:document:sap:soap:functions:mc-style"
// get the response values
     xfa.record.MyValue.value = response["urn:sap-com:document:sap:soap:functions:mc-style:MyWebServiceMethod"]["MyResponseParameter"];
} catch (e) {
     xfa.host.messageBox(e.toString());

Similar Messages

  • SSO and ABAP Web Services

    I am opening this thread on behalf of my colleague Bala regarding SSO and ABAP Web Services.
    We have gone through single sign on options and found several options are available within 5.0.
    We would like to know the options available for SAP ABAP web services access from a Non-SAP system with user authorization but without Portal/ITS installation.
    Also I would like to avoid any hard coding of user id in Non-SAP system .
    Could you provide any information.
    Thanks,
    Bala

    We have gone through single sign on options and found several options are available within 5.0.
    Tell me what are the several options and what is your Non-SAP system?
    without Portal/ITS installation.
    ITS is now an integral part of ECC 5.0 system. So would not need a seperate installation, unlike earlier versions.
    AB

  • EBS11i to provide Web services and receive Web services

    Our corporate direction is to have all major systems internal has to communicate to each other using web services. No more using pl/sql, dblink, FTP to communicate.
    we are using EBS 11i.
    1) Is that possible to have our EBS 11i able to receive web service call and make web service call to other systems?
    2) Will 'Oracle AS Adapter for Oracle Applications' is the solution for this? is this adapter install at EBS box to receive web service call and make web service call to other systems?

    Hi,
    WebDynPro Java/ABAP are primarily User Interface technologies. Webservices are faceless (without UI ) components that provide certain functionality. Using UI technologies like WebDynPro Java/ABAP etc, we can build a face( UI ) to the webservices.
    DnyPro itself means a screen & WebDynPro is for building web based applciations.
    Hope this resolves your question.
    Well, if you still want to use it as provider & if you have an existing web-service, the way to do it is, Right click on your WebDynPro ABAP component & select CREATE->Service Call. Build a Custom Controller or use the Component Controller to get the service using service type = Webservice proxy for your webservice. You can use this Component as a Used component in any other webdynpro components & use this to access webservices.
    Thanks,
    Phani
    Edited by: Phani Rajesh Mullapudi on Oct 8, 2009 10:41 PM

  • JDeveloper and Database Web Service Connection

    Hi all,
    I'm trying to publish a Java class as a web service. However, I'm getting the following error for the sample code below. Please help me out pubish this class as a Web service.
    The error:
    No methods were selected. Select one or more methods to publish as a web service.
    My code is below:
    package hr;
    import java.sql.Connection;
    import java.sql.SQLException;
    import oracle.jdbc.pool.OracleDataSource;
    import java.sql.Statement;
    import java.sql.ResultSet;
    import oracle.xml.sql.query.OracleXMLQuery;
    import oracle.xml.parser.v2.*;
    public class DataHandler {
    public DataHandler() {
    String jdbcUrl = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
    String userid = "hr";
    String password = "mohammed";
    Connection conn;
    Statement stmt;
    ResultSet rset;
    String query;
    String sqlString;
    public void getDBConnection() throws SQLException{
    OracleDataSource ds;
    ds = new OracleDataSource();
    ds.setURL(jdbcUrl);
    conn=ds.getConnection(userid,password);
    public ResultSet getAllEmployees() throws SQLException{
    getDBConnection();
    stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
    ResultSet.CONCUR_READ_ONLY);
    query = "SELECT * FROM Employees ORDER BY employee_id";
    System.out.println("\nExecuting query: " + query);
    rset = stmt.executeQuery(query);
    return rset;
    }

    Dear dvohra16,
    Thank you for the great book you're recommended. It's really a powerful tool that makes things much better for me.
    I've noticed that you're the author of this book. I'm really honered to discuss with the problems I have and
    I'm so lucky to get your responses for my questions.
    My current question is based on this book. How do I orchestrate a web service that inserts into an oracle database table and a web service that reads
    the contents of that table?
    In other words, the first web service inserts some values into a table and the second should read these values.
    So, how does BPEL orchestrate these web service such that the output of the first one is the input of the second?
    Your assistance is truly appreciated.
    Thank you for your time.

  • Front End internal and external web services

    Hi all,
    Can someone explain the purpose of internal and external web services URL in front end server. what does it do and what is it used for? and why the external traffic goes directly to it and not through reverse proxy?
    Thanks,

    They're for multiple purposes.  Address books, autodiscovery, meeting urls, mobile clients, etc.  There are two because they respond slightly differently based on whether the client is internal or external.  External traffic should always reach
    it through a reverse proxy, that reverse proxy should proxy traffic received on port 443 to port 4443 on your front end pool.
    Please remember, if you see a post that helped you please click "Vote As Helpful" and if it answered your question please click "Mark As Answer".
    SWC Unified Communications
    This forum post is based upon my personal experience and does not necessarily reflect the opinion or view of Microsoft, its employees, or other MVPs.

  • Standard Web Service and Customized Web Services with or without PI?

    Hi All,
    I want to know how I can use Standard Web Service available in SAP  and customized Web Services
    without PI Interface?
    And what is the best practice to expose services ,via PI Interface or directly?
    Thanks in advance!!
    Pushkar

    This is purely based on your requirement. If you use PI middleware to expose web services, you get standard functionalities such as certificate authentication, logging, message reprocessing for the failed messages etc.  If your requirement is so simple, then you might not need PI. In this case you can develop simple webdynpro for abap program to create webservice and expose the webservice in ECC webservice runtime. You can let anyone to consume within your network. other ways like exposing BAPI/RFC as webservice.  I would recommend going with PI.

  • Timestamp Error when calling Encrypt and Signed Web Service

    Hello,
    I maked one Web Service in the Oracle Service Bus 10gR3 that supports Encryption and Sign, basically inserting (manually) this on WSDL Contract:
    This two namespaces:
    xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
    xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
    This Declarations:
    <wsp:UsingPolicy Required="true"/>
    <input>
    <wsp:Policy>
    <wsp:PolicyReference URI="policy:Encrypt.xml"/>
    </wsp:Policy>
    <soap:body use="literal" />
    </input>
    <wsp:Policy>
    <wsp:PolicyReference URI="policy:Sign.xml"/>
    </wsp:Policy>
    The above declarations was inserted in the correct points inside the WSDL Contract and the Web Service is working correctly.
    The Problem is related to Sign.xml declaration, when i insert this declaration:
    <wsp:Policy>
    <wsp:PolicyReference URI="policy:Sign.xml"/>
    </wsp:Policy>
    Then, the Web Service shows an error. Following the Request and Resonse (That shows the error):
    Request:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ger="http://www.abc.com.br/Service">
    <soapenv:Header/>
    <soapenv:Body>
    <ger:gerarHashSenha>
    <arg0>123456</arg0>
    </ger:gerarHashSenha>
    </soapenv:Body>
    </soapenv:Envelope>
    Response:
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Header/>
    <env:Body>
    <env:Fault>
    <faultcode>env:Server</faultcode>
    *<faultstring>Can not retrieve header: {http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}Timestamp</faultstring>*
    </env:Fault>
    </env:Body>
    </env:Envelope>
    Observation: I was invoking the WebService using the soapUI Tool.
    I Tryed change the request to bellow code, but doesn't work:
    <soapenv:Envelope xmlns:ger="http://www.abc.com.br/Service" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Header>
    <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <wsu:Timestamp wsu:Id="Timestamp-447" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <wsu:Created>2010-05-27T21:40:55.667Z</wsu:Created>
    <wsu:Expires>2010-05-27T21:41:55.667Z</wsu:Expires>
    </wsu:Timestamp>
    </wsse:Security>
    </soapenv:Header>
    <soapenv:Body>
    <ger:gerarHashSenha>
    <arg0>123456</arg0>
    </ger:gerarHashSenha>
    </soapenv:Body>
    </soapenv:Envelope>
    Thanks.
    Victor Jabur.

    someone has any idea ?
    Thanks

  • Lync control panel and internal web Services

    Hi,
    In our Lync 2013 deployment for web services we have set override  FQDN for internal Web Services asialyncpool.corp.contoso.com and External web services as web.contoso.com. The Control Panel URL has been set to https://admin.contoso.com
    When i launch Control panel, in the IE https://admin.contoso.com the control panel opens and but the url get changed to internal web services ie sialyncpool.corp.contoso.com. When i enter https://admin.contoso.com/cscp in the IE it ask for logon
    credentials and doen't accept the credentials at all, how many times i may try.

    Thanks for the response.
    https://admin.contoso.com,
    it will redirect to the URL of: https://asialyncpool.corp.contoso.com/cscp -
    This is exactly what is happening.
    When i use - https://asialyncpool.corp.contoso.com/cscp,
    it doesn't accept the credentials, it keep asking for right credentials, when i use Lync control panel, it does accept the credentials.

  • How to Create and Deploy Web Services Using Oracle 9i JDeveloper

    Hi,
    My Question is how to create and deploy Web Services using Oracle 9i JDeveloper.Anybody please give me a detailed Reply.Please Reply to [email protected]
    Hopr to Hear From you,
    Regards,
    G Sreekumar

    You could use datasources. You should do this in your BC4J Configuration. Then when deploying your applicaiton use the command -installDataSource (from admin.jar) to create the right datasource.
    You could probably use the name of your connection + "DS" so you can also use it locally in JDeveloper as JDev seesm to create this automaticly for your Connections.

  • ANN: Contest open, new tutorial and new Web services software

    The OTN Web Services Challenge is now open and accepting entries. Read the details, rules and requirements at:
    http://otn.oracle.com/tech/webservices/htdocs/challenge/content.html
    You could win a Dell Notebook worth USD$5,000 :-) First 500 real entries (that is one with source code and works) will get an Oracle Press book (my understanding is that it is one on Oracle9iAS).
    There are also a number of new things also available on the OTN Web Services Center:
    - A new Oracle9i Reports tutorial at:
    http://otn.oracle.com/tech/webservices/htdocs/series/reports/content.html
    - The Oracle9iAS Containers for J2EE Developer Preview (9.0.3) now supports document style Web Services and asynchronous Web services. Read all the content off the main page in the center:
    http://otn.oracle.com/tech/webservices/
    - A new paper talking about the Java XML Pack from Sun which Oracle is iterating its Oracle9iAS implementation towards:
    http://otn.oracle.com/tech/webservices/htdocs/standards/jax.html
    Mike.

    Currently the patch is only available on MetaLink (metalink.oracle.com) which requires a support account with Oracle. The patch number is 2367149 - see this post for instructions of how to get it from MetaLink:
    Re: Database or Client Level?
    Mike.

  • Consuming and Providing Web Service with JD Edwards ERP system

    Hi,
    I would like to create web services with c++ or java OR any other easier way .
    I need to use that web services to use in Share point to interact with JD Edwards ERP system .
    Pls Note : Since not having license for JD Edwards, I need to create and call from Sharepoint Web service to JD edwards.
                       and not from JD edwards web service.
    Could anybody guide me in this.
    Thanks in advance.

    I had this error again so I thought I would post my solution:
    The issue is SAP needs to know the certificates being used by the web site being called.  These certificates are automatically installed in your browser but need to be manually installed in SAP.  This is what I did:
    How to find/install new certificates
    Make sure you run Internet Explorer as an Administrator so you can export the certificates
    Go to the web site that SAP is trying to call in Internet Explorer
    Double click on the lock in the address bar
    View certificates
    Find the certificates that are being used
    Tools --> Internet Options --> Content --> Certificates
    Click on the “Trusted Root Certification Authorities” tab
    Find the certificate identified in step iii
    Export as a CER certificate
    Click on the “Intermediate Certification Authorities” tab
    Find the certificate identified in step iii
    Export as a CER certificate
    Go to STRUST in SAP
    Import the Certificates in the “Anonymous” or “Standard” SSL client
    Save
    RESTART the ICM via t-code SMICM  <-- Critical!!!
    Test

  • Transport Web service endpoint?

    Hi,
    I have started to develop web services in ABAP. Basically develop Z function modules to convert it to web services.
    My process to create the web service is through SE80 Tx using the wizard. Then through SOAMANGER Transaction I create the corresponding service and can download the WSDLfile with the link "Open WSDL document for selected binding".
    It is necessary due to my client want to consume the service with an wsdl file that contains the url as an endpoint, so I need to create the service. Until this point all works perfect.
    My question is about transport orders.
    When I transport the webservice to the Quality system I have to create again the service through SOAMANAGER to get the corresponding WSDL file with the correct url, so for each transport to a new system I would have to create the service.
    Is it possible to create a transport order to transport the created services in SOAMANAGER to each system?
    May be is possible do the same action in SOAMANAGER using other transaction?
    Thanks

    Hi,
    >Is it possible to create a transport order to transport the created services in SOAMANAGER to each system?
    No it is not possible and has already been answered numerous times in this same forum.
    The endpoint is part of the runtime configuration and it should be different on the production system and on the dev system.
    So it would be illogical to transport them.
    You can only transport the Design time configuration.
    Regards,
    Olivier

  • Data connection from SAP-R3 System to Xcelsius using Web Services

    Hello Everybody,
    Anyone tryed connecting data from SAP-R3 System to Xcelsius using Webservices? (created in ABAP function module)
    SDN downloaded document says to Generate Webservice URL through ABAP (by creating function module) and import it in xcelsius
    Data -> Add Web service connections
    by giving the URL to import. After giving the web server login credentials, the error says 'Unable to load URL'
    Any idea would be great help
    Note: I tried by following the thread & its not working:
    http://forums.sdn.sap.com/thread.jspa?threadID=1520321
    Thank you,
    Anand
    Edited by: Anand Amirtharaj on Feb 20, 2012 7:51 AM
    Edited by: Anand Amirtharaj on Feb 20, 2012 7:53 AM

    Hi,
    With regards to your statemetn "SDN downloaded document says to Generate Webservice URL through ABAP"   <- can you tell me more please? references/links/attachment?
    As far as I am aware, that the type of web service required for integration it a 'normal' Netweaver Web app server web service.
    There are limitations about the complexity of the WSDL - see Notes:
    1653655 - Limitations in Web Service WSDL URL usage in Xcelsius 4.0
    1703839 - Limitations of Web service usage in Xcelsius / Dashboard Design
    also , changes between SAP versions requires reworking the WSDL
    Note 1625091 - The WSDL URL for web service which generated in SAP Enterprise Central Component cannot be loaded into Xcelsius
    regards,
    H

  • Issues with Using Data Dashboard and Using Web Service

    After running a system for many months it has suddenly decided to not work at all.  I am using Data Dashboard to read variables on a host.  I'll outline the system here to get a baseline:
    I'm running LV 2012 SP1 f5. 
    I collect data from one Ethernet port and interfact it to another Ethernet port to form a proxy.
    I use a fixed IP address from my DSL along with port forwarding/port triggering in my router for data observation and control.
    So, what have I done so far?
    1.  Repaired my original LV 2012 SP1 and tested system.
    2.  Upgraded to LV 2012 SP1 f5 and tested system.
    3.  Ran service.msc and checked all the NI services that should be operational.  Started and stopped several of them and rebooted computer.
    4.  Deployed all my SVs (multiple times)
    5.  Disconnected second Ethernet interface becasue sometimes the variables would deploy to this IP address.
    6.  Turned off my wireless because sometimes the variables would deploy to this IP address.
    7.  Checked "Web Server Configuration" "Application Web Server" for correct port number.
    8.  Checked "Web Services Management" and under "Deployed Web Services" there is one category:  SV is marked as running.  NOTE!!  WebService is NOT listed and this could be a problem
    I can use the following to retrieve data&colon;  localhost:<port number>/sv/variable.  But when I substitute my DSL IP number, I can no longer get any data.
    So, what am I missing?  
    Thanks,
    Paul.

    Siana,
    Thanks for your response.
    I haven't touched the NI code in months.  It is running on an XP laptop and I have the Windows updates turned off.  McAfee is running on it and of course that updates regularily.  This laptop is a dedicated machine that I only use for this function, nothing else.  I haven't added or subtracted any programs for many months.
    There have been no changes to the DSL from me.  AT&T is constantly trying to get us to upgrade to U-Verse but we have resisted.  All DSL modem and router hardware is the same.  
    Confusing, huh?

  • Async system - XI BPM Sync - Web service - SOAP response

    Dear Experts:
    I have the following scenario:
    Async Proxy to XI to web service. I use BPM to make this a sync call to the web service. It works fine!
    I have a XSLT mapping for the response message from the web service. I use XSLT because the structure of the positive and fault responses are different. Anyway, I could get the positive response post ok back in the XI system.
    But the fault response does not get mapped and I get a APPLICATION_ERROR of category UNKNOWN in the SXMB_MONI. I also configured exception handling in the BPM. But it does not catch this error.
    Can anyone suggest how to handle the fault response from the web service?
    Thank you.

    I just had the same problem and solved it like this: I modified the WSDL slightly by removing the prefix from the reference to the element of the response message, as well as the "targetNamespace" in the xsd:schema segment of the WSDL. Like this, SAP is able to parse the response.
    Philippe

Maybe you are looking for

  • Smart quotes in Word file convert to boxes in InDesign CC

    I recently upgraded to InDesign CC. Before that, I was using InDesign 2.0 (very old). I place my Word files (which are saved in Word 2003 version) in text boxes in InDesign. When my text file is placed in InDesign CC, my apostrophes, hyphens and quot

  • Component Video Monitor?

    I'm trying to use the 27" Magnavox 27MS343S/17 television monitor as second monitor for my Apple iMac computer I have a Mini DisplayPort to DVI Convertor that plugs into the iMac, and a DVI to Component adapter to connect them. http://www.amazon.com/

  • How can I get Media Packge

    I'm writing an application to play MP3, But when I import javax.media.* I has an exception: D\cuong2012\btJava\MP3\JPlay\JavaPlayer.java:16: package javax.media does not exist. How can I gat javax.media. package??? I using window 2000, JDK1.5.0_01...

  • Transfer of CS4 Software from iMac to MacBook Pro

    Hello, Is it possible to tranfer Adobe Creative Suite 4 Web Premium from my Intel iMac to my Intel MacBook Pro? If so; please let me know best way to achieve this. Thanks in advance for any help offered. Leaving tomorrow out of country. Pressed for t

  • I want my upgrade of firefox to be transparent to users, do not want users to see the "Firefox Updated" tab/page.

    Hi, we are upgrading our users' firefox thru batch/policies. We would like it to be as transparent to them, i.e, users not seeing the "Firefox Updated" tab/page. Is there a setting or command that can be done to achieve this? Thanks in advance.