Consuming ABAP WS

Hello gurus,
please help me. I've faced problem with consuming ABAP webservice. Here's the original wsdl:
[WSDL definition|https://docs.google.com/document/d/1QiuguhN4ZniOUFkWWq2J-uH6Jqjc5wYCvmloAgqDDWs/edit?hl=en]
here's the response from WS:
[WS Response|https://docs.google.com/document/d/14fIkoBBw92m8fNS-hdLsY2xYoieBBCtvhf7YGt_y4Vc/edit?hl=en]
Question: how to enforce SAP to set prefix for all elements without prefix in the response xml? For instance i wanna have :
<n0:IdIncomeRecord>1 </n0:IdIncomeRecord>
intead of
<IdIncomeRecord>1 </IdIncomeRecord>
Thanks in advance.

To my knowledge, there seems to be little support to manipulate the generation of WSDL. But, explore the SOAManager transaction for any help related to it.
Regards,
Sharath

Similar Messages

  • Consuming ABAP Webservice in Webdynpro app

    Hi,
    I have wrote a webdynpro app for consuming ABAP webservice. I used the procedure in the link below
    http://wiki.sdn.sap.com/wiki/display/WDJava/ConsumingABAPWebServiceinJavaWD
    Everything seemed to be went well, I created model and Webservice destinations. I have written the code for calling the webservice, which does not return data as part of response. I mean though the RFC returns data at the backend,its not showing the returned records in the webdynpro table.
    I have also tried checking the same by setting external break point. when the webservice is executed from my webdynpro app,it goes to the ABAP debugger and i could clearly see the records in the export parameters of RFC,but the same is not returned in the reponse object.
    Could any one let me know what could be missing. Any help is greatly appreciated?
    I have used the following code in Init method of my View
    Request_ZMYRFC input=new Request_ZMYRFC (model);
    wdContext.nodeRequest_ZMYRFC ().bind(input);
    ZMYRFC  req= new ZMYRFC (model);
    req.setPUserid("EDLAS00C");
    req.setPLtc("E");
    input.setMYRFC (req);
    IWDMessageManager manager = wdComponentAPI.getMessageManager();
        try
        wdContext.currentRequest_ZMYRFCElement().modelObject().execute();
          wdContext.nodeResponse().invalidate();
          wdContext.nodeZMYRFCResponse().invalidate();
          wdContext.nodeReturn_res().invalidate();
         wdContext.nodeItem_res_ret().invalidate();
          wdContext.nodeILtcg_res().invalidate();
          wdContext.nodeItem_res_ltcg().invalidate();
        catch(Exception e)
          manager.reportException(e.getMessage(), false);
    Thanks
    Santhosh

    santosh,
    Check provider system defination in nwa for webservice.After this mapp the provider system and service group after wd app deployed.This is mandatory while consuming webservice in webdynpro for latest versions of CE7.11 or later.for reference check this article/document. http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/50d70a19-45a3-2b10-bba0-807d819daf46
    Thanks,
    Murthy.
    Edited by: Murthy Karaka on Mar 22, 2010 12:59 PM

  • Consume abap based web Service in Visual composer 7.0

    Hi All,
    Can any one provide me sample example or PDF on "consume abap based web Service in Visual 7.0 composer" not WSDL based
    Help will be appricated by awarding point.
    Thanks

    Hi,
    Try the below link.
    Consuming WebService in Visual Composer-1
    Hope it helps...
    Regards
    Basheer

  • Consuming ABAP Web Service in Non SAP system

    Hi
    I have created an ABAP web service form the RFC and configured it in the SOAMANAGER. I have tested it in Web Service Navigator using the URL and it is working fine.
    Now I am trying to access it from the Non SAP system using Java Code. I am able to access the WSDL using the URL from the step 1 but not able to receive any output when providing inputs.
    So I am not sure if I am missing any configuration on the Provider System (SAP) or on the Consumer system (Non SAP) to access the web service. As far I have not configured anything on the consumer system. Please let me know how to consume the web service in the Non SAP system.
    Thank you,
    Rohit

    not necessarily an answer to your question, but i find that when creating SAP web services, before we create the code for consuming them, I always test them with the SOAPUI package. with this test suite you can import the WSDL, and run individual tests, seeing the input, output, exceptions, etc. This is a good way to check the connection, the flow and the service logic, before writing any code. This will also let you know whether it is a WS issue, or an issue with your code.
    just a thought, from someone who has been there...
    http://www.soapui.org is where you can find the SOAPUI. It helped me out a lot.
    Dave

  • Consume ABAP Webservice using AJAX javascript

    Hi,
    We created webservice for  ABAP BAPI. And I want to consume this using AJAX javascript.
    But I am getting "Access Denied" javascript error.
    Please let me know how to pass the credentials while trying to consume this webservice
    I tried below code, but its NOT workng
    var URL ="http://hostname/sap/bc/srt/rfc/sap/servicename?sap-client=400&sap-user=testuser&sap-password=testpassword";
    xmlhttprequest.open("POST", URL, true);
    Please let me know your thoughts ...
    Thanks
    Edited by: sona p on Feb 27, 2010 12:18 AM

    Hi,
    Thanks for your response. I did the same as mentioned in the link provided by you. But it is not working . I am still getting "Access denied" javascript error in the second line ( xmlhttprequest.open) . Below is my code.
    var auth = make_base_auth('userid','password');
    xmlhttprequest.open("POST", URL, true);
    xmlhttprequest.setRequestHeader('Authorization', auth);
    xmlhttprequest.setRequestHeader ("Content-Type", "text/xml");
    xmlhttprequest.onreadystatechange = getDataList;
    xmlhttprequest.send(SOAPEnvelope);
    Please let me know your thoughts. Thanks again for your response.

  • Problem with Consuming ABAP Server Proxy WSDL in InfoPath

    Tried to design a InfoPath (MS Office 2003) form from a WSDL file of a web service generated from an ABAP Server Proxy in a NW2004s SP10 system.  InfoPath rejected this WSDL with error “InfoPath cannot use the selected Web service method for receiving data because the method does not provide valid XML data”.  Tried other WSDL files from other web services from ABAP Proxy with InfoPath, all got rejected.
    Validated the WSDL file with XMLSPY, no error.  Tried to import the WSDL into XI 3.0, no error.  Also tried the WSDL in .NET C#, also worked fine.  It seemed only InfoPath does not like this WSDL from ABAP Proxy. 
    Created a similar web service in XI 3.0 and InfoPath had no problem with its WSDL.  Then I compared the two WSDL files.  There are differences.  After try and error on changing the differences, I have nailed down to the XML tag that caused the problem.  Please see the extracted WSDL line attached at the end.  In the XI 3.0 generated WSDL the wsdl:message and the wsdl:part have the same name.  In the ABAP Proxy generated WSDL the wsdl:part has the name “Parameters” which is different from the wsdl:message.  After I copied the wsdl:message name to the wsdl:part name, InfoPath accepted the WSDL file without any problem.
    I know the fix but I like to find out the root cause.  Is this a known issue?  Did we miss some configuration setting that’s causing this issue?  Any help will be much appreciated.
    WSDL from NW2004s SP10 ABAP Proxy
    <wsdl:message name="RegionR3GetList_Req_MT">
        <wsdl:part name="Parameters" element="tns:RegionR3GetList_Req_MT"/>
    </wsdl:message>
    <wsdl:message name="RegionR3GetList_Resp_MT">
        <wsdl:part name=" Parameters" element="tns:RegionR3GetList_Resp_MT"/>
    </wsdl:message>
    WSDL from XI 3.0 Interface
    <wsdl:message name="RegionR3GetList_Req_MT">
        <wsdl:part name="RegionR3GetList_Req_MT" element="tns:RegionR3GetList_Req_MT"/>
    </wsdl:message>
    <wsdl:message name="RegionR3GetList_Resp_MT">
        <wsdl:part name="RegionR3GetList_Resp_MT" element="tns:RegionR3GetList_Resp_MT"/>
    </wsdl:message>

    Anne Tarnoruder has pointed out to me that her SDN article "Consuming SAP Enterprise Services in a Microsoft Office InfoPath Form" has described the the cause and workaround of this issue on page 9.  I am extracting it below and mark this thread as answered.  Thanks to Anne but not sure how I can award point to her.
    Currently SAP supports only the Document style of WSDL, and not the Microsoft-specific RPC style, which causes a problem when consuming SAP services in the Microsoft environment. In this example, you need to apply a workaround that involves a minor correction of locally-stored WSDL files:
    a. In the Project Explorer toolbar, click the Show all files icon and expand the Web reference folder.
    b. For each Web reference in the project, perform the following steps:
    c. Open the WSDL file, replace all instances of <wsdl:part name="parameters" with <wsdl:part name="parameter" (remove the s in parameters) and save the file.
    d. Right-click the Reference.map file and choose Run Custom Tool to invoke a utility that generates code for XML Web services. This recreates the local proxy.

  • Consuming ABAP webservice in Java

    Hi Gurus,
    We are publishing webservices from SAP and Java team is consuming them. For accessing the webservice  from java , we are maintaining User name and Password in SICF for that service.
    Now if we donot maintain the User name and Password in SICF for that service then Exception "Unauthorised " is coming in Java.
    We want to pass the User name and Password from Java. How to achieve this.
    Thanks
    Jitendra

    Hi John,
    thnx for quick response. i have given WSDL to Java team but they are unable to find " Logon service in the WSDL".
    Can u tell us for which XML tags we should search.
    Thanks
    Jitendra

  • Consuming ABAP Webservice in webdynpro java.

    hi All,
    i tried the all ways provided in sdn to create a webservice in ABAP when i test its working fine on j2ee server.
    when i call the same webservice from webdynpro its throughing this error can any body kindly help me in this.
    java.rmi.RemoteException: Service call exception; nested exception is: com.sap.engine.services.webservices.jaxrpc.exceptions.InvalidResponseCodeException: Invalid Response Code: (502) Proxy Error ( The ISA Server denied the specified Uniform Resource Locator (URL).  ). The requested URL "xxxxxxxxxx".
    Thank you.
    venkat.

    Hi Venkatramana,
    The class of the ProxyGenerator is com.inqmy.lib.wsdl.ProxyGenerator. It is located in <SAPj2eeEngine_install_dir>/cluster/server/additional-lib/inqmysoap.jar or <SAPj2eeEngine_install_dir>/alone/additional-lib/inqmysoap.jar file. In addition the following JAR files must be included in your classpath - mail.jar, activation.jar, inqmyxml.jar, inqmysoap.jar, located in <SAPj2eeEngine_install_dir>/cluster/server/additional-lib/ or <SAPj2eeEngine_install_dir>/alone/additional-lib/ directory. You need also the inqmy-lib.jar file in <SAPj2eeEngine_install_dir>/cluster/server/lib/ or <SAPj2eeEngine_install_dir>/alone/lib/ directory in order to run the generator.
    SAP Note : <a href="https://websmp201.sap-ag.de/~form/handler?_APP=01100107900000000342&_EVENT=REDIR&_NNUM=547847&_NLANG=E">547847</a>
    Before deploying make sure the JCo’s are up and running
    Go to http://server:port/webdynpro/dispatcher/sap.com/tcwdtools/Explorer to check the status of JCo’s.
    Regards,
    Mithu

  • Consuming ABAP Webservice from Android device

    Dear Experts,
    I am ABAP developer (limited knowledge on android) trying to connect  Android device to a.SAP Webservice
    Through trial and error and help from SDN and Android forums i managed to link up the ABAP webservice and android using KSOAP2 API.Its working perfectly now but only when i save the username password for SAP access in the webservice settings in transaction SICF.I need to access the service by passing the username and password values through the SOAP request header but so far my efforts have failed me.im presently using the following code to pass my auth values.
    I would be grateful if you can point me in the proper direction.
           String NAMESPACE = "mynamespace (works properly without auth)";
            String METHOD_NAME = "mymethod (works properly without auth)";
            String SOAP_ACTION = "mynamespace/mymethod (works properly without auth)";
            String URL = "myURL{works properly without auth)";
            SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME);
            Request.addProperty("Purchaseorder","4500001168");
            Request.addProperty("Username", "myusername");
            Request.addProperty("Password", "mypassword");
           SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
           envelope.setOutputSoapObject(Request);
           HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
    try
               androidHttpTransport.call(SOAP_ACTION, envelope);
               SoapObject response = (SoapObject)envelope.bodyIn;
               String testValue =  response.getProperty("PoHeader").toString();
               AlertDialog alertDialog = new AlertDialog.Builder(this).create();
               alertDialog.setMessage(testValue);     
               alertDialog.show();
           catch(Exception e)
                e.printStackTrace();
    Thanx & Best Regards

    Hi,
    you can develop a custom Transport class wich extends the: HttpTransportSE class by authentication features.
    example:
    public class AuthTransportSE extends HttpTransportSE{
         private String username;
         private String password;
         public AuthTransportSE(String url, String username, String password) {
              super(url);
              this.username = username;
              this.password = password;          
         protected ServiceConnection getServiceConnection() throws IOException {
              ServiceConnection midpConnection = new ServiceConnectionSE(url);
              addBasicAuthentication(midpConnection);
              return midpConnection;
         protected void addBasicAuthentication(ServiceConnection midpConnection) throws IOException {
            if (username != null && password != null) {
                StringBuffer buf = new StringBuffer(username);
                buf.append(':').append(password);
                byte[] raw = buf.toString().getBytes();
                buf.setLength(0);
                buf.append("Basic ");
                org.kobjects.base64.Base64.encode(raw, 0, raw.length, buf);
                midpConnection.setRequestProperty("Authorization", buf.toString());
    Afterwards you can initialize the Webservice with:
    AuthTransportSE androidHttpTransport = new AuthTransportSE(URL, userName, pasword);
    Cheers,
    Dennis.

  • How to consume the Abap web service in Java web-dynpro

    Hi Everyone,
    I want to consume ABAP web service in java web dynpro.
    so when i tried to create model in java web-dynpro, it gave me an error message saying "Invalid WSDL or WSDL not found".
    i think this error message is because, to access the WSDL of abap web-service, we need username and password, but the dialog box in java web-dynpro is not programmed to take username and password from us and send it to the server to get the WSDL.
    i came to this conclusion because i was able to successfully test my abap web-service in java portal. the java portal asked me the username and password to open the WSDL.
    So, please help me to consume the abap web service in java web-dynpro.
    Thanks in advance
    Regards
    Vikas

    Hi Vikas ,
       while creating a model in web-dynpro try to use the "import web service model" option and if you are using local server choose the local server option so that you can get the available web services which are in server, select one among them and continue you process.I think this is the some what easy way .
    If you want use the URL for wsdl better to once test the available service in server and copy that WSDL URL and paste over  WSDL textbox.
    I think this is pretty help ful to you
    Best Regards
    Srikatnh

  • ABAP memory performance issue

    Dear experts:
        I got a problem with ABAP memory performance issue. I need to export an internal table to ABAP memory, and it's ID is sales order number. So, I will bulid too many ABAP memory in SAP...
        Does it will couse performance issue or will it be lost?
    tyrolu

    Hi Tyrolu,
    There are some settings in basis which decides size of your abap memory.
    If you are consuming most of the abap memory by exporting heavy objects to abap memory then
    you may face a problem as many standard sap program aslo uses abap memory and
    if there is no free abap memory then they will start thowing short dumps like "Page allocation error"
    or "Could not allocate shared memory" or something like that, I don't remember exact term now.
    In some cases you won't have any problem if users are less, but as the no of concurrent users
    running your program increased then every user who runs the program would consume abap memory
    and if there is no free abap memory then this may again lead to above mentioned problem.
    Also ensure FREE MEMORY ID is used which clears abap memory immediatly.
    Other wise abap memory is cleared by the garbage collector on random basis and by that time
    your memory remains consumed and not available for other programs to use
    which may again lead to above mentioned problem.
    Regards,
    Vishal

  • SPROXY: XSLT Type Error when testing

    We are using SAP PI 7.1 to consume ABAP Proxies. We have performed all the necessary configurations and are able to see the ESR from within SAP R/3. When testing an ABAP Proxy via SPROXYI receive the error shown below. In fact I receive this error for all proxies that I try to test, including standard SAP functions. I am assuming this is a configuration issue rather than a specific issue with a proxy. I have checked SDN and SAP Service and I can't find any mention of this specific error. Is there anyone out there who can help?
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Call Inbound Proxy
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIProxy</SAP:Category>
      <SAP:Code area="ABAP">PARSE_APPLICATION_DATA</SAP:Code>
      <SAP:P1>Request Message</SAP:P1>
      <SAP:P2>CX_CALL_ST_ERROR</SAP:P2>
      <SAP:P3 />
      <SAP:P4>Error Text: A type conflict occurred during the parameter transfer to the root INPUT of /1SAI/TXS1EF71A636AE519CFE80A Kernel ErrorId: UNCAUGHT_EXCEPTION</SAP:P4>
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Error during XML => ABAP conversion (Request Message; error ID: CX_CALL_ST_ERROR; ( Error Text: A type conflict occurred during the parameter transfer to the root INPUT of /1SAI/TXS1EF71A636AE519CFE80A Kernel ErrorId: UNCAUGHT_EXCEPTION)) A type conflict occurred during the parameter transfer to the root INPUT of /1SAI/TXS1EF71A636AE519CFE80A</SAP:Stack>
      <SAP:Retry>N</SAP:Retry>
      </SAP:Error>

    Hi Robert,
    i know that this is quite late. The problem is with the XSLT which gets generated when you generate PROXY. And some times the kernel doesn't doesn't set the conversion of XSLT correctly. you can check the syntax of the XSLT /1SAI/TXS1EF71A636AE519CFE80A in the transaction STRANS.
    There should be some basis notes from the component BC-DWB-PRX to solve the problem.

  • Enterprise Services - Architecture - Interaction with ECC

    Can someone please link to architectural docuementation for Enterprise Services which explains how NW PI interacts with ECC?

    Hi Jesse,
    > I've already searched and not found what I was looking for
    Which means you haven't used proper keywords. PI and ECC integration (using proxy, RFC, Idoc etc) is well documented and I am surprized to know that you weren't able to find it.
    >So you should assume that the poster has already searched.
    Nope. This is very common for people to do "Crowd-sourcing" and "do-my-job" and post question without searching (or rather lazy search) and that's why moderators are there
    Let me give you few keywords for search.
    ECC Proxy PI  = Proxy connection between PI and ECC (provider as well consumer)
    ABAP Proxy PI = same as above
    SWF_BAM  = Business Event triggering outbound services
    Still you won't be able to find then read following:
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/c0e7ae66-be6d-2a10-d385-92e6e67dee10
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/50d69314-1be0-2b10-11ab-8045021f0c3a
    >If you have links, please do share, but please do not again reply to anyone's post with, "Go search."
    Sorry if you are looking for spoon-feeding then you are asking at wrong place. I can only help you with some basics and then you need to figure things out by yourself and "one-liner" question won't help either.
    Regards,
    Gourav

  • How to connect to SAP Database from a Adobe flex application?

    Hi
    I am an intern currently working on designing an Adobe flex interface that interacts with an SAP Database, although im torn between methods of implementing the most efficient connection without over-complicating the problem. I believe the best approach would be to use SAPJCo but am unfamiliar with how to approach this method and am finding it hard to get detailed documentation or code examples which show connecting to a Database. Another approach would be using a web service but my problems again arise with my lack of knowledge to connect to the Database.
    Any advice or help would be much appreciated.
    Thanks,
    Jonny

    Hi Jonathan.
    I believe webservice is the best approach, steps to create webservice is very simple.
    1. create a webservice from a standard rfc or bapi.
    2. release and activate webservice.
    3. it will generate wsdl file which can be used in flex environment.
    creating webservice.
    http://help.sap.com/saphelp_nw04s/helpdata/en/0d/2eac5a56d7e345853fe9c935954ff1/frameset.htm
    Consuming ABAP Web Services using Flex :
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/emtech/consuming%2babap%2bweb%2bservices%2busing%2bflex
    i hope this surely helps.
    Venkat.

  • Consuming a webservice in ABAP ECC 6.0 without using XI/ PI

    Hi Experts,
    I wanted to consume an external webservice without using XI / PI.After doing my homework and search on sdn I came to know that we can consume webservices in ABAP using proxies using SE80(Enterprise Services).
    I am trying to create a client proxy with the URL of webservice.It asks me the option to choose between URL or HTTP.
    I am selecting URL and in the second screen it asks about the package details and after that it finishes.Later I get an error message stating "NO VENDOR SPECIFIED".Its not allowing me to create a proxy.
    So, here are my questions.
    Does anyone faced the same kind of problem?
    Can we really consume a webservice without using XI / PI or any other middleware?
    Is it possible to consume the webservice only with URL or WSDL file ?
    Please let me know the exact process.
    Thanks in Advance.
    Shanker Pandey.

    Hi Martin,
      Please check these following links. Though you have reported already, these may help
    Proxy Object generation error using Wizard for Web Service Consumption
    Also, please have a look @ /people/thomas.jung/blog/2006/03/13/develop-a-web-service-that-sends-an-email--in-abap-netweaver-04s
    Hope this helps,
    Karthik

Maybe you are looking for

  • My iPhone 4S kept trying to reboot yesterday while in normal use.  Now it is telling me to connect to iTunes to restore but it will not restore, I get error code 4013.

    I have tried all of the suggestions in this forum, taken it to the Geek Squad and our local Apple Rep, I was even on the phone with Apple Support for 2 hours last night and we could not get my phone to reboot.  I am at a loss, any more suggestions?

  • IHC Payment Order not posted

    Hi, I have been unable to post Payment Order (Manual or through IDOC). The error message doesn't give any relevant information. Can you please let me know what can possible go wrong? I have checked configuration and partner profile settings and both

  • Calling function in report region

    Hi all I have report with download link to call a procedure(DOWNLOAD_PROCEDURE) in database Its not working can any one help me select id id2,        id del, case when trim(file_status) = 'Complete' then    htf.anchor('/pls/apex/DOWNLOAD_PROCEDURE?p_

  • Doubt about Web Service Client

    Hi, I'm triyng consuming a WSDL file. When I create a Web Service Client with the URL of the WSDL, the compilation shows this message: init: wscompile-init: Created dir: C:\Documents and Settings\ooliveros\Mis documentos\NetBeansProjects\Selector1\bu

  • Not Sure How To Send String

    I'm totally new to trying to network using Java and extremely poor at networking in general so bear with me here. I'm trying to make a top down shooter and currently the application allows the user to either play as host or connect to a host but all