R/3 call webservice through XI

We try to call web service from R/3 system through XI, and indeed planning to use ABAP Proxy to pass parameters from R/3 to XI.Web Server have already got its own wsdl for request & response.
Do we need any mapping for R/3 parameters to wsdl request format? Is SOAP adapter needed here?
How to make XI generate request in wsdl-defined format in this case?
Thanks

Hi Rokie,
<b>Do we need any mapping for R/3 parameters to wsdl request format? Is SOAP adapter needed here?</b>
Since ur scenario is <b>Proxy<->XI<->SOAP</b>.u can use the same data type/XSD as given in the WSDL.
i mean to say..u can use same data structure in sender and reciver side...in that case u need not require any mapping....
But if u want to use different srtucture...u need to do the transformation..so u have to go for mapping....
<b>How to make XI generate request in wsdl-defined format in this case?</b>
thats not difficult!!!
u need to write a report in R/3...which will trigger the proxy....proxy inturn will send the required data to webservice...and the webservice will give the response upon correct input.
regards
biplab

Similar Messages

  • Call webservices through asp do net page

    Anyone got an example of ASP.NET that will call a webservices configure for Oracle Weblogic 12c
    I can install the web services on weblogic now need to test through a web page before handing off to the developers.
    Can anyone help provide an example how to run the webservices through ASP.NET page?
    Cheers

    I believe you are at the wrong forum. However as far as I know like in Jdeveloper ASP has webservice proxy class so you can show wsdl and this will be your starting point.

  • Call WebService through EJB

    Hi friends,
    I have created one web service , how can i call that web service through ejb . Is this possible ?.. can anybody help me....
    Thanks and Regards,
    Krish

    Hi Krish,
    This recent [thread|How to Call webservice by another webservice; deals with the same question. See the answers / links there.
    Hope it helps!
    -- Vladimir

  • How to call webservice through Oracle HTTP Server

    I have cluster of three Managed Servers. They are behind a Oracle HTTP Server. I deployed a web service to the cluster. When calling web service, I got the error. The error is that the client of web service can not directly access the Managed Servers.
    The error tell that it can not access http://webapp01:7003/webservice/HelloWorld?WSDL
    Where webapp01 is the host name of a managed server.
    Is there a way that web service return the result to HTTP Server and HTTP Server return it to web service client.

    1. Before you invoke the WebServices from client program, I guess you may have already generated the webservices client jar for the WSDL that is deployed using sun jdk "wsimport" command or bea's clientgen ant task. At this time, what is the wsdl url you gave. In the generated client jar file you should see .JAVA files also. Check the Service related .java file and check the WSDL URL in that file. If it is using weblogic servers managed server host and port, then the problem you see is obvious.
    2. To fix this, you re-generate the webservices client jar file again this time giving the http server host and port instead of weblogic host and port. I am hoping you already modified httpd.conf file to accept the webservice url pattern. Check the .JAVA file generated for service to see the WSDL URL that is having inside.
    3. Another approach is on your client side, before you invoke any operation on WebService, you will be first getting Service object, then Port object and invoke methods on Port object. When you get Service Object, you can pass the WSDL URL as one parameter and ServiceName (QName) as second parameter. Most of time we use default constructor without any parameters to get Service object. But you can use other constructor and pass 2 parameters. The WSDL URL will have HttpServers host and port, and rest of the url for wsdl will be the same.
    In our env, we have similar requirment. SOAP BPEL Process WebServices are deployed on WLS 10.3.1 on a Cluster with 2 ManagedServers. We have Apache Proxy in front of this Cluster. All our WSDL requests goes to Apache host and port + wsdl url. This inturn goes to one of the managed servers at a time in round-robin. This is working. In httpd.conf we gave "MatchExpression / " so that any request from apache will go to cluster.
    HTH
    Ravi Jegga

  • Call webservice through URL (without client implementation)

    Hello,
    I am a newbie in webservices development. I have created my webservice, invoked it with a java client and everything works well.
    But I was wondering if it is possible to call a webservice directly by entering a URL in my browser.
    What I really need to do is to change the href property of the <a> tag in HTML like this :
    <a href="url_to_call_my_webservice"> my link to webservice </a>Can I do this?

    So, how do I do to call my webservice? Do I have to link to another page which creates a client and call my webservice ?
    What if I need a webservice to get an image like this :
    <img src="my_webservice_to_get_my_image">Is a servlet a better solution?
    Thanks for your help!

  • Problem calling webservice through Webdynpro

    Hi,
    I have created a webservice model for BAPI_ALM_CONF_CREATE in webdynpro. The execution of the webservice is working fine and the confirmation is done, but the response from the webservice is coming blank. I need the confirmation number and count as return for my furthur processing. I have checked the model binding with the webservice and everything seems fine. Please let me know if I have missed something to get the response working.
    Thanks
    Raghav

    Hi,
       in a webservice model the nodes are created in following manner
        webservicemodelname
        --Request
          ---Response
        --Response
    u have to bind the reuqestnode and its subnode it responsenode also to the component controller node...
    then in executor method
    crete the object of modelcalss and bind it to the context of compoent controller
    and then execute the model ..
    response should be ther in component controller context .
    then map it to where u want....
    also check where  u are invalidating the response..
    u dont have to invalidate the respponse because it delete all the data from the context.
    Regards,
    yashpal
    Message was edited by: Yashpal Gupta

  • Call webservice URL through view, on click of a button

    Hello Gurus,
    I have a local development webdynpro project . My requirement is that on click of a submit button, webservice is called and it returns a string which i need to display on the view. I searched a lot but couldnt find the exact step by step process.
    While creating the web service model, which one dhould i choose n then after model creation
    what code should i write to call webservice.
    Regards
    nishu

    Hello All,
    Thanks for all your replies. I am able to create model and bind it to my component controller.
    But when i write the code to call webservice , i am unable to instanciate the model....
    I wrote the following code :
    testmodel = new Soap(); - (1)
    Request_ServiceSoap_insertTicket insert = new Request_ServiceSoap_insertTicket(testmodel); - (2)
    insert.setUserId("CCM_RUS");   
    wdContext.nodeRequest_ServiceSoap_insertTicket().bind(insert);
    private Soap testmodel;
    In Above code , line (1) , 'Soap' is the name of my WebService model, which i made by importaing the wsdl file from my local system. And line (2), i amd getting error :
    the constructor Request_ServiceSoap_insertTicket(testmodel) is undefined.
    If i remove the 'testmodel' and just write Request_ServiceSoap_insertTicket() , the webservice is not called, since model instantiation is necessary for webservice Models. I am stuck
    Please help
    Thanks
    Nishu
    Edited by: nishu_rj on Aug 23, 2011 9:01 AM

  • Error while consuming PLSQL Webservice through BPEL

    HI ,
    I have created a simple PLSQL Web service called "HelloWorld" and it got successfully deployed .
    When I tried to test this webservice through BPEL Process Manager , its showing me error everytime that ( Could not create object of class 'dimple.HelloWorldWebServiceUser'; nested exception is: java.lang.ClassNotFoundException: dimple.HelloWorldWebServiceUser</summary> ) .
    Please anyone help me out with this problem .
    Thanks
    Prashant Dwivedi

    HI ,
    I have created a simple PLSQL Web service called "HelloWorld" and it got successfully deployed .
    When I tried to test this webservice through BPEL Process Manager , its showing me error everytime that ( Could not create object of class 'dimple.HelloWorldWebServiceUser'; nested exception is: java.lang.ClassNotFoundException: dimple.HelloWorldWebServiceUser</summary> ) .
    Please anyone help me out with this problem .
    Thanks
    Prashant Dwivedi

  • Adobe Form Calling WebService Doesnu00B4t work with Adobe Reader 7

    Hi experts,
    We have created and adobe form that simulates a PM Notification in which the user, without logging into SAP, through an RFC and WebServices can create the notification into SAP.
    This process only works with Adobe Reader 9 and not with Adobe Reader 7.
    Can anyone tell me what main difference/component/functionality does Adobe Reader 9 have that Adobe Reader 7 doesn´t?
    When I call the Webservice through the form in Adobe 7, a pop-up message appears that says:
    "Error attempting to read from file.
    http://desaecc6.codelco.cl:8001/sap/bc/rfc/sap/zi_aviso_adobe_pm12/222/zi_aviso_adobe_pm12/zi_aviso_adobe_pm12"
    Any ideas why this error ocurrs only in Adobe Reader 7?
    Thanks and best regards,
    Fernando Montenegro

    Hello,
    I cannot tell what are the exact differencies between the version. But I can tell you should always use (at least try to use the newest Reader). I guess you´re not the only developer on Forms, so there are possibly more people depending on the version of the client browser/ Reader. There is a solution for this problem, which does not ask anything from you, only the user.
    You can easily test the Reader version through JS coding and act based on the result. I use this like this "if your Reader is lower than 8.1" then "message popup = We are sorry, your Reader is too old, this form won´t work for you. Please upgrade first.". It takes like 5 minutes (10 for lame users at max) to update his Reader.
    Maybe you should this about such a test, if the user passes the test, his application won´t have any problem, if not there is no guarantee. And YOU have no problem, nobody tells you "hey sir, your form is not working, I´m not gonna pay you".
    Otto

  • Problem with calling Webservice from Java Webdynpro

    Hi,
    I have a scenario where I need to call a Webservice through my Webdynpro application. I need to pass few parameters(of type string) and the Webservice is suppose to retrun a few records based on the input values.
    When I run the webservice directly using the browser, the output is in XML format.
    When I create a model for the webservice in webdynpro, the return value is a Node element of type java.lang.Object. From webdynpro, I am successfully able to make a call to the Webservice (as there is no exception with model execute command), but the return value is always null. I am not sure if the webservice is not returning any data or if I am not reading the correct context element. There is no documentation available for the webservice either.
    Can anyone tell me what is that I am missing. Is it not possible for Webdynpro to call a webservice which can return only XML data?
    Any help on this issue would be greatly appreciated.
    Thanks,
    Sudheer

    Hi Sudheer,
    You can refer to wiki link (& other links available at the end in this)
    https://www.sdn.sap.com/irj/scn/wiki?path=/display/wdjava/faq-Models-AdaptiveWebService
    Kind Regards,
    Nitin

  • Problem invoking XI webservice through webdynpro

    We have created a webservice on XI that calls the BAPI_COMPANYCODE_GETLIST on an R/3 4.6C system.  We generated the WSDL using the Integration builder and corrected the URL to point to the webservice (rather than the wizard proposed URL).
    We can call the webservice through XMLspy and other tools.  But we are not able to use webdynpro to invoke the webservice.  We uploaded the webservice on the web application server so we can get to it through a URL.
    The problem is that when we use webdynpro and try to link it to a webservice, we can point to the URL which is for the WSDL we uploaded to the webserver.  But there is no other field in webdynpro to specify the URL for the webservice endpoint.  The endpoint is actually in the WSDL and it seems correct:
    http://servername:50000/XISOAPAdapter/MessageServlet?channel=:BS_EXTERNALAPP:BAPI_COMPANYCODE_GETLIST_WEBSERVICE_SOAP_SENDER;version=3.0;Sender.Service=BS_EXTERNALAPP;Interface=http://xyz.com/xi_demo/BAPI_COMPANYCODE_GETLIST_OUTBOUND_SYNC_MI
    Through XMLspy we can just point to the WSDL.  And then we can just specify the username and password and it runs.  But with webdynpro, we are not able to invoke it.
    Any ideas what we can do?
    Here is the WSDL below:
    Thanks,
    Jay
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:rfc="urn:sap-com:document:sap:rfc:functions" xmlns:p1="http://xyz.com/xi/xi_demo" name="BAPI_COMPANYCODE_GETLIST_OUTBOUND_SYNC_MI" targetNamespace="http://xyz.com/xi/xi_demo">
         <wsdl:types>
              <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:sap-com:document:sap:rfc:functions" targetNamespace="urn:sap-com:document:sap:rfc:functions">
                   <xsd:element name="BAPI_COMPANYCODE_GETLIST.Response">
                        <xsd:complexType>
                             <xsd:all>
                                  <xsd:element name="RETURN" type="BAPIRETURN" minOccurs="0"/>
                                  <xsd:element name="COMPANYCODE_LIST">
                                       <xsd:complexType>
                                            <xsd:sequence>
                                                 <xsd:element name="item" type="BAPI0002_1" minOccurs="0" maxOccurs="unbounded"/>
                                            </xsd:sequence>
                                       </xsd:complexType>
                                  </xsd:element>
                             </xsd:all>
                        </xsd:complexType>
                   </xsd:element>
                   <xsd:element name="BAPI_COMPANYCODE_GETLIST">
                        <xsd:complexType>
                             <xsd:all>
                                  <xsd:element name="COMPANYCODE_LIST">
                                       <xsd:complexType>
                                            <xsd:sequence>
                                                 <xsd:element name="item" type="BAPI0002_1" minOccurs="0" maxOccurs="unbounded"/>
                                            </xsd:sequence>
                                       </xsd:complexType>
                                  </xsd:element>
                             </xsd:all>
                        </xsd:complexType>
                   </xsd:element>
                   <xsd:complexType name="BAPI0002_1">
                        <xsd:sequence>
                             <xsd:element name="COMP_CODE" minOccurs="0">
                                  <xsd:simpleType>
                                       <xsd:restriction base="xsd:string">
                                            <xsd:maxLength value="4"/>
                                       </xsd:restriction>
                                  </xsd:simpleType>
                             </xsd:element>
                             <xsd:element name="COMP_NAME" minOccurs="0">
                                  <xsd:simpleType>
                                       <xsd:restriction base="xsd:string">
                                            <xsd:maxLength value="25"/>
                                       </xsd:restriction>
                                  </xsd:simpleType>
                             </xsd:element>
                        </xsd:sequence>
                   </xsd:complexType>
                   <xsd:complexType name="BAPIRETURN">
                        <xsd:sequence>
                             <xsd:element name="TYPE" minOccurs="0">
                                  <xsd:simpleType>
                                       <xsd:restriction base="xsd:string">
                                            <xsd:maxLength value="1"/>
                                       </xsd:restriction>
                                  </xsd:simpleType>
                             </xsd:element>
                             <xsd:element name="CODE" minOccurs="0">
                                  <xsd:simpleType>
                                       <xsd:restriction base="xsd:string">
                                            <xsd:maxLength value="5"/>
                                       </xsd:restriction>
                                  </xsd:simpleType>
                             </xsd:element>
                             <xsd:element name="MESSAGE" minOccurs="0">
                                  <xsd:simpleType>
                                       <xsd:restriction base="xsd:string">
                                            <xsd:maxLength value="220"/>
                                       </xsd:restriction>
                                  </xsd:simpleType>
                             </xsd:element>
                             <xsd:element name="LOG_NO" minOccurs="0">
                                  <xsd:simpleType>
                                       <xsd:restriction base="xsd:string">
                                            <xsd:maxLength value="20"/>
                                       </xsd:restriction>
                                  </xsd:simpleType>
                             </xsd:element>
                             <xsd:element name="LOG_MSG_NO" minOccurs="0">
                                  <xsd:simpleType>
                                       <xsd:restriction base="xsd:string">
                                            <xsd:maxLength value="6"/>
                                            <xsd:pattern value="\d+"/>
                                       </xsd:restriction>
                                  </xsd:simpleType>
                             </xsd:element>
                             <xsd:element name="MESSAGE_V1" minOccurs="0">
                                  <xsd:simpleType>
                                       <xsd:restriction base="xsd:string">
                                            <xsd:maxLength value="50"/>
                                       </xsd:restriction>
                                  </xsd:simpleType>
                             </xsd:element>
                             <xsd:element name="MESSAGE_V2" minOccurs="0">
                                  <xsd:simpleType>
                                       <xsd:restriction base="xsd:string">
                                            <xsd:maxLength value="50"/>
                                       </xsd:restriction>
                                  </xsd:simpleType>
                             </xsd:element>
                             <xsd:element name="MESSAGE_V3" minOccurs="0">
                                  <xsd:simpleType>
                                       <xsd:restriction base="xsd:string">
                                            <xsd:maxLength value="50"/>
                                       </xsd:restriction>
                                  </xsd:simpleType>
                             </xsd:element>
                             <xsd:element name="MESSAGE_V4" minOccurs="0">
                                  <xsd:simpleType>
                                       <xsd:restriction base="xsd:string">
                                            <xsd:maxLength value="50"/>
                                       </xsd:restriction>
                                  </xsd:simpleType>
                             </xsd:element>
                        </xsd:sequence>
                   </xsd:complexType>
              </xsd:schema>
         </wsdl:types>
         <wsdl:message name="rfc.BAPI_COMPANYCODE_GETLIST.Input">
              <wsdl:part name="parameters" element="rfc:BAPI_COMPANYCODE_GETLIST"/>
         </wsdl:message>
         <wsdl:message name="rfc.BAPI_COMPANYCODE_GETLIST.Output">
              <wsdl:part name="parameters" element="rfc:BAPI_COMPANYCODE_GETLIST.Response"/>
         </wsdl:message>
         <wsdl:portType name="BAPI_COMPANYCODE_GETLIST_OUTBOUND_SYNC_MI">
              <wsdl:operation name="BAPI_COMPANYCODE_GETLIST_OUTBOUND_SYNC_MI">
                   <wsdl:input message="p1:rfc.BAPI_COMPANYCODE_GETLIST.Input"/>
                   <wsdl:output message="p1:rfc.BAPI_COMPANYCODE_GETLIST.Output"/>
              </wsdl:operation>
         </wsdl:portType>
         <wsdl:binding name="BAPI_COMPANYCODE_GETLIST_OUTBOUND_SYNC_MIBinding" type="p1:BAPI_COMPANYCODE_GETLIST_OUTBOUND_SYNC_MI">
              <soap:binding xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
              <wsdl:operation name="BAPI_COMPANYCODE_GETLIST_OUTBOUND_SYNC_MI">
                   <soap:operation xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" soapAction="http://sap.com/xi/WebService/soap1.1"/>
                   <wsdl:input>
                        <soap:body use="literal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
                   </wsdl:input>
                   <wsdl:output>
                        <soap:body use="literal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
                   </wsdl:output>
              </wsdl:operation>
         </wsdl:binding>
         <wsdl:service name="BAPI_COMPANYCODE_GETLIST_OUTBOUND_SYNC_MIService">
              <wsdl:port name="BAPI_COMPANYCODE_GETLIST_OUTBOUND_SYNC_MIPort" binding="p1:BAPI_COMPANYCODE_GETLIST_OUTBOUND_SYNC_MIBinding">
                   <soap:address location="http://servername:50000/XISOAPAdapter/MessageServlet?channel=:BS_EXTERNALAPP:BAPI_COMPANYCODE_GETLIST_WEBSERVICE_SOAP_SENDER&version=3.0&Sender.Service=BS_EXTERNALAPP&Interface=http%3A%2F%2Fxyz.com%2Fxi%2Fxi_demo%5EBAPI_COMPANYCODE_GETLIST_OUTBOUND_SYNC_MI" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
              </wsdl:port>
         </wsdl:service>
    </wsdl:definitions>

    When i try to make the call through Test Data service in Visual composer, i get the error: "Portal request failed (Could not execute Web service operation)".  This happens regardless of whether we supply input values for Comp Code and Comp Name. 
    So Visual composer is reading the WSDL and showing the input parameters correctly.  The link for the WSDL needs the same authentication user and pwd as the actual webservice invocation link which is in the WSDL. 
    So i am not sure why the call is failing because it works easily through XMLspy.
    - Jay

  • Calling webservice in udf for inserting data into webservice

    Dear Experts,
          Please give me the drawbacks of using lookup function for inserting data. we are calling a webservice from the udf for inserting the data using a webservice.
    It is a file to jdbc usnig a soap lookup . we use this approach because we need to pass the response from webservice along with the error data to the jdbc.   is there any other way to do it without using bpm ?
        In the udf we are creating the xml structure for webservice and passing the parameters through arguments.
    is there a better approach for this ?
    Thanks,
    Aju

    Hi Aju,
    You can do it without BPM.
    Write UDF for Soap Lookup. Parse the response message from Webservice.  and map the required values to respective fields.
    See the weblog
    Webservice Calls From a User Defined Function.
    Negative point of this solution is that it will take some time to call Webservice and get response back from it.
    Kulwinder

  • Consuming webservice through SUP.

    Hi All,
    I have taken a default and simple web service and called it through SUP. The connection was established and successfull.
    Then while dragging and dropping  the webservice from the Server explorer bar   to create an MBO, only method/operation
    isformed.
    No attributes are present in the MBO. I then manually mapped the Attributes and binded the data source.
    After this step I am not sure how to proceed.
    please can you specify the further steps so that I can proceed and dev
    Thanks,
    Krutheeka.

    hi.
    I am trying to use a web service but facing some issue regarding it.
    Can u refer please refer the below link and provide a solution for it.
    http://scn.sap.com/thread/3288582
    Regards,
    Namrata

  • Getting error response while trying to access REST webservice through Powerbuilder

    Hi Team,
    I am trying to access a rest webservice through powerbuilder 12.5(.net).The rest webservice is secured through basic authentication.I am passing the userid and password through powerbuilder to acess the service,But its returning an error .But while i am trying to accss the same REST webservice through SOAPUI, i am able to get the response.
    Please find the below line of code which i have written in powerbuilder.
    p_testcleint2 lp_rest
    string ls_string
    lp_rest=create p_testcleint2
    PBWebHttp.WebClientCredential lsCredential             //configure credentials
    lsCredential = create PBWebHttp.WebClientCredential
    lsCredential.AccessAuthentication = PBWebHttp.AuthenticationMode.Basic!
    lsCredential.Password='Pa$$word1!'
    lsCredential.Username='admin'
    lp_rest.restConnectionObject.ClientCredential = lsCredential  //add credentials to connection
    try
       lp_rest.PostMessage()
    catch (System.Exception ee)
      messagebox("Failure",string(ee.Message))
    end try
    Error i am getting as below :
    The remote server returned an error:(401) unauthorized.
    Can you please let me know why this error is coming or do i need to any extra paramert in the lsCredential to handle this.
    Thanks in advance.
    Regards
    Subrat

    Hi Chris,
    Thanks for the reply.
    Yes i checked -in fiddler, the basic authentication request is not generating in the fiddler.
    In the same Rest service if i turned off the basic authentication then call is happening in Powerbuilder and its displaying in fiddler also.
    Regards
    Subrat

  • Using Webservice through RFC Func Mod Can I able to fill dropdown field

    Hi,
    I am going to develop offline interactive form using Webservice through RFC Function module.
    There are dropdown list fields in my adobe form. Then how can I able to fill these dropdown fields in my form, I mean how to bind the values to dropdown fields.
    Thanks & Regards,
    nspkumar.

    Hi,
    Option 1:
    If the form is designed in transaction SFP, which has a form interface (transaction SFI), then below solution will work:
    For example consider the data node name as 'COUNTRY' . Select drop down UI element and go to 'Object' properties tab. Select 'Binding' tab, on the top right hand side of this tab there is small icon, select the icon and enable the option 'Show Dynamic Properties'. Once this option is enabled in the 'Binding' tab you can click on the link 'Specify Item Values'. A popup will open, here specify the binding value as 
    $record.sap-vhlist.COUNTRY.item[*]
    Refer to link:
    [Drop down list binding|http://help.sap.com/erp2005_ehp_06/helpdata/en/43/7a667df4ad6fc9e10000000a1553f6/frameset.htm]
    Option 2:
    If the data connection is directly to the webservice then binding needs to be done similar to option 1 except one change. While binding the value in dynamic properties based on XML schema binding needs to be changed.
    As you can see in option 1, for dynamic property binding 
    $record.sap-vhlist.COUNTRY.item[*]
    , there is a value called sap-vhlist. This 'sap-vhlist' gets generated when form is designed in transaction SFP with form interface. So in your case if data connection is from webservice value sap-vhlist needs to changed to the value as per XML schema definition.
    Regards
    Srikanth KV

Maybe you are looking for