Consume Type Any in abap proxy

Hi experts,
Is it possible to consume the type Any in abap proxy?. I dont want to change the schema type to string. The generated proxy hasn't any final type. Check the screenshoots:
Regards.

well XSDANY is a rawstring, it is not an ANY type. A rawstring, defined in DDIC is the same thing as a xstring in ABAP. So I propose you to look e.g. at this post:
Guide towards a simple conversion of an XML file to ABAP Internal table, using XML parsing.

Similar Messages

  • Consume web service in ABAP proxy with SOAP header

    Hi Thomas ,
    I am trying to consume web service in  ABAP . I have followed the procedure from one of your web blog <a href="/people/thomas.jung3/blog/2004/11/17/bsp-a-developers-journal-part-xiv--consuming-webservices-with-abap a Developer's Journal Part XIV - Consuming WebServices with ABAP</a> . (640 release).
    I need to pass SOAP header along with SOAP body. As you mentioned I have used if_wsprotocol_ws_header interface to pass header but it is still failing.
    Please see below code and please give some direction to fix the issue.
    1.Create ABAP proxy for WSDL (http://ws.strikeiron.com/SwanandMokashi/StockQuotes?WSDL). It has created structures only for SOAP body.
    2.Create Logical port
    3.Create following program to call proxy
    REPORT  zproxy.
    DATA: ref_stock TYPE REF TO zzco_stock_quotes_soap ,
          ws_header TYPE REF TO if_wsprotocol_ws_header,
          name TYPE string,
          namespace TYPE string.
    TRY.
        CREATE OBJECT ref_stock
      get WS_HEADER protocol
        ws_header ?= ref_stock->get_protocol('IF_WSPROTOCOL_WS_HEADER').
      set somehow header as iXML-DOM tree
        DATA: ixml TYPE REF TO if_ixml,
              xml_document TYPE REF TO if_ixml_document,
              xml_root TYPE REF TO if_ixml_element,
              xml_element TYPE REF TO if_ixml_element,
              xml_node TYPE REF TO if_ixml_node.
        DATA l_xstring        TYPE xstring.
        DATA l_string         TYPE string.
        FIELD-SYMBOLS <fs_xstring> TYPE xstring.
      Additional Header:
        CONCATENATE
    '<soap:Header>'
    '<s1:LicenseInfo xmlns:s1="http://ws.strikeiron.com">'
    '<s1:RegisteredUser>'
    '<s1:UserID>[email protected]</s1:UserID>'
    '<s1:Password>aaaaaaaa</s1:Password>'
    '</s1:RegisteredUser></s1:LicenseInfo>'
    '</soap:Header>' INTO l_string.
      convert to xstring
        l_xstring = cl_proxy_service=>cstring2xstring( l_string ).
        IF NOT l_string IS INITIAL.
        create iXML DOM document from XML xstring
          CALL FUNCTION 'SDIXML_XML_TO_DOM'
            EXPORTING
              xml           = l_xstring
            IMPORTING
              document      = xml_document
            EXCEPTIONS
              invalid_input = 1
              OTHERS        = 2.
          IF sy-subrc = 0 AND NOT xml_document IS INITIAL.
            xml_root = xml_document->get_root_element( ).
            xml_element ?= xml_root->get_first_child( ).
          add header element by element to SOAP header
            WHILE NOT xml_element IS INITIAL.
              name = xml_element->get_name( ).
              namespace = 'http://swanandmokashi.com' . "xml_element->get_namespace_uri( ).
              IF NOT xml_element IS INITIAL.
              ENDIF.
              ws_header->set_request_header(
                          name = name
                          namespace = namespace
                          dom = xml_element ).
              xml_element ?= xml_element->get_next( ).
            ENDWHILE.
          ENDIF.
        ENDIF.
      CATCH cx_ai_system_fault .
    ENDTRY.
    *Call soap body using abap proxy class.
    DATA: get_quotes TYPE zzget_quotes_soap_out .
    DATA: get_quotes1 TYPE zzget_quotes_soap_in .
    get_quotes1-quote_ticker = 'GE'.
    TRY.
        CALL METHOD ref_stock->get_stock_quotes
          EXPORTING
            get_quotes1 = get_quotes1
          IMPORTING
            get_quotes  = get_quotes.
      CATCH cx_ai_system_fault .
      CATCH cx_ai_application_fault .
    ENDTRY.
    4.It is throwing cx_ai_system_fault error.
    SOAP details:
    Input:
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:enc="http://schemas.xmlsoap.org/soap/encoding" >
    <soap:Header>
    <s1:LicenseInfo xmlns:s1="http://ws.strikeiron.com">
    <s1:RegisteredUser>
    <s1:UserID>[email protected]</s1:UserID>
    <s1:Password>aaaaaaaa</s1:Password>
    </s1:RegisteredUser>
    </s1:LicenseInfo>
    </soap:Header>
    <soap:Body>
    <tns:GetQuotes xmlns:tns="http://swanandmokashi.com">
    <tns:QuoteTicker>GE</tns:QuoteTicker>
    </tns:GetQuotes>
    </soap:Body>
    </soap:Envelope>
    Thanks,
    Kavitha.

    Hi ,
    Thank you for the response. Did you passed user email and password ([email protected] /aaaaaaaa) part of licenseinfo->resisteredUser along with Quoteticker GE in analyzer?
    <a href="http://www.strikeiron.com/Analyzer/OnlineAnalyzer.aspx?WSDL=http://ws.strikeiron.com/SwanandMokashi/StockQuotes?WSDL">ANALYZER</a>
    Thanks,
    Kavitha.

  • Get error "SoapFaultCode:1"Consume web service in ABAP proxy

    Hi All,
    I created a proxy and logical port to consume a BOBJ Data Service' webservice, when I tested the proxy I get exception:
    SoapFaultCode:1 without further more information.
    the wsdl is @ http://nspad372.dmzpal.sap.corp:8080/DataServices/servlet/webservices?ver=2.1&wsdlxml
    and the endpoint of that webservice is@ http://cnst50052835:8080/DataServices/servlet/webservices?ver=2.1
    By using SOAPUI I can successful call that webservice, but with ABAP proxy not. Can someone give me a help?
    thanks& bst regards,
    Bin

    Hi
    1.- check adding the host of the Service to your etc\hosts file unix case, or your DNS in case you have one.
    2.- Add the SOAP Action in the Logical Port Config (Obtain it from the WSDL info).
    Hope this help,
    Greetings.

  • Why RFC destination of type H in ABAP proxy

    Hi All,
    We specify the XI integration server url in the Sxmb_adm transaction of the application SAP system..
    Why do we still require a RFC destination of type H pointing from application sys to XI...
    What is the exact function of that RFC of type H

    in SXMB_ADM, as far as I know we can give in two ways,
    one is explicit URL, i.e., http://HOST:PORT/sap/xi/engine?type=entry
    second option is, dest://RFCDestinationTypeH
    RFCDestinationTypeH actually uses the above http entry.

  • SoapFaultCode:1"Consume web service in ABAP proxy

    Hi,
    All while trying to execute the web service in ABAP i am getting the following error: SoapFaultCode:1".
    When i used tcode ST11, i found it is giving the following error trace:
    XRFC>
    XRFC> E HTTP_TRANSPORT_BINDING 20091202120425.2099810 : CL_SOAP_HTTP
    XRFC> TPBNDROOT ->HANDLE_STATUS_CODE Received return code 500 (
    XRFC>
    XRFC>
    XRFC> E SOAP_RUNTIME 20091202120425.2897590 : CL_SOAP_RUNTIME_CLIENT
    XRFC> ->EXEC_PROCESSING SOAP Fault Exception caught: : System.Web
    XRFC> .Services.Protocols.SoapHeaderException: SOAP header To was not
    XRFC> understood.#
    Can anyone please help with this?

    Hi
    1.- check adding the host of the Service to your etc\hosts file unix case, or your DNS in case you have one.
    2.- Add the SOAP Action in the Logical Port Config (Obtain it from the WSDL info).
    Hope this help,
    Greetings.

  • Soapfaultcode:1 Error when consuming webservice through abap proxy class

    Hi All,
    I am facing a issue executing a proxy class created by consuming web service.
    I have consumed a web service which queries data from oracle server to process them in SAP.We have created a Proxy class and did the following configurations:
    1) Created a logical port using SOAMANAGER
    2) In SICF t-code we have selected No proxy setting for local server.
    But when we execute the proxy class it gives an error as "SoapFaultCode:1'.
    Regards,
    Madhu.

    Hi Madhu,
    Please tel us how u have solved it. I am also facing this problem.
    I am trying to understand this problem description 'SOAP ACTION name by definition of the logical port.' via the thread Re: Get error "SoapFaultCode:1"Consume web service in ABAP proxy - But couldn't able to understand how to do this.
    Thank You,
    Regards,
    Naresh.

  • Post user and pass to SOAP Header message in ABAP Proxy

    Hi Folks!
    I'm trying to post user and pass to SOAP Header on an ABAP proxy. I've already read the thread [Consume web service in ABAP proxy with SOAP header|Re: Consume web service in ABAP proxy with SOAP header; and I see that is possible to manipulate SOAP Header but I cannot understand how I work with function module SDIXML_XML_TO_DOM.
    Do I need pass to parameter xml a complete SOAP Envelope? If it is right how can I get the complete xml message to pass to this parameter? I think I don't need the build the xml strucuture as I did on WebAS 6.40, isn't it?
    Thanks in advanced.

    Hi Rafael,
    I would be interested in the solution... could you please post it into forum.
    Thanks and best regards
    Stefan Bosshard

  • Can ABAP proxy to consume WSDL file be run as background job for every10min

    Hi all,
    I have a requirement where I need to build an interface which gatheru2019s the purchase order details and send to external third party software in their required format (as an XML file).
    So I should be the first point of contact and should trigger the interface each time a purchase order is generated.
    So I am thinking that I should develop a background job for every 10 minutes which will look for new purchase orders and gathers the information of the purchase orders and send them to external third party software in their required format.
    I have gone through all the SAP forums and e-Learning but still I have confusion in regards to how is it possible technically? Can some one guide me with some information on the same.
    I have a little bit of confusion and want to know few things.
    1)     Should I create a web service or should I consume a web service?
    2)     If I need to consume a web service, then can I write an ABAP proxy to be run in background fro evry 10 minutes? I mean can we run ABAP proxy as a batch job in the background?
    3)     Is there a difference between consuming an XML file and WSDL File?
    Any Help will be highly appreciated.
    Regards,
    Jessica.

    There are two options (as I know) to generate XML file.
    1. Use XML TRANSFORMATION to get the XML string based your TRANSFORMATION. You can input your data and get back the XML string. Download this string to a file
    Test XML generation program is:
    types: begin of ty_data,
           num   type i,
           end   of ty_data.
    DATA: itab TYPE standard table of ty_Data,
          la_data like line of itab,
          xmlstr TYPE string.
    DO 3 TIMES.
      la_data-num = sy-index.
      APPEND la_data TO itab.
    ENDDO.
    CALL TRANSFORMATION ztest_np1
      SOURCE table = itab
      RESULT XML xmlstr.
    CALL FUNCTION 'DISPLAY_XML_STRING'
      EXPORTING xml_string = xmlstr.
    My ZTEST_NP1 transformation. To create a transformation, click on the transformation in the "CALL TRANSFORMATION ztest_np1" statement. Select Simple transformation type.
    <?sap.transform simple?>
    <tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
      <tt:root name="table"/>
      <tt:template>
        <table>
          <tt:loop ref=".table">
            <item>
              <tt:value ref="NUM"/>
            </item>
          </tt:loop>
        </table>
      </tt:template>
    </tt:transform>
    XML string is like:
      <?xml version="1.0" encoding="utf-8" ?>
      <table>
      <item>1</item>
      <item>2</item>
      <item>3</item>
      </table>
    To use this option, you have to create a transformation and than use it to generate the XML string.
    Check this SAP Help
    http://help.sap.com/saphelp_nw04s/helpdata/en/e3/7d4719ca581441b6841f1054ff1326/frameset.htm
    2. You can concatenate and create an XML string and download that string into a file.
    Regards,
    Naimesh Patel

  • XSD Data Type to ABAP Proxy Tech. Type

    I am working with an ABAP development team who is creating PROXYs from the Service Interfaces I have setup in the ESR (PI 7.11). I have been asked to set the type of a numeric field by the ABAP developer as this:
    "Yeah we can convert from string to currency but sap internally stores currency with 3 decimals so we may got to do some multiplications and divisions based on how many decimals sender passes. If you could create a numeric with 3 decimals that is ideal."
    The XSD type as xsd:decimal, but in the proxy it seems to create Tech. Type = STRING.
    I can apply formatting rules in the message mapping, but developer is convinced that the Service Interface can have the correct ABAP Tech. Type. I do not find any messages in this forum, so not sure what to do.
    Thank you for your time.

    Internal ABAP types like packed or float cannot be created by ABAP proxy.
    I recommend to use String for any type. Inside XML you will have a String representation anyway, but you will encounter less issues in converting from XML to ABAP internal types.
    I work a lot with currency fields, it is no problem at all. Inside ABAP you mave currency field to string field, the decimals are correct.
    If course, in mapping you have to create a decimal field, but this would not be any change, if you had a decimal type in ABAP.

  • Problem with numeric types in Abap Proxy

    Hello,
    We are having problems with some abap proxy calls. When a numeric type is filled with 0 the node it´s automatically removed and no value it's recived in XI. The only way I have found to avoid this problem it's to define the field with type string or change the cardinality to 1..1 instead of 0..1. It's there any way to maintain the type and the cardinality?? Maybe with a pattern??
    Regards,
    Alberto Pla.

    Hi Alberto
    I had this problem, and I decided to use xsd:string instead of xsd:integer. This will solve the issue.
    Anyway.. check this note:
    [Note 1242795 - Mapping of XSD default values by ABAP Proxy Generation|https://service.sap.com/sap/support/notes/1242795]
    Regards
    Francesco

  • Pros & Cons for consuming web services in ABAP using ABAP PROXY

    Hi,
    Other then performence  is there any other disadvantages like security,etc for consuming web services in ABAP using ABAP proxy?
    I really appreciate if some one provide the more details(Pros & Cons ) regarding cosuming web services and I also want to know is there any other way to consume web services in ABAP.
    Thanks.

    <i> is there any other way to consume web services in ABAP</i>
    you can use cl_http_client class to make your program to act as http client and post the soap message too webservice. This way you dont need to generate proxy, but you should know the soap message format.
    Regards
    Raja

  • Consume WSDL in ABAP proxy : Issue with name space

    Hi,
    I was trying to consume a WSDL in ABAP and I have created ABAP proxy using wizard in SE80 and also did the LPCONFIG.
    While calling the proxy methods it is throughing the "authrization failed" error because of the following issue.I have successfully executed same WSDL from some third party tools with out error.only difference I have observed in SOAP request is, Third party tools passing all name spaces at envelope level but in ABAP proxy it is not passing all name spaces at envelope level.
    1. SOAP genarated from WSDL in  third party tool.
    <<b>soap:Envelope</b> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="<b>http://schemas.xxxxx.com</b> ">
      <soap:Body>
        <tns:<b>GetKMContent</b>>
          <tns:request>
            <tns:clientID>1</tns:clientID>
            <tns:employeeID>307478</tns:employeeID>   
            <tns:languageCountryCode>en-US</tns:languageCountryCode>
            <tns:wscVariables>
              <tns:empcountry>US</tns:empcountry>         
            </tns:wscVariables>
          </tns:request>
        </tns:GetKMContent>
      </soap:Body>
    </soap:Envelope>
    SOAP genarated from WSDL in  ABAP proxy.
    <<b>soap-env:Envelope</b> xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
    <soap-env:Header>
    <n0:Trace xmlns:n0="http://www.sap.com/webas/630/soap/features/runtime/tracing/">
    <TraceLevel xmlns="http://www.sap.com/webas/630/soap/features/runtime/tracing/">Full</TraceLevel>
    </n0:Trace></soap-env:Header>
    <soap-env:Body>
        <nr1:<b>GetKMContent</b> xmlns:nr1="<b>http://schemas.xxxxx.com</b> ">
             <nr1:request>
               <nr1:clientID>1</nr1:clientID>
               <nr1:employeeID>307478</nr1:employeeID>
               <nr1:languageCountryCode>en-US</nr1:languageCountryCode>
               <nr1:wscVariables>
               <nr1:empcountry>US</nr1:empcountry>
               </nr1:wscVariables>
            </nr1:request>
         </nr1:GetKMContent>
      </soap-env:Body>
    </soap-env:Envelope>
    I was trying to use the SOAP genarated in ABAP proxy in thrid party tool and end up with same "authrization failed " error. If I move the name space  <b>nr1</b> from <<u>nr1:GetKMContent xmlns:nr1="http://schemas.xxxxx.com "></u>  <b>GetKMContent</b> node to <b>soap-env:Envelope</b> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:nr1="http://schemas.xxxxx.com "> then it is working fine.
    Question :Is there any way in ABAP proxy to pass name space at soap-env:Envelope level or is there any way to change the SOAP request once it is genarated from ABAP Proxy?. Is there any API to change SOAP information?
    Thanks,

    Hi Kavitha,
    I am also facing the same issue.
    Could you please share the solution if you have solved this.
    Thanks,
    Arun

  • How use a proxy consumer web service in ABAP Program with local interface

    I generate a proxy class based on a WSDL file.
    I want to use this class in an abap programm without a connection but using XML files in local.
    I see with the class CL_PROXY_LOCAL_ADAPTER that it is possible to execute without connection but for use this, it's necessary to use the method REGISTER.
    This method have two parameters : Class Name and Interface Name.
    Class name is the name of my proxy class, but I don't know how to find the interface name.
    I think that a local interface is needed to generate but I don't know how to generate in interface with entries in SPROXSIG table ?
    Could you help me ?

    Check out the following links to see if it meets your needs.. Has examples to call a ABAP proxy (that consumes a webservice) from ABAP program...
    http://help.sap.com/saphelp_nw04/helpdata/en/bf/d005244e9d1d4d92b2fe7935556b4c/frameset.htm (webservices ->webservices toolset -> examples)
    http://help.sap.com/saphelp_dm40/helpdata/en/1a/b69d427cab0831e10000000a1550b0/frameset.htm

  • Error handling using fault message type in outbound synchronous ABAP proxy

    Hi,
    We've a scenario, outbound synchronous ABAP proxy to synchronous SOAP receiver. The requirement is to send multiple records in a single rquest and get response for all the records sent (in the same response message).
    Say if I send 10 records from ECC, I should get 10 records as response from SOAP to ECC. But the problem here is, there could be some invalid requests, for which an invalid error status code should be sent as part of response.
    Source Structure
    Req_Proxy
        req (0..unbounded, string)
    Response Structure
    Resp_SOAP
      Resp (0..Unbounded)
           respString (0..1, String) (carries the actaul response message)
          status code (0..1, String) (carries the status of the response, for ex, 001 (successful), 002 (error))
    And now we are planning to make use of Fault Message Type, to track the errors from SOAP (status code 002). But, we are not sure on how to track this for all the requested records. Is it possible to track the errors for all the requested records in a singe call using fault message type? For eg if 8 records are successful and 2 are invalid, then we should get 10 records in response 8 for valid and 2 for invalid accordingly.
    Please calrify.
    Thanks.
    Rohit

    For eg if 8 records are successful and 2 are invalid, then we should get 10 records in response 8
    for valid and 2 for invalid accordingly.
    Check if you can modify the WSDL structure to include an error node that would get populated incase of invalid entries....this would mean that you get the success and failure details in the single message....also at the proxy-end make the necessary change in your DT.....may be then you do not need to use the fault message...
    Regards,
    Abhishek.

  • Consuming stateful web service via ABAP proxy

    Hi all,
    I´ve got the following scenario. I´ve a ABAP proxy generated based on a WSDL file. The provider is a WebService provided by a tomcat server. (no PI etc. as middleware). The problem i´ve now is that the webservice is stateful so I need a stateful communication between my ABAP report (client) and the Web Service.
    I´ve already found the possibiliy to switch on the feature "Session-Oriented Communication" on "Preconfiguration Tab" of the ABAP Proxy Screen. But unfortunately it´s not working.
    Anybody knows whether general system settings has to be changed for this. Or anybody has other tips.
    I´m currentliy working on the SAP Discovery System v3 which is a Netweaver 7.0.
    Many thanks in advance for your answers,
    Andy

    Marcelo  Almeida wrote:
    > You can use Logial port for it in LPCONFIG ( Transaction). See this examplo Below:
    >
    > TRY.
    >
    > CREATE OBJECT my_proxy
    > EXPORTING
    > logical_port_name = 'LP01'.
    > CATCH cx_ai_system_fault.
    > ENDTRY.
    >
    > TRY.
    > input-airline_id = p_carrid.
    > input-connection_id = p_connid.
    > input-flight_date = p_fldate.
    >
    > CALL METHOD my_proxy->flight_get_detail
    > EXPORTING
    > input = input
    > IMPORTING
    > output = output.
    > CATCH cx_ai_system_fault.
    > CATCH cx_ai_application_fault.
    > ENTRY.
    >
    > Its necessary create a connection in SM59 (type H) and setting in the call parameters logical port (LPCONFIG).
    Hi,
    thanks for your answer. It´s working!
    Cheers,
    Andy

Maybe you are looking for

  • Need help with cs5 updates

    I upgraded to CS5 recently. I started getting no tices there were updates available. When I got to the update page and clicked on update, I got a message that said 'another instance of updater is running, please try again later". This has happened ea

  • Duplicate Topic Output?

    Greetings On a PC importing Frame 10 into RoboHelp 9 as part of the TCS, I am getting duplicate topic hits on search returns. This is the most plain vanilla project you can imagine. Started with a clean import. Output WebHelp, opened the output and n

  • JDBC Drivers Exception...........

    Hi: I am using Apache 1.3.26 + JBoss + Tomcat on my Web/APP Server and Oracle 9.1 on DB Server. I installed JDBC Drivers ojdbc14.jar, classes12.jar, nls_charset111.jar on my APPLICATION Server and SET the CLASSPATH accordingly. What all need to be do

  • Unable to upload photos on facebook

    Hi I am unable to upload any photo on facebook even though file size is very small. Help page on facebook advises to update flash player, which I always do. This has started happening only in the last about six months. Thanks & regards Vinay

  • Error in EPM config for financial reporting

    While configuring the Financial reporting we recieve error as :an unexpected error occured and application will shutdown" after financial reporting Schema configuration step. Please let us know if you have any suggestions for the same. Thanks in adva