Consuming SAP web services with tables

I'm doing kind of feasibility study on consuming SAP web
services from CF.
So far so good, but I'm stuck dealing with tables
(import/export parameters in SAP world).
I know how to receive a table object from SAP functions:
* With Apache Axis v1.2: pass an empty CF structure as a
parameter
* With Apache Axis v1.4: pass an empty CF array as a
parameter
Then the parameter is filled with data (replaced with Java
object) and we can just parse the object accordingly.
My question here is whether or not we can pass a *table with
actual records*.
For example, I want to pass a table with multiple records to
update DB records under SAP.
I tried passing (1) CF array of structure and (2) Java
ArrayList with no chance.
The web service call itself completes without errors (no
method signature error), but the SAP function seems to see the
parameter as an empty table.
Anyone has been successful with this case?
Any suggestion would be much appreciated.

Thanks Dan,
Unfortunately CF query object didn't work either.
Now I'm looking at the code generated by Flex Builder to see
how the classes are like ;-)
It's just an ArrayCollection of simple value objects
(representing a row).
So CF array of structure or Java ArrayList looks a reasonable
approach though they don't at all.

Similar Messages

  • Consume SAP Web service with parameters in Forms using JS

    Hi All
    I am trying to execute a call to a webservice using javascript from my adobe form .
    I can get this working by creating a DataConnection and mapping input fields on the form to the Request structure (XFA method) .
    But when I use JS, i cannot get it working while using paramters.
    Here is my sample code.
    var cUrl = http://XXXXXXX:XXXX.........;
    var service = SOAP.connect(cUrl);
    var inputVal = {IvMatnr:MATNR.rawValue, Ivlgort:LGORT.rawValue, IvWerks:WERKS.rawValue};
    var result = service.ZppTestGetBatchNumbers(inputVal);
    //xfa.host.messageBox("Success");
    txtResult.rawValue = result;
    xfa.connectionSet.<DataConnectionName>.execute(0);
    Any help would be greatly appreciated
    Regards,
    ArMen

    Hi,
    Instead of using parameters, I am now using hidden text fields on the foem which I have bound to the web service call.
    This is a work around that is working fine for me..
    Cheers..

  • Consuming a Web Service with WEB AS 6.40

    Hello,
    i try to consume a Webservice from the internet. I have configured the logical port and i created the client proxy as shown in the following real good weblog from
    Thomas Jung.
    /people/thomas.jung3/blog/2004/11/17/bsp-a-developers-journal-part-xiv--consuming-webservices-with-abap
    But when i try to test the proxy in SE80 I retrieve the following error:
    <CODECONTEXT>http://www.sap.com/xml_errorcodes</CODECONTEXT>
      <CODE>SOAP:111</CODE>
      <ERRORTEXT>Unallowed RFC-XML Tag (SOAP_EINVALDOC)</ERRORTEXT>
    What's wrong here? Someone can help me?
    Thanks for your help!
    Klaus

    We had the same error message for one of our Proxy Web Service calls.
    We tried to use an RFC instead of the URL, and performed a TEST CONNECTION.  And low and behold, we received an error message that was much more helpful than the "Unallowed RFC-XML Tag (SOAP_EINVALDOC)" message.
    The problem for us was that the Server that we were trying to consume the Web service from was blocking the IP address of our Web Application Server.
    We contacted the administrator, he verified that was the case, removed the restriction, and all is good now.
    Here was the message we saw when we tested it in the RFC:
    The Web server you are attempting to reach has a list of IP addresses that are not allowed to access the Web site, and the IP address of your browsing computer is on this list.  Please try the following: Contact the Web site administrator if you believe you should be able to view this directory or page.
    Hope this helps!

  • Consuming a Web Service with ABAP in WAS 6.40 (SS3)

    Hi Everyone,
         Has anyone successfully consumed a web service (based on an EJB) that is published to the J2EE engine of their WAS 6.40 server by creating a proxy from the ABAP layer?
         We are encountering the following problem: When executing method of the proxy to call the Web Service on the J2EE engine, the CX_AI_SYSTEM_FAULT exception is triggered with the message "Unallowed RFC-XML Tag (SOAP_EINVALDOC)".
         This same problem has occurred with multiple web services, even though the proxy generation seems to execute without a problem.  Is there some system setting that could cause this?  We have run the SOAP Runtime trace, but only receive the same basic information about the problem.
         If anyone has any thoughts at all, I'd be grateful to hear them.
         Thanks,
            --Greg

    Hi,
    We encountered problems when consuming a foreign WS. It seems to be that RPC style WSDL isn't supported by the WAS 6.4 WS proxy. An interesting reading on this is
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/documents/a1-8-4/the difference between rpc and document style wsdl.article
    Eddy

  • Consuming  a Web Service with PasswordDigest Authentication in ABAP

    Hello,
    I need to consume a web service in ABAP from a non-SAP application. The web service uses wsse:UsernameToken with PasswordDigest in the SOAP Header for authentication. However, I havent seen any documentation for using Password Digest in ABAP.
    Is it possible to use Password Digest in ABAP?
    Thanks
    Ajay

    Hi Marc,
    Here is the ABAP Code to build the SOAP header.
    FUNCTION Z_GET_SOAP_REQUEST_HEADER.
    *"*"Local Interface:
    *"  EXPORTING
    *"     VALUE(ER_SECURITY_ELEMENT) TYPE REF TO  IF_IXML_ELEMENT
    *date and time data
      data: lv_sys_date like sy-datum,
            lv_sys_time like sy-uzeit,
            lv_year(4) type c,
            lv_month(2) type c,
            lv_date(2) type c,
            lv_hour(2) type c,
            lv_min(2) type c,
            lv_sec(2) type c.
      data : lv_created type string,
            lv_snonce type string,
            lv_b64nonce type string,
            lv_webservice_password type string,
            lv_webservice_userid type string,
            lv_spassword type string,
            lv_xpassword type xstring,
            lv_hpassword type hash160x,
            lv_b64password(255) type c,
            lv_xpasslen type i,
            lv_hpasslen type i.
    *xml declartions
      data : lv_sheader type string,
            lv_xheader type xstring,
            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.
    *get the c-link password.
    CALL METHOD ZCL_CDB_SYNC_CFG_READER=>GET_USERID_PASSWORD
      IMPORTING
        EV_USER_ID  = lv_webservice_userid
        EV_PASSWORD = lv_webservice_password
    *Evaluate created date time
      lv_sys_date = sy-datum.
      lv_sys_time = sy-uzeit.
      lv_year = lv_sys_date(4).
      lv_month = lv_sys_date+4(2).
      lv_date = lv_sys_date+6(2).
      lv_hour = lv_sys_time(2).
      lv_min = lv_sys_time+2(2).
      lv_sec = lv_sys_time+4(2).
      CONCATENATE lv_year '-' lv_month '-' lv_date 'T' lv_hour ':' lv_min ':' lv_sec '.000Z' into lv_created.
    *Create and encode the nonce
      CALL FUNCTION 'GENERAL_GET_RANDOM_STRING'
        EXPORTING
          NUMBER_CHARS  = 24
        IMPORTING
          RANDOM_STRING = lv_snonce.
      CALL METHOD cl_http_utility=>ENCODE_BASE64
        EXPORTING
          UNENCODED = lv_snonce
        RECEIVING
          ENCODED   = lv_b64nonce.
    *create the password to be sent to web service
      CONCATENATE lv_snonce lv_created lv_webservice_password into lv_spassword.
    *encode password to xstring
      CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
        EXPORTING
          TEXT   = lv_spassword
        IMPORTING
          BUFFER = lv_xpassword.
      lv_xpasslen = xstrlen( lv_xpassword ).
      CALL FUNCTION 'CALCULATE_HASH_FOR_RAW'
        EXPORTING
          ALG      = 'SHA1'
          DATA     = lv_xpassword
          LENGTH   = lv_xpasslen
        IMPORTING
          HASHX    = lv_hpassword
          HASHXLEN = lv_hpasslen.
      CALL FUNCTION 'SCMS_BASE64_ENCODE'
        EXPORTING
          INPUT            = lv_hpassword
          INPUT_LENGTH     = lv_hpasslen
        IMPORTING
          OUTPUT           = lv_b64password
        EXCEPTIONS
          OUTPUT_TOO_SMALL = 1
          OTHERS           = 2.
      IF SY-SUBRC <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    * build the header
      CONCATENATE
    '<soap-env:Header xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">'
    '<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">'
    '<wsse:UsernameToken wsu:Id="########" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">'
    '<wsse:Username>'
    lv_webservice_userid
    '</wsse:Username>'
    '<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">'
    lv_b64password
    '</wsse:Password>'
    '<wsse:Nonce>'
    lv_b64nonce
    '</wsse:Nonce>'
    '<wsu:Created>'
    lv_created
    '</wsu:Created>'
    '</wsse:UsernameToken>'
    '</wsse:Security>'
    '</soap-env:Header>'
    INTO lv_sheader.
    *Build the xml header element
      lv_xheader = cl_proxy_service=>cstring2xstring( lv_sheader ).
      TRY.
          CALL FUNCTION 'SDIXML_XML_TO_DOM'
            EXPORTING
              xml           = lv_xheader
            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( ).
            er_security_element ?= xml_root->get_first_child( ).
            gr_soap_security_header = er_security_element.
          ENDIF.
        CATCH cx_ai_system_fault .
      ENDTRY.
    ENDFUNCTION.

  • ABAP Web Service with tables

    Hello,
    <br>
    <br>
    We need to build a web service with a predefined message in our ERP (ABAP), without PI or WebAS JAVA.
    <br>
    <br>
    We thought it should be a simple task, because we had no problem with many other applications and systems when building the same service, but were not able to build it with SAP ABAP, probably as a consequence of our lack of knowledge on ABAP SOAP runtime.
    <br>
    <br>
    We have an external asynchronous process that delivers information to many other systems using web services (information diffusion). Concecuently, the web service call's structure is determined by the caller, so we have to fulfill this structure if we want to receive the info.
    <br>
    <br>
    The owner of the process defined a very simple service call, in which one kind of  "record" can be repeated 1 to n times:
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    &lt;reglasSuscripcion&gt;
    <br>
                &lt;!Zero or more repetitions:&gt;
    <br>
                   &lt;nombre&gt;?&lt;/nombre&gt;
    <br>
                   &lt;valor&gt;?&lt;/valor&gt;
    <br>
                   &lt;nombre&gt;?&lt;/nombre&gt;
    <br>
                   &lt;valor&gt;?&lt;/valor&gt;
    <br>
                   &lt;nombre&gt;?&lt;/nombre&gt;
    <br>
                   &lt;valor&gt;?&lt;/valor&gt;
    <br>
    <br>
                   &lt;nombre&gt;?&lt;/nombre&gt;
    <br>
                   &lt;valor&gt;?&lt;/valor&gt;
    <br>
    &lt;/reglasSuscripcion&gt;
    <br>
    <br>
    <br>
    In order to receive this info, we have to implement an abap web service handler to accept this kind of call, the same way other applications/systems have already done.
    <br>
    <br>
    We tried to build a RFC function call and create a web service with the wizard and it resulted in a web service with the following WSDL:
    <br>
    <br>
    &lt;soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:sap-com:document:sap:soap:functions:mc-style"&gt;
    <br>
    <br>
    <br>
    <br>
             &lt;reglasSuscripcion&gt;
    <br>
                &lt;!Zero or more repetitions:&gt;
    <br>
                &lt;item&gt;
    <br>
                   &lt;nombre&gt;?&lt;/nombre&gt;
    <br>
                   &lt;valor&gt;?&lt;/valor&gt;
    <br>
                &lt;/item&gt;
    <br>
    <br>
    <br>
    <br>
    &lt;item&gt;
    <br>
                   &lt;nombre&gt;?&lt;/nombre&gt;
    <br>
                   &lt;valor&gt;?&lt;/valor&gt;
    <br>
                &lt;/item&gt;
    <br>
             &lt;/reglasSuscripcion&gt;
    <br>
    <br>
    <br>
    <br>
    We found two main problems:
    <br>
    <br>
    1.- When "wrapping" the RFC as a WS with the wizard, for a table datatype it automatically includes the <item></item> tag, so we break the predefined calling rules.
    <br>
    <br>
    2.- The namespace is fixed by the wizard, and we would like to use a common namespace for all the "susbscribers", logically, the namespace fixed by the information diffusion service.
    <br>
    <br>
    We also tried to find info on the outside-in approach for building a web service from the WSDL, but all the info we found required the ESR and we have no PI, just the ERP.
    <br>
    <br>
    Any ideas on how to proceed?
    <br>
    <br>
    Thanks in advance,
    <br>
    <br>
    Joseba M. Iturbe
    <br>
    <br>
    Edited by: Soporte Desarrollo on Mar 5, 2010 10:56 AM

    #2.  I've recently had to "zap" some namespaces in an ECC5 system because the calling (TIBCO) system didn't appreciate the default SAP "urn" default - something to do with multiple colons in the address.  There were, I think, just three table this affected, all VEP* ones.  I think I should have been able to change these via the virtual interface in SE80 except that the ECC5 code was a bit "light" in this respect, so you may be able to do this now in SOAMANAGER in ECC6 (btw,  I also had to re-save the WS definition within WSCONFIG and re-activate the virtual interfaces after this "zap" to generated the associated handler class again).
    #1. Given your "name / value" pairs represent a complex type, then it might be better practice to have them as "item" which is probably why SAP proposes it this way... what does your custom function module parameter list look like?
    Jonathan

  • Exporting to Microsoft Excel from a DataView Web Part consuming a Web Service with Parameters

    In Sharepoint Designer, I've developed a page displaying a DataView Web Part which consumes an XML Web Service with three parameters.  These parameters are passed in from a simple Form Web Part containing three input fields.  I am able to provide default values for the web service so the dataview is initially populated, and when I enter in new parameters, the web service goes back, grabs the requested data and displays in the dataview nice and slick.
    The problem I'm having is this: In Internet Explorer 7, when I right-click on the DataView Web Part and select Export to Microsoft Excel, Excel opens up, says "ExternalData_1: Getting Data..." and returns the data from the web service which applies to the default parameter values each and every time, regardless of whether I have changed the parameters on the web page, and contrary to what the DataView Web Part displays on the screen.
    Has anyone else run into this, and is there a solution to the problem?
    Best regards,
    Mark Christie

    Hi Bullish35,
     It's possible to provide single export button and export your 4 dataview webparts. Here's the modified code.
    <Script Language="Javascript">
    function isIE() // Function to Determine IE or Not
    return /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent);
    function exportToExcel() // Function to Export the Table Data to Excel.
    var isIEBrowser = isIE();
    if(isIEBrowser== false)
    alert('Please use Internet Explorer for Excel Export Functionality.');
    return false;
    else
    var strTableID1 = "detailsTable1", strTableID2 = "detailsTable2", strTableID3 = "detailsTable3", strTableID4 = "detailsTable4";
    var objExcel = new ActiveXObject("Excel.Application");
    var objWorkBook = objExcel.Workbooks.Add;
    var objWorkSheet = objWorkBook.Worksheets(1);
    var detailsTable = document.getElementById(strTableID1);
    var intRowIndexGlobal= 0;
    for (var intRowIndex=0;intRowIndex<detailsTable1.rows.length;intRowIndex++)
    for (var intColumnIndex=0;intColumnIndex<detailsTable1.rows(intRowIndex).cells.length;intColumnIndex++)
    if(intColumnIndex != 3)
    objWorkSheet.Cells(intRowIndexGlobal+1,intColumnIndex+1) = detailsTable1.rows(intRowIndex).cells(intColumnIndex).innerText;
    intRowIndexGlobal++;
    for (var intRowIndex=0;intRowIndex<detailsTable2.rows.length;intRowIndex++)
    for (var intColumnIndex=0;intColumnIndex<detailsTable2.rows(intRowIndex).cells.length;intColumnIndex++)
    if(intColumnIndex != 3)
    objWorkSheet.Cells(intRowIndexGlobal+1,intColumnIndex+1) = detailsTable2.rows(intRowIndex).cells(intColumnIndex).innerText;
    intRowIndexGlobal++;
    for (var intRowIndex=0;intRowIndex<detailsTable3.rows.length;intRowIndex++)
    for (var intColumnIndex=0;intColumnIndex<detailsTable3.rows(intRowIndex).cells.length;intColumnIndex++)
    if(intColumnIndex != 3)
    objWorkSheet.Cells(intRowIndexGlobal+1,intColumnIndex+1) = detailsTable3.rows(intRowIndex).cells(intColumnIndex).innerText;
    intRowIndexGlobal++;
    for (var intRowIndex=0;intRowIndex<detailsTable4.rows.length;intRowIndex++)
    for (var intColumnIndex=0;intColumnIndex<detailsTable4.rows(intRowIndex).cells.length;intColumnIndex++)
    if(intColumnIndex != 3)
    objWorkSheet.Cells(intRowIndexGlobal+1,intColumnIndex+1) = detailsTable4.rows(intRowIndex).cells(intColumnIndex).innerText;
    intRowIndexGlobal++;
    objExcel.Visible = true;
    objExcel.UserControl = true;
    </Script>
    I haven't tested this. But it should work! :)Regards,
    Venkatesh R
    /* My Code Runs in Visual Studio 2010 */
    http://geekswithblogs.net/venkatx5/

  • Consuming a web service with an applet...

    Hi, Ive created an applet in netbeans 5.5, which consumes a web service - it works 100% "run file" in the ide, but when i look at it via web browser, it seems the webservice object cannot be instantiated. I'm guessing I need to somehow include jax-ws objects in my deployment, but how do I do this? - I'm a little out of my depth here, so please explain thoroughly
    Thanks

    Hi,
    We encountered problems when consuming a foreign WS. It seems to be that RPC style WSDL isn't supported by the WAS 6.4 WS proxy. An interesting reading on this is
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/documents/a1-8-4/the difference between rpc and document style wsdl.article
    Eddy

  • Consuming Java Web Service with complex return types

    Hi,
    I'm consuming a Java Web Service and the return I get in
    ColdFusion is a typed Java Object (with custom Java classes like
    com.company.project.JavaClass ...)
    Within this object I don't get direct accessible properties
    as when I'm consuming ColdFusion Web Services, instead I get a
    getPROPERTYNAME and setPROPERTYNAME method for each property.
    How can I handle this? I don't want to call this methods for
    each property (and there are nested objects with arrays of custom
    classes below, which would really make this complicated).
    What's the best way to cope up with this?
    Thanks a lot,
    Fritz

    The web service is actually the function, not the cfc and you
    didn't show a function.
    My own opinion is that since webservices by definition should
    be available to any calling app (cold fusion, .net, flash, etc),
    whatever gets returned from the method should be as universally
    recognizable as possible. This generally means text, numbers,
    boolean, or xml.

  • Consuming Domino web service with JAXB encounters Method Response element

    I am able to consume a Domino R7 (Axis) web service with JAX-WS using Dispatch<SOAPMessage>. When I try using Dispatch<Object> however, JAXB throws an exception because it encounters an unexpected tag.
    The XML from the web service looks like this:
    <Envelope>
        <Body>
            <WebServiceMethodResponse>
                <WebServiceMethodReturn>
                    The meaning of life
                </WebServiceMethodReturn>
            </WebServiceMethodResponse>
        </Body>
    </Envelope>With Dispatch<SOAPMessage>, I can get to the meaning of life quickly using SOAPBody.getElementsByTagName( "WebServiceMethodReturn" ) but with Dispatch<Object>, it appears I must also create a class for the WebServiceMethodResponse element to make JAXB happy. I don't see this happening in other people's examples. Has the Return-element-within-Response-element design been eliminated in pure JAX-WS web services, or is this something that only IBM does?

    In case anyone's search leads them here, I've posted the solution at:
    *[http://www.pby.com/general.nsf/webarticles/dominowebservice01]*
    It is an exhaustive article (not "Hello World"!) that goes through several versions of the web service and client - hopefully explaining all+ pieces of the puzzle:
    ~ web service code,
    ~ WSDLs
    ~ schema
    ~ thoroughly-documented clients that do and do not use JAXB
    ~ ... that use generated artifacts
    ~ ... that customize existing POJOs
    ~ the SOAP messages generated in each direction
    ~ the necessary JAXB annotations
    ~ explanations of how the code works
    ~ explanations of how namespaces affect the code
    ~ on and on and on...
    My constant goal was to write an uncomplicated solution that uses as few artifacts (two) and annotations as possible. The end result is a small, fast JAX-WS 2.0 client that uses JAXB to invoke and consume a secured Domino 7 (1.4.2 JVM + AXIS) web service, using RPC/literal SOAP messages.

  • Consuming a web service with header

    Hi
    I am trying to consume a web service in BIP.
    But the problem is that the authentication is in the header of the SOAP, it does not take the values provided in username/password field in complex type service.
    (However i am able to see the methods in the body of the web service.)
    hence i get an error "username not specified"
    how do i pass the credentials in the header of the soap?
    I am using BIP 10.1.3.4

    This is the output at the oc4j when I try to execute:
    After WSS soapMessage = <soap:Envelope xmlns:soap="http://sche
    mas.xmlsoap.org/soap/envelope/">
    *<soap:Header></soap:Header>*
    <soap:Body xmlns:ns1="urn:XYZ_Request">
    <ns1:OpGet>
    <ns1:Request_ID>000000000000019</ns1:Request_ID>
    </ns1:OpGet>
    </soap:Body>
    </soap:Envelope>
    Notice that Header is null. I want to pass the authentication in the header.

  • Web Services with table element dont work

    I, am trying to use a web service that returns a xml with code and description.
    When i test the web service it works fine but when i use it in a page doesnt work at all.
    There is no parameters to call and the response is:
    <?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:xsd="http://www.w3.org/2001/XMLSchema">
    - <soap:Body>
    - <instituicaoResponse xmlns="http://tempuri.org/">
    - <instituicaoResult>
    - <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    - <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:Locale="pt-PT">
    - <xs:complexType>
    - <xs:choice maxOccurs="unbounded">
    - <xs:element name="Table">
    - <xs:complexType>
    - <xs:sequence>
    <xs:element name="INST" type="xs:decimal" minOccurs="0" />
    <xs:element name="DESCRICAO" type="xs:string" minOccurs="0" />
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:choice>
    </xs:complexType>
    </xs:element>
    </xs:schema>
    - <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
    - <NewDataSet xmlns="">
    - <Table diffgr:id="Table1" msdata:rowOrder="0">
    <INST>0</INST>
    <DESCRICAO>Beneficiários - SAMS Norte</DESCRICAO>
    </Table>
    - <Table diffgr:id="Table2" msdata:rowOrder="1">
    <INST>1</INST>
    <DESCRICAO>Utentes - SAMS Norte (ex.Benef)</DESCRICAO>
    </Table>
    - <Table diffgr:id="Table3" msdata:rowOrder="2">
    <INST>2</INST>
    <DESCRICAO>Beneficiários - SAMS Sul e Ilhas</DESCRICAO>
    </Table>
    - <Table diffgr:id="Table4" msdata:rowOrder="3">
    <INST>3</INST>
    <DESCRICAO>Beneficiários - SAMS Centro</DESCRICAO>
    </Table>
    - <Table diffgr:id="Table5" msdata:rowOrder="4">
    <INST>4</INST>
    <DESCRICAO>Beneficiários - PALOP's (excl. Benef. BCA)</DESCRICAO>
    </Table>
    - <Table diffgr:id="Table6" msdata:rowOrder="5">
    <INST>6</INST>
    <DESCRICAO>Utentes - SAMS Sul e Ilhas</DESCRICAO>
    </Table>
    - <Table diffgr:id="Table7" msdata:rowOrder="6">
    <INST>7</INST>
    <DESCRICAO>Funcionários do SBN/SAMS</DESCRICAO>
    </Table>
    - <Table diffgr:id="Table8" msdata:rowOrder="7">
    <INST>10</INST>
    <DESCRICAO>Utentes - Banco Comercial Angolano</DESCRICAO>
    </Table>
    - <Table diffgr:id="Table9" msdata:rowOrder="8">
    <INST>15</INST>
    <DESCRICAO>Utentes - SAMS Centro</DESCRICAO>
    </Table>
    </NewDataSet>
    </diffgr:diffgram>
    </instituicaoResult>
    </instituicaoResponse>
    </soap:Body>
    </soap:Envelope>
    Can anyoone tell me waht is the problem, thanks

    As far as I can tell the problem is the null namespace attribute on the NewDataSet element:
    <NewDataSet xmlns="">As I understand it, either a namespace value should be given, or the xmlns attribute should not appear at all. If it's removed from the source XML then the data can be extracted:
    SQL> l
      1  with webservice as (
      2    select  xmltype(q'{
      3  <soap:Envelope 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">
      4  <soap:Body>
      5  <instituicaoResponse xmlns="http://tempuri.org/">
      6  <instituicaoResult>
      7  <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
      8  <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:Locale="pt-PT">
      9  <xs:complexType>
    10  <xs:choice maxOccurs="unbounded">
    11  <xs:element name="Table">
    12  <xs:complexType>
    13  <xs:sequence>
    14  <xs:element name="INST" type="xs:decimal" minOccurs="0" />
    15  <xs:element name="DESCRICAO" type="xs:string" minOccurs="0" />
    16  </xs:sequence>
    17  </xs:complexType>
    18  </xs:element>
    19  </xs:choice>
    20  </xs:complexType>
    21  </xs:element>
    22  </xs:schema>
    23   <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
    24   <NewDataSet xmlns="">
    25   <Table diffgr:id="Table1" msdata:rowOrder="0">
    26  <INST>0</INST>
    27  <DESCRICAO>Beneficiários - SAMS Norte</DESCRICAO>
    28  </Table>
    29   <Table diffgr:id="Table2" msdata:rowOrder="1">
    30  <INST>1</INST>
    31  <DESCRICAO>Utentes - SAMS Norte (ex.Benef)</DESCRICAO>
    32  </Table>
    33   <Table diffgr:id="Table3" msdata:rowOrder="2">
    34  <INST>2</INST>
    35  <DESCRICAO>Beneficiários - SAMS Sul e Ilhas</DESCRICAO>
    36  </Table>
    37   <Table diffgr:id="Table4" msdata:rowOrder="3">
    38  <INST>3</INST>
    39  <DESCRICAO>Beneficiários - SAMS Centro</DESCRICAO>
    40  </Table>
    41   <Table diffgr:id="Table5" msdata:rowOrder="4">
    42  <INST>4</INST>
    43  <DESCRICAO>Beneficiários - PALOPs (excl. Benef. BCA)</DESCRICAO>
    44  </Table>
    45   <Table diffgr:id="Table6" msdata:rowOrder="5">
    46  <INST>6</INST>
    47  <DESCRICAO>Utentes - SAMS Sul e Ilhas</DESCRICAO>
    48  </Table>
    49   <Table diffgr:id="Table7" msdata:rowOrder="6">
    50  <INST>7</INST>
    51  <DESCRICAO>Funcionários do SBN/SAMS</DESCRICAO>
    52  </Table>
    53   <Table diffgr:id="Table8" msdata:rowOrder="7">
    54  <INST>10</INST>
    55  <DESCRICAO>Utentes - Banco Comercial Angolano</DESCRICAO>
    56  </Table>
    57   <Table diffgr:id="Table9" msdata:rowOrder="8">
    58  <INST>15</INST>
    59  <DESCRICAO>Utentes - SAMS Centro</DESCRICAO>
    60  </Table>
    61  </NewDataSet>
    62  </diffgr:diffgram>
    63  </instituicaoResult>
    64  </instituicaoResponse>
    65  </soap:Body>
    66  </soap:Envelope>}') xml
    67    from dual)
    68  select
    69            extractvalue(
    70             value(t)
    71           , '/Table/INST'
    72           , 'xmlns="http://tempuri.org/"') inst
    73          , extractvalue(
    74             value(t)
    75           , '/Table/DESCRICAO'
    76           , 'xmlns="http://tempuri.org/"') descricao
    77  from
    78            webservice ws
    79          , table(
    80           xmlsequence(
    81             extract(
    82                 ws.xml
    83               , '//instituicaoResponse/instituicaoResult/diffgr:diffgram/NewDataSet/*'
    84*               , 'xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1" xmlns="http://tempuri.org/"'))) t
    SQL> /
    no rows selected
    SQL> l 24
    24*  <NewDataSet xmlns="">
    SQL> c/ xmlns=""//
    24*  <NewDataSet>
    SQL> /
    INST DESCRICAO
    0    Beneficiários - SAMS Norte
    1    Utentes - SAMS Norte (ex.Benef)
    2    Beneficiários - SAMS Sul e Ilhas
    3    Beneficiários - SAMS Centro
    4    Beneficiários - PALOPs (excl. Benef. BCA)
    6    Utentes - SAMS Sul e Ilhas
    7    Funcionários do SBN/SAMS
    10   Utentes - Banco Comercial Angolano
    15   Utentes - SAMS Centro
    9 rows selected.This is not an APEX problem: try the XML DB, but I think the problem lies in the web service XML rather than in Oracle or your XPath expressions...

  • Consuming a web service with a java client

    hello
    wanted to consume the following web service:
    http://www.dataaccess.com/webservicesserver/numberconversion.wso
    http://www.dataaccess.com/webservicesserver/numberconversion.wso?op=NumberToWords
    so i used WSDL2Java to create client stubs n then followed it with a client program
    public class XmethodsAccessor {
    public static void main(String[] args) throws Exception{
    org.apache.axis2.databinding.types.UnsignedLong x = new org.apache.axis2.databinding.types.UnsignedLong(10000L);
    NumberConversionStub stub = new NumberConversionStub();
    NumberConversionStub.NumberToWords request = new NumberConversionStub.NumberToWords();
    request.setUbiNum(x);
    NumberToWordsResponse response = stub.NumberToWords(request);
    System.out.println("answer is : " + response.getNumberToWordsResult());
    Upon running the program i get error
    Exception in thread "main" org.apache.axis2.AxisFault: Connection reset
    at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:221)
    at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:452)
    at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:330)
    at org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:294)
    at com.dataaccess.www.webservicesserver.NumberConversionStub.NumberToWords(NumberConversionStub.java:162)
    at com.dataaccess.www.webservicesserver.XmethodsAccessor.main(XmethodsAccessor.java:19)
    Caused by: org.apache.axis2.AxisFault: Connection reset
    at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:314)
    at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:201)
    ... 5 more
    Caused by: org.apache.axis2.AxisFault: Connection reset
    at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:179)
    at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:73)
    at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:305)
    ... 6 more
    Caused by: java.net.SocketException: Connection reset
    at java.net.SocketInputStream.read(SocketInputStream.java:168)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
    at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:77)
    at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:105)
    at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1115)
    at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1832)
    at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1590)
    at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:995)
    at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:397)
    at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170)
    at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)
    at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
    at org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:558)
    at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:176)
    ... 8 more
    Can any one please tell me what im doin wrong and why is it not working.
    Thanks
    PS: am using Eclipse 3.2/Axis2 Eclipse plugin .. there were no compilation errors

    Hi steve_224,
    Would be extremely grateful if you could post the answer when you get a chance, have this problem too and haven't managed to resolve it yet...
    Thanks in advance...
    Kind regards,
    DJ

  • Consuming MapPoint Web Service with MX7

    Can anyone offer any pointers for working with Microsoft's
    MapPoint web service? I've searched around but haven't found any
    usable information. My immediate concern is how to get my CF7
    application to perform the Digest Authentication, but I'd also
    welcome tips for any other obstacles that can be expected after
    that.
    Thanks,
    James

    So here's what I needed to do to get this to work with CF7:
    1. Edit wwwroot/WEB-INF/client-config.wsdd to use
    CommonsHTTPSender per the Tom Jordahl blog post (
    http://tjordahl.blogspot.com/2007/03/apache-axis-and-commons-httpclient.html).
    2. Put commons-httpclient-3.1.jar and commons-codec-1.3.jar
    into CFusionMX7/lib. These jars are available from the Apache
    Commons project (
    http://commons.apache.org/).
    3. Add a web service entry in the CF Administrator. For the
    sample code to work, use the name MapPoint. The URL is the normal
    staging wsdl (
    http://staging.mappoint.net/standard-30/mappoint.wsdl),
    and the username and password are the ones issued by Microsoft for
    your mappoint account.
    The CF application service needs to be restarted to pick up
    the apache commons jars. At this point, the sample code should be
    runnable. It displays an input field which you can type an address
    into (e.g. "1 microsoft way, redmond, wa"), and displays a map when
    submitted. The code is fairly simplified and ignores things like
    the possibility of multiple find results.
    Since this is entirely done in CFML, some of the helper
    objects used as function inputs need to be built up as CF structs
    mirroring the data members of the java objects. This is problematic
    in creating a MapView object because there's no way to indicate
    which of the derived classes (ViewByHeightWidth, ViewByScale, etc)
    you intend. My workaround was to use a view object returned by
    GetBestMapView().
    Hope this will be helpful to somebody.
    James

  • Consume Web Service with SSL

    Hi expert!!!
    I have a problem!!
    I need consume a web service with ssl autentification in PI to call from SAP.
    That web services is of AFIP (Argentina ).
    i don`t know how do that!!
    How and where configure the certificate for signature??
    Thxz in advance!!!
    Sorry my bad english..

    thxz for all!!!!1
    I will be to resume my problem
    i need sign xml file with a certificate!!1
    i have xml file build in ABAP,  i try do with openssl in windows or unix to sign with private key file and certificate file .Crt
    that generate a new file with sign, i put this in other web service and work....
    i need do that in abap or pi..... i abap i could create xml file, but i can`t execute open ssl.....
    thxz for u help!!!

Maybe you are looking for

  • Formula in a narrative view

    Hi Gurus, Can you please help me with narrative views in OBIEE (11.1.1.5)? I have a table that lists customer sales., e.g. Customer Sales($mn) Rank Cust1 800 1 Cust2 450 2 Cust3 350 3 Cust4 300 4 Cust5 40 5 Cust6 30 6 Cust7 20 7 Cust8 10 8 Total 2000

  • How do I fix the itunes database?

    itunes gives me an error on every sync to my ATV. "Some of the items in the itunes library including, (16 podcasts) were not copied to the ATV because they could not be found." I know the podcasts are gone from both the mac and the ATV, how do I fix

  • File lost in Multisim

    Hi, Something very unfortunate happened today. As it happens from time to time, Multisim somehow lost its connection to the database and began popping error 3078 message dialogs. When this starts, there's no way to stop this but to kill Multisim. I d

  • Fix Err_empty_response

    Why do I continue to periodically get this error. I have cleared all my cookies; deleted the cookies.plist file; emptied trash and yet get this message. I have checked my internet connections wehich are all working.  ; can get into my mail and facebo

  • 1.0.10 Still caching in AppData

    So "thank" you for reimplementing a different cache location (why was this removed to begin with?)However for me - version 1.0.10 still caches down into AppData eating up my system-drive.So right now it just looks to use twice as much cache - or spli