Web Service Return XML

Hello,
I am trying to build a chart using web services.
I have a function like this
private function
dataRequestResultHandler(event:ResultEvent):void {
myData = event.result as String;
myXMLData = new XML(myData);
In the dataProvider
I am calling like this
<mx:LineChart name="visitors" dataProvider="{myData}"
id="chart" height="265" width="300">
<mx:horizontalAxis>
<mx:CategoryAxis dataProvider="{myData}"
categoryField="name" />
</mx:horizontalAxis>
However when I run the code, it gives error
faultcode: nosuchclientmethod
faultstring:couldn't find 'send' in service 'faultDetail
"null"
Any help is highly appreciable.
Thanks

Have you seen this video: http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/adf-service-integ/adf-service-integ.html
It explains how to integrate web services into your ADF applications.  There are also some pretty good tutorials here: Oracle JDeveloper 11g Release 2 (11.1.2) Tutorials
One thing that will make the job easier is to create an XML schema for your returned data - the service provider may be able to give you an .XSD file for it, or you could download some typical results and JDeveloper can generate an XML Schema from XML.  If you generate your schema, be sure to edit it and improve what the generator does - no generator is as good as human intelligence. (at least not yet )  Of course, if this is a SOAP web service, it will probably come with a WSDL which includes the XSD.

Similar Messages

  • Error while consuming Web Service (returning XML ) in ABAP

    Hi,
    i am trying to consume a web service in ABAP. ( webservice which takes a request and return a XML string back).
    I created a proxy class in SE80. and i tested it successfully.
    When i tried to use the class in my program, it is giving dump.
    i am not sure what is the problem. I guess it is not able to handle null values in XML.if that is the case. how to handle it..

    The dump says:
    Runtime Errors         OBJECTS_OBJREF_NOT_ASSIGNED
    Except.                CX_SY_REF_IS_INITIAL      
    Error analysis                                                              
        An exception occurred that is explained in detail below.                
        The exception, which is assigned to class 'CX_SY_REF_IS_INITIAL', was not
         caught and                                                             
        therefore caused a runtime error.                                       
        The reason for the exception is:                                        
        You attempted to use a 'NULL' object reference (points to 'nothing')    
        access a component (variable: "LO_CLIENTPROXY").                        
        An object reference must point to an object (an instance of a class)    
        before it can be used to access components.                             
        Either the reference was never set or it was set to 'NULL' using the    
        CLEAR statement.                                                        
    I think this dump is because of the default value ( space) in some elements. How to avoide that.
    wheni catch CX_SY_REF_IS_INITIAL it is not giving any dump. But this is not my requirement. Because it is not getting anything into  response string.

  • BUG: Web service returns request XML as response when result too large

    Hi,
    sorry for cross-posting, but the Web Services forum seems to be quite abandoned and this is an urgent issue for me.
    I have a web service returning some records of a given type (created using JDeveloper 10.1.3.3). The running environment and the service implementation do not seem to make any difference, as the situation is the same whether running it in embedded OC4J or in AS 10.1.3.1, and whether it is generated from a PL/SQL procedure or a method of a plain Java class.
    The problem is that if the result of this web service is too large (contains a lot of records), then the processing halts in some Oracle class in some web service library, so not in a debuggable generated web service source or in the service implementation itself.
    I think that the XML processing halts because of a "java.lang.OutOfMemoryError: Java heap space".
    Then a more serious problem follows: the service doesn't return a fault message but the original request XML as a response. Obviously, this can lead to some really unexpected errors.
    To reproduce this error:
    1. Create a Java class with a method returning an array of an arbitrary type, of the size specified in an input parameter.
    2. Create a web service from this class.
    3. Call it multiple times increasing the size parameter in every call until you get back the request as response or any error message.
    For example:
    - if you test the web service using the web page generated to access the endpoint, then you can see the response XML - in case you don't get an Internal Server Error (Java heap space).
    - if you use a generated web service proxy for testing, then it will give an error saying "unexpected element name: expected={namespace}someOperationResponseElement
    actual={namespace}someOperationElement".
    Any ideas how to locate / solve this problem?
    Regards,
    Patrik

    Patrik,
    the usual recommendation is to try with 10.1.3.3 instead of 10.1.3.1 to exclude you are hunting down an already fixed issue. From what you describe, the error seems less JDeveloper related than OC4J or OracleAs.
    So in case it reproduces in 10.1.3.3 I suggest to create a testcase and open a service request with support, or try the OC4J forum in case its known there.
    Frank

  • What happens when a OUT parameter of a web-service returns an empty string

    Hi,
    Any idea on how to deal with the situation when a web-service returns an empty string
    I get the following System Exception:-
    Caused by: java.lang.AssertionError: Attempt to set empty javaType to ticketResponse(out,0) :: fuego.type.FuegoClass$LazyRef@6770f2. It must be null or a valid java type.
    It therefore either expects a null value or a valid java type...
    Since it goes into a system exception, the activity is not completed and nothing is inserted into the web-service..
    How do we resolve this error inside of BPM?

    Thanks Ben for your replies.
    Before I attempt changing a VI that was written by a client and make a total mess of it, there's something I'd like to point out.
    I tried the re-entrant VI approach and that didn't go any further than the VIT approach, and probably for the same reason(s).
    The interesting part is that (with the VIT approach) the same VIT is called by another process and it works fine.  It is just for the process that has it appear within 2 sub-panels.  So the issue is related to having either having two instances spawn at once of the same VIT or it is related to the sub-panels.  I think it is the two instances (or copies of the VIT) that causes LV to caugh...
    So you are trying to tell me that the above description is accurate and it is because of the private methods...??...
    How would I "wrap" those private methods into public ones?  The seems to be a piece of this puzzle that I am not yet grasping..
    Thanks for your patience and help.
    RayR

  • Invoking a web service returning a arraylist of custom type

    Hi, I created a web service return a arraylist<InsertionSerialisable>.
    InsertionSerialisable can't be simpler here it is:
    public class InsertionSerialisable {
    public String nom = null;
    public String poids = null;
    I'm trying to use this arraylist in bpel but the returned parameter of my parter link for this web service is item of type anyType and I can't access my nom and poids string member. In a bpel process how can access member of custom element into an arraylist<InsertionSerialisable>?
    Here is my wsdl:
    <definitions
    name="ObtenirInsertions"
    targetNamespace="http://expedierdocument/"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://expedierdocument/"
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
    xmlns:tns0="http://www.oracle.com/webservices/internal/literal"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    >
    <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://expedierdocument/"
    elementFormDefault="qualified" xmlns:tns="http://expedierdocument/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:ns1="http://www.oracle.com/webservices/internal/literal">
    <import namespace="http://www.oracle.com/webservices/internal/literal"/>
    <complexType name="InsertionSerialisable">
    <sequence>
    <element name="poids" type="string" nillable="true"/>
    <element name="nom" type="string" nillable="true"/>
    </sequence>
    </complexType>
    <element name="obtenirInsertions" type="tns:obtenirInsertions"/>
    <complexType name="obtenirInsertions">
    <sequence>
    <element name="inExpInsPath" type="string" nillable="true"/>
    <element name="inIdentificationLettre" type="string" nillable="true"/>
    <element name="inSpecialite" type="string" nillable="true"/>
    </sequence>
    </complexType>
    <element name="obtenirInsertionsResponse" type="tns:obtenirInsertionsResponse"/>
    <complexType name="obtenirInsertionsResponse">
    <sequence>
    <element name="return" type="ns1:arrayList" nillable="true"/>
    </sequence>
    </complexType>
    </schema>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.oracle.com/webservices/internal/literal"
    elementFormDefault="qualified" xmlns:tns="http://www.oracle.com/webservices/internal/literal"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/">
    <import namespace="http://expedierdocument/"/>
    <complexType name="arrayList">
    <complexContent>
    <extension base="tns:list">
    <sequence/>
    </extension>
    </complexContent>
    </complexType>
    <complexType name="list">
    <complexContent>
    <extension base="tns:collection">
    <sequence/>
    </extension>
    </complexContent>
    </complexType>
    <complexType name="collection">
    <sequence>
    <element name="item" type="anyType" minOccurs="0" maxOccurs="unbounded"/>
    </sequence>
    </complexType>
    </schema>
    </types>
    <message name="ObtenirInsertions_obtenirInsertions">
    <part name="parameters" element="tns:obtenirInsertions"/>
    </message>
    <message name="ObtenirInsertions_obtenirInsertionsResponse">
    <part name="parameters" element="tns:obtenirInsertionsResponse"/>
    </message>
    <portType name="ObtenirInsertions">
    <operation name="obtenirInsertions">
    <input message="tns:ObtenirInsertions_obtenirInsertions"/>
    <output message="tns:ObtenirInsertions_obtenirInsertionsResponse"/>
    </operation>
    </portType>
    <binding name="ObtenirInsertionsSoapHttp" type="tns:ObtenirInsertions">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="obtenirInsertions">
    <soap:operation soapAction=""/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    </operation>
    </binding>
    <service name="ObtenirInsertions">
    <port name="ObtenirInsertionsSoapHttpPort" binding="tns:ObtenirInsertionsSoapHttp">
    <soap:address location="http://192.168.0.2:8888/Application1-ExpedierDocument-context-root/ObtenirInsertionsSoapHttpPort"/>
    </port>
    </service>
    </definitions>
    Thank you!

    Hi, I created a web service return a arraylist<InsertionSerialisable>.
    InsertionSerialisable can't be simpler here it is:
    public class InsertionSerialisable {
    public String nom = null;
    public String poids = null;
    I'm trying to use this arraylist in bpel but the returned parameter of my parter link for this web service is item of type anyType and I can't access my nom and poids string member. In a bpel process how can access member of custom element into an arraylist<InsertionSerialisable>?
    Here is my wsdl:
    <definitions
    name="ObtenirInsertions"
    targetNamespace="http://expedierdocument/"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://expedierdocument/"
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
    xmlns:tns0="http://www.oracle.com/webservices/internal/literal"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    >
    <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://expedierdocument/"
    elementFormDefault="qualified" xmlns:tns="http://expedierdocument/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:ns1="http://www.oracle.com/webservices/internal/literal">
    <import namespace="http://www.oracle.com/webservices/internal/literal"/>
    <complexType name="InsertionSerialisable">
    <sequence>
    <element name="poids" type="string" nillable="true"/>
    <element name="nom" type="string" nillable="true"/>
    </sequence>
    </complexType>
    <element name="obtenirInsertions" type="tns:obtenirInsertions"/>
    <complexType name="obtenirInsertions">
    <sequence>
    <element name="inExpInsPath" type="string" nillable="true"/>
    <element name="inIdentificationLettre" type="string" nillable="true"/>
    <element name="inSpecialite" type="string" nillable="true"/>
    </sequence>
    </complexType>
    <element name="obtenirInsertionsResponse" type="tns:obtenirInsertionsResponse"/>
    <complexType name="obtenirInsertionsResponse">
    <sequence>
    <element name="return" type="ns1:arrayList" nillable="true"/>
    </sequence>
    </complexType>
    </schema>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.oracle.com/webservices/internal/literal"
    elementFormDefault="qualified" xmlns:tns="http://www.oracle.com/webservices/internal/literal"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/">
    <import namespace="http://expedierdocument/"/>
    <complexType name="arrayList">
    <complexContent>
    <extension base="tns:list">
    <sequence/>
    </extension>
    </complexContent>
    </complexType>
    <complexType name="list">
    <complexContent>
    <extension base="tns:collection">
    <sequence/>
    </extension>
    </complexContent>
    </complexType>
    <complexType name="collection">
    <sequence>
    <element name="item" type="anyType" minOccurs="0" maxOccurs="unbounded"/>
    </sequence>
    </complexType>
    </schema>
    </types>
    <message name="ObtenirInsertions_obtenirInsertions">
    <part name="parameters" element="tns:obtenirInsertions"/>
    </message>
    <message name="ObtenirInsertions_obtenirInsertionsResponse">
    <part name="parameters" element="tns:obtenirInsertionsResponse"/>
    </message>
    <portType name="ObtenirInsertions">
    <operation name="obtenirInsertions">
    <input message="tns:ObtenirInsertions_obtenirInsertions"/>
    <output message="tns:ObtenirInsertions_obtenirInsertionsResponse"/>
    </operation>
    </portType>
    <binding name="ObtenirInsertionsSoapHttp" type="tns:ObtenirInsertions">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="obtenirInsertions">
    <soap:operation soapAction=""/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    </operation>
    </binding>
    <service name="ObtenirInsertions">
    <port name="ObtenirInsertionsSoapHttpPort" binding="tns:ObtenirInsertionsSoapHttp">
    <soap:address location="http://192.168.0.2:8888/Application1-ExpedierDocument-context-root/ObtenirInsertionsSoapHttpPort"/>
    </port>
    </service>
    </definitions>
    Thank you!

  • Web Service returning JCO.Table with no content

    Hello all,
    I've written a web service returning an object of type JCO.Table
    When I'm testing it in the Web Service Navigator the response contains two parameters: tabLength and row (current row number), but doesn't contain the content of the table.
    I tried testing the Web Service also from Webdynpro but its the same -
    the result contains a ComplexTypeJCOTable and from that object I can only get the tabLength and row.
    Anyone knows why is it happening?
    Thanks for your help, Adi.

    Hi Rajendrakumar Gaikwad,
    Thanks for your suggestion.
    I don't think this will be an efficient solution for me or for the web service clients.
    I'm still looking for an explanation why can't I get the JCO.Table content.
    Is it impossible for some reason or am I doing anything wrong?
    Thanks again, Adi.

  • [ANN] Databases, Portals, Web Services, and XML Integration Magic (Boston, July 29)

    Recently added to DCI's Corporate and e-Business Portals
    Conference:
    Databases, Portals, Web Services, and XML Integration Magic
    When: July 29, 2001, 9:00 AM - 5:00 PM
    Where: Hynes Convention Center, Boston
    http://www.dci.com/brochure/porbos/seminars.asp

    Recently added to DCI's Corporate and e-Business Portals
    Conference:
    Databases, Portals, Web Services, and XML Integration Magic
    When: July 29, 2001, 9:00 AM - 5:00 PM
    Where: Hynes Convention Center, Boston
    http://www.dci.com/brochure/porbos/seminars.asp

  • PLSQL web service returning multiple records

    Hello,
    I am trying to create a web service using oracle 11g which should be able to return multiple records.
    Based on hints and code samples found on the internet here is my code :
    CREATE OR REPLACE TYPE test_rec is OBJECT (
        s_nume_adre                    NUMBER ,
        c_eta_civi                     VARCHAR2(4 BYTE),
        l_nom1_comp                    VARCHAR2(40 BYTE),
        l_nom2_comp                    VARCHAR2(40 BYTE),
        l_nom3_comp                    VARCHAR2(40 BYTE),
        l_pren_comp                    VARCHAR2(30 BYTE),
        d_date_nais                    DATE);
    CREATE OR REPLACE TYPE test_array AS TABLE OF test_rec;
    CREATE OR REPLACE PACKAGE test_pkg AS
      function get_rows(snume_adre in number) return test_array;
    END;
    CREATE OR REPLACE PACKAGE BODY test_pkg AS
      function get_rows(snume_adre in number) return test_array is
        v_rtn   test_array := test_array(null);
        v_first boolean := true;
        cursor c_get_rows(snume_adre in number) is
          SELECT a.s_nume_adre,
                 nvl(a.c_eta_civi, '') c_eta_civi,
                 nvl(a.l_nom1_comp, '') l_nom1_comp,
                 nvl(a.l_nom2_comp, '') l_nom2_comp,
                 nvl(a.l_nom3_comp, '') l_nom3_comp,
                 nvl(a.l_pren_comp, '') l_pren_comp,
                 nvl(a.d_date_nais, to_date('01.01.1900', 'dd.mm.yyyy')) d_date_nais
        FROM bro.z45 a
      where a.s_nume_adre = snume_adre or snume_adre is null;
      begin
        for rec in c_get_rows(snume_adre) loop
          if v_first then
            v_first := false;
          else
            v_rtn.extend;
          end if;
        v_rtn(v_rtn.last) := test_rec(rec.s_nume_adre, rec.c_eta_civi, rec.l_nom1_comp, rec.l_nom2_comp,
                                    rec.l_nom3_comp, rec.l_pren_comp, rec.d_date_nais);
        end loop;  
        return v_rtn;
      end;
    END;
    --select * from table (test_pkg.get_rows(null));
    I am able to retrieve the data using the select.
    However when I try to access its wsdl I get an error :
    <soap:Envelope>
       <soap:Body>
          <soap:Fault>
             <faultcode>soap:Client</faultcode>
             <faultstring>Error processing input</faultstring>
             <detail>
                <OracleErrors></OracleErrors>
             </detail>
          </soap:Fault>
       </soap:Body>
    </soap:Envelope>
    If I comment the function call in the package declaration I get a "correct" wsdl :
    <definitions name="GET_ROWS" targetNamespace="http://xmlns.oracle.com/orawsv/TEST/TEST_PKG/GET_ROWS" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://xmlns.oracle.com/orawsv/TEST/TEST_PKG/GET_ROWS" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
      <types>
        <xsd:schema targetNamespace="http://xmlns.oracle.com/orawsv/TEST/TEST_PKG/GET_ROWS" elementFormDefault="qualified">
          <xsd:element name="GET_ROWSInput">
            <xsd:complexType>
              </xsd:complexType>
          </xsd:element>
          <xsd:element name="GET_ROWSOutput">
            <xsd:complexType>
              </xsd:complexType>
          </xsd:element>
       </xsd:schema>
      </types>
      <message name="GET_ROWSInputMessage">
        <part name="parameters" element="tns:GET_ROWSInput"/>
      </message>
      <message name="GET_ROWSOutputMessage">
        <part name="parameters" element="tns:GET_ROWSOutput"/>
      </message>
      <portType name="GET_ROWSPortType">
      <operation name="GET_ROWS">
          <input message="tns:GET_ROWSInputMessage"/>
          <output message="tns:GET_ROWSOutputMessage"/>
        </operation>
      </portType>
      <binding name="GET_ROWSBinding" type="tns:GET_ROWSPortType">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="GET_ROWS">
          <soap:operation soapAction="GET_ROWS"/>
          <input>
            <soap:body parts="parameters" use="literal"/>
          </input>
          <output>
            <soap:body parts="parameters" use="literal"/>
          </output>
        </operation>
      </binding>
      <service name="GET_ROWSService">
        <documentation>Oracle Web Service</documentation>
        <port name="GET_ROWSPort" binding="tns:GET_ROWSBinding">
           <soap:address location="http://server.domain.ch:8080/orawsv/TEST/TEST_PKG/GET_ROWS"/>
         </port>
      </service>
    </definitions>
    Any hint as how to create and access pl sql web service returning multiple rows?
    I don't use java and don't have access to tools like JDeveloper.
    Thanks!

    The actual issue is that collection types are not supported for return parameters.
    The solution is to wrap the collection into another object.
    Here's a working example based on your settings :
    CREATE OR REPLACE TYPE test_rec is OBJECT ( 
      empno  number(4)
    , ename  varchar2(10)
    , hiredate date
    CREATE OR REPLACE TYPE test_array AS TABLE OF test_rec; 
    CREATE OR REPLACE TYPE test_array_wrapper is OBJECT ( arr test_array );
    CREATE OR REPLACE PACKAGE test_pkg AS 
      function get_rows(p_deptno in number) return test_array_wrapper; 
    END; 
    CREATE OR REPLACE PACKAGE BODY test_pkg AS 
      function get_rows(p_deptno in number) return test_array_wrapper is 
        results  test_array; 
      begin 
        select test_rec(empno, ename, hiredate)
        bulk collect into results
        from scott.emp
        where deptno = p_deptno;    
        return test_array_wrapper(results); 
      end; 
    END; 
    The wsdl is then generated correctly :
    SQL> select httpuritype('http://DEV:dev@localhost:8080/orawsv/DEV/TEST_PKG/GET_ROWS?wsdl').getxml() from dual;
    HTTPURITYPE('HTTP://DEV:DEV@LOCALHOST:8080/ORAWSV/DEV/TEST_PKG/GET_ROWS?WSDL').GETXML()
    <definitions name="GET_ROWS" targetNamespace="http://xmlns.oracle.com/orawsv/DEV/TEST_PKG/GET_ROWS" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://xmlns.oracle.com/orawsv/DEV/TEST_PKG/GET_
    ROWS" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
      <types>
        <xsd:schema targetNamespace="http://xmlns.oracle.com/orawsv/DEV/TEST_PKG/GET_ROWS" elementFormDefault="qualified">
          <xsd:element name="CTEST_ARRAY_WRAPPER-GET_ROWSInput">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="P_DEPTNO-NUMBER-IN" type="xsd:double"/>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="GET_ROWSOutput">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="RETURN" type="tns:TEST_ARRAY_WRAPPERType"/>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <xsd:complexType name="TEST_ARRAY_WRAPPERType">
            <xsd:sequence>
              <xsd:element name="TEST_ARRAY_WRAPPER">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element name="ARR">
                      <xsd:complexType>
                        <xsd:sequence>
                          <xsd:element name="TEST_REC" type="tns:TEST_REC_IntType" maxOccurs="unbounded" minOccurs="0"/>
                        </xsd:sequence>
                      </xsd:complexType>
                    </xsd:element>
                  </xsd:sequence>
                </xsd:complexType>
              </xsd:element>
            </xsd:sequence>
          </xsd:complexType>
          <xsd:complexType name="TEST_REC_IntType">
            <xsd:sequence>
              <xsd:element name="EMPNO" type="xsd:double"/>
              <xsd:element name="ENAME">
                <xsd:simpleType>
                  <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="10"/>
                  </xsd:restriction>
                </xsd:simpleType>
              </xsd:element>
              <xsd:element name="HIREDATE" type="xsd:date"/>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:schema>
      </types>
      <message name="GET_ROWSInputMessage">
        <part name="parameters" element="tns:CTEST_ARRAY_WRAPPER-GET_ROWSInput"/>
      </message>
      <message name="GET_ROWSOutputMessage">
        <part name="parameters" element="tns:GET_ROWSOutput"/>
      </message>
      <portType name="GET_ROWSPortType">
        <operation name="GET_ROWS">
          <input message="tns:GET_ROWSInputMessage"/>
          <output message="tns:GET_ROWSOutputMessage"/>
        </operation>
      </portType>
      <binding name="GET_ROWSBinding" type="tns:GET_ROWSPortType">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="GET_ROWS">
          <soap:operation soapAction="GET_ROWS"/>
          <input>
            <soap:body parts="parameters" use="literal"/>
          </input>
          <output>
            <soap:body parts="parameters" use="literal"/>
          </output>
        </operation>
      </binding>
      <service name="GET_ROWSService">
        <documentation>Oracle Web Service</documentation>
        <port name="GET_ROWSPort" binding="tns:GET_ROWSBinding">
          <soap:address location="http://localhost:8080/orawsv/DEV/TEST_PKG/GET_ROWS"/>
        </port>
      </service>
    </definitions>

  • Creating a web service - editing xml

    does anyone know how to alter the values returned by a web service before the xml is returned to the caller?
    What I mean by this is, I have a web service that returns data. If the data field has not been populated it simply passes back the field with its initial state e.g. space for char and zero for numeric  etc.
    Is it possible to alter these values so that the outbound return xml would contain null  pointers in these cases. e.g. xsi:nil
    For web service consumption the controller table allows ABAP to handle xsi:nil as the xml comes into the ABAP environment. Is there a similar protocol or class for the outbound/Web service that exists in SAP?
    I can't find and user exits or BADI's in this area, but then again this is really on the boundary of the ABAP environment.
    Any help would be appreciated.
    Thanks,
    Alan

    If you have never done this before the best place to start is the axis user guide:
    http://ws.apache.org/axis/java/user-guide.html
    Work through the examples there and then google for examples of using WSDL2Java (there are many out there). This will generate client side classes for you and make things a bit easier.
    C

  • Calling Web Service passing xml from Oracle Forms

    Hello,
    I need to call a .net web service from Oracle Forms that passes in xml data and returns xml data.
    I have seen several examples of how to create a wrapper in jdev and then to import the code
    into forms. I just have not seen any examples that are passing parmameters especially not xml
    as a parameter and that have an active wsdl that I can see how it relates to the code created.
    I have a wrapper but cannot figure out where and what notation to use to include passing in
    an xml object.
    Does anyone have an example passing in xml where the wsdl is still available to see?'
    Forms version 10.1.2.0.2. Jdev 10.1.3.4
    Thanks,
    Linda
    Edited by: lboyce on Jan 5, 2009 2:30 PM

    Also here you have several options...
    1. you can make a PJC (bean) which include a webservice stub generated with axis (you can make a stub and also test a webservice with this tool: www.soapui.org)..
    2. you can make a database webservice with JPublisher and then just call a pl/sql wrapper for this webservice
    4. you can call a webservice with java api (HttpsURLConnection, HttpURLConnection or with apache HTTPClient api) from your PJC for example:
    the code below is used as java stored procedure to call a .net webservice on https
    ====================================
    public static int getPStopnja(String polica, String reg_oznaka,
    String ime_osiguranika,
    String naziv_osiguranika,
    String leasing,
    String[] doc) {
    String l_polica="";
    String l_reg_oznaka="";
    String l_ime_osiguranika="";
    String l_naziv_osiguranika="";
    String l_leasing ="";
    URL url = null;
    HttpsURLConnection conn = null;
    BufferedReader br = null;
    String lineIn = null;
    StringBuffer sb = new StringBuffer();
    OutputStream os = null;
    int rc = 0;
    //kontrole
    l_polica = polica==null ? "":polica;
    l_reg_oznaka = reg_oznaka==null ? "": reg_oznaka;
    l_ime_osiguranika = ime_osiguranika==null ? "": ime_osiguranika;
    l_naziv_osiguranika = naziv_osiguranika==null ? "": naziv_osiguranika;
    l_leasing = leasing==null ? "": leasing;
    String body = "&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;";
    body += "&lt;soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:web=\"https://services.huo.hr/web_ao/\"&gt;";
    body += "&lt;soapenv:Header/&gt;";
    body += "&lt;soapenv:Body&gt;";
    body += "&lt;web:get_pstupanj&gt;";
    body += "&lt;web:param_in&gt;";
    body += "&lt;web:polica&gt;"+l_polica+"&lt;/web:polica&gt;";
    body += "&lt;web:reg_oznaka&gt;"+l_reg_oznaka+"&lt;/web:reg_oznaka&gt;";
    body += "&lt;web:ime_osiguranika&gt;"+l_ime_osiguranika+"&lt;/web:ime_osiguranika&gt;";
    body += "&lt;web:naziv_osiguranika&gt;"+l_naziv_osiguranika+"&lt;/web:naziv_osiguranika&gt;";
    body += "&lt;web:leasing&gt;"+l_leasing+"&lt;/web:leasing&gt;";
    body += "&lt;/web:param_in&gt;";
    body += "&lt;/web:get_pstupanj&gt;";
    body += "&lt;/soapenv:Body&gt;";
    body += "&lt;/soapenv:Envelope&gt;";
    SSLContext sslContext = null;
    try {
    sslContext = SSLContext.getInstance("TLS");
    X509TrustManager[] xtmArray = new X509TrustManager[|http://forums.oracle.com/forums/] { xtm };
    sslContext.init(null, xtmArray, new java.security.SecureRandom());
    } catch (GeneralSecurityException gse) {
    doc[0] = gse.toString();
    return -1;
    if (sslContext != null) {
    conn.setDefaultSSLSocketFactory(sslContext.getSocketFactory());
    try {
    conn.setDefaultHostnameVerifier(hnv);
    } catch (Exception ex) {
    doc[0] = ex.toString();
    return -1;
    try {
    URL st = new URL("https://services.huo.hr/web_ao/web_ao.asmx");
    conn = (HttpsURLConnection)st.openConnection();
    conn.setRequestMethod("POST");
    conn.setRequestProperty("Host", "services.huo.hr");
    conn.setRequestProperty("Content-Length", "" + body.length());
    conn.setRequestProperty("SOAPAction",
    "\"https://services.huo.hr/web_ao/get_pstupanj\"");
    conn.setRequestProperty("Content-Type", "text/xml;charset=UTF-8");
    conn.setDoOutput(true);
    OutputStreamWriter wr =
    new OutputStreamWriter(conn.getOutputStream());
    wr.write(body);
    wr.flush();
    BufferedReader in =
    new BufferedReader(new InputStreamReader(conn.getInputStream()));
    String inputLine;
    while ((inputLine = in.readLine()) != null) {
    sb.append(new String(inputLine.getBytes(),"UTF-8"));
    in.close();
    //System.out.println(new String(sb.toString().getBytes(),"ISO8559_2"));
    doc[0] = sb.toString();
    return 0;
    } catch (Exception e) {
    doc[0] = e.toString() + " ===&gt; " + body + " ==&gt;length= " + body.length();
    return -1;
    ====================================
    best regards
    Edited by: Peterv6i on Jan 6, 2009 8:34 AM
    Edited by: Peterv6i on Jan 6, 2009 8:40 AM

  • Error 504 DNS look up failed while calling web services using XML

    Hi, I am trying to call web service from Oracle using XML.
    Everything seems to be in place but im getting an error "The webserver for <My End URL> reported that an error occurred while trying to access the website. Please click here to return to the previous page."
    If I directly access the end url from my browser its accessible and seems to work fine.
    The http response receiveed is mentioned below:
    Status code: 403
    Reason phrase: Forbidden
    <html>
    <head>
    <title>504 DNS look up failed</title>
    </head>
    <body>
    <font size=2><table width="100%"><tr><td bgcolor=#3300cc align="center" colspan=2>504 DNS look up failed</td></tr></table><br><br>The webserver for 'My End URL' reported that an error occurred while trying to access the website. Please click <u>here</u> to return to the previous page.<br><br><hr></font></body>
    </html>
    Im using Oracle 9i
    Please help
    Edited by: 927814 on Apr 15, 2012 11:41 PM
    Edited by: 927814 on Apr 15, 2012 11:46 PM

    Without far greater details as to what you are doing, what you have installed, and what you have tried, not much can be offered. All that I can gather from the information you provided is that the server name you are trying to contact either is not responding or is invalid. If you have Forms installed on your local machine (for example using Developer Suite), try using localhost rather than the hostname. For example, http://localhost:port/forms/frmservlet?form=yourform
    http://www.checkupdown.com/status/E504.html

  • Web service return value

    I have a web service and I'm cfdumping the return variable, but I don't know how to get the value out.  This is what it is giving me.
    1
    object of com.nextaxiom.www.soapservice.xsd1.APApprovalList
    Class Name
    com.nextaxiom.www.soapservice.xsd1.APApprovalList
    Methods
    Method
    Return Type
    equals(java.lang.Object)
    boolean
    getAlertDate()
    java.lang.String
    getDescription()
    java.lang.String
    getDeserializer(java.lang.String, java.lang.Class, javax.xml.namespace.QName)
    org.apache.axis.encoding.Deserializer
    getInvoiceAmount()
    java.lang.Double
    getPaymentReferenceNumber()
    java.lang.String
    getSerializer(java.lang.String, java.lang.Class, javax.xml.namespace.QName)
    org.apache.axis.encoding.Serializer
    getTypeDesc()
    org.apache.axis.description.TypeDesc
    getUserName()
    java.lang.String
    getVendorName()
    java.lang.String
    hashCode()
    int
    setAlertDate(java.lang.String)
    void
    setDescription(java.lang.String)
    void
    setInvoiceAmount(java.lang.Double)
    void
    setPaymentReferenceNumber(java.lang.String)
    void
    setUserName(java.lang.String)
    void
    setVendorName(java.lang.String)
    void
    So some of this is the fields I want, but I want the value: description, alert date, invoice amt, etc.  Can anyone help me.  What do I need to do next to get the values?
    Here is my CF statement and the WSDL file.
    thanks for the help,
    BJ
    Invoke statement
                <cfinvoke
                                             webservice="http://127.0.0.1:8500/APApproval/GetAPApprovalList.wsdl"
                                             method="GetAPApprovalList" refreshwsdl="true"
                                             returnvariable="response">
                                                      <cfinvokeargument name="UserName" value="DAVBRY"/>
                                  </cfinvoke>
                <cfoutput>#response#</cfoutput>
    WSDL FILE
    <?xml version="1.0"?>
    <!--Automatically generated 10/07/2011 by Hyperservice Business Platform, NextAxiom Technology, Inc.-->
    <definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
        name="BSAPrototype.APApproval.GetAPApprovalList"
        targetNamespace="http://www.nextaxiom.com/soapservice/BSAPrototype.APApproval.GetAPApprovalList/wsdl"
        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
        xmlns:tns="http://www.nextaxiom.com/soapservice/BSAPrototype.APApproval.GetAPApprovalList/wsdl"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsd1="http://www.nextaxiom.com/soapservice/xsd1">
        <types>
            <schema xmlns="http://www.w3.org/2001/XMLSchema"
                elementFormDefault="qualified" targetNamespace="http://www.nextaxiom.com/soapservice/xsd1">
                <element name="GetAPApprovalList">
                    <complexType>
                        <sequence>
                            <element name="UserName" type="string"/>
                        </sequence>
                    </complexType>
                </element>
                <element name="GetAPApprovalListResult">
                    <complexType>
                        <sequence>
                            <element maxOccurs="unbounded"
                                name="APApprovalList" type="xsd1:APApprovalList"/>
                        </sequence>
                    </complexType>
                </element>
                <complexType name="APApprovalList">
                    <sequence>
                        <element minOccurs="0" name="UserName" type="string"/>
                        <element minOccurs="0" name="AlertDate" type="string"/>
                        <element minOccurs="0" name="Description" type="string"/>
                        <element minOccurs="0" name="PaymentReferenceNumber" type="string"/>
                        <element minOccurs="0" name="InvoiceAmount" type="double"/>
                        <element minOccurs="0" name="VendorName" type="string"/>
                    </sequence>
                </complexType>
            </schema>
        </types>
        <message name="GetAPApprovalListRequest">
            <part element="xsd1:GetAPApprovalList" name="GetAPApprovalList"/>
        </message>
        <message name="GetAPApprovalListResponse">
            <part element="xsd1:GetAPApprovalListResult" name="GetAPApprovalListResult"/>
        </message>
        <portType name="BSAPrototype.APApproval.GetAPApprovalListSoapPort">
            <operation name="GetAPApprovalList">
                <input message="tns:GetAPApprovalListRequest"/>
                <output message="tns:GetAPApprovalListResponse"/>
            </operation>
        </portType>
        <binding name="BSAPrototype.APApproval.GetAPApprovalListSoapBinding" type="tns:BSAPrototype.APApproval.GetAPApprovalListSoapPort">
            <soap:binding xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
                style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
            <operation name="GetAPApprovalList">
                <soap:operation
                    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" soapAction="urn:doc?in=GetAPApprovalList?out=GetAPApprovalListResult?path=BSAPrototype.AP Approval.GetAPApprovalList"/>
                <input>
                    <soap:body use="literal"/>
                </input>
                <output>
                    <soap:body use="literal"/>
                </output>
            </operation>
        </binding>
        <service name="BSAPrototype.APApproval.GetAPApprovalList">
            <port
                binding="tns:BSAPrototype.APApproval.GetAPApprovalListSoapBinding" name="BSAPrototype.APApproval.GetAPApprovalListPort">
                <soap:address
                    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" location="http://nextaxb:7777/NXAServer/NextAxiomServer"/>
            </port>
        </service>
    </definitions>

    Getting complex objects back from web service calls are always tricky  - especially when they've been desearialized as an object.  We've found its a lot easier to deal with the Raw SOAP messages so at least we're working with an XML document, rather than a series of Getter functions, any of which that may return a NULL value (which does really unpleasant things to a CF variable).
    When you absolutely have to deal with a complex non-CF originating object in CF, we've found that you can actually use the underlying Java classes to identify and automatically execute the getter functions to effective dump out the variables.  We've rolled it up into a custom tag.  The base code for the logic is below:
    <cfset objVar = VARIABLE_CONTAINING_OBJECT_FROM_WEB_SERVICE>
    <cfset arrMethods = objVar.getClass().getMethods()>
    <cfoutput>
     <cfif isDefined("arrMethods") AND isArray(arrMethods) AND ArrayLen(arrMethods) gt 0>
     <table border="1" cellspacing="0" cellpadding="5" style="border-collapse:collapse;border:1px solid black;">
     <tr>
     <td colspan="3" style="background-color:##CCCCCC;">RESULT</td>
     </tr>
     <tr>
     <td>Method</td>
     <td>Class</td>
     <td>Return Value</td>
     </tr>
     <cfset sComplexMethods = "">
    <cfloop from="1" to="#ArrayLen(arrMethods)#" index="iMethod"> 
     <cfset sReturnType = arrMethods[iMethod].getReturnType().toString()>
    <cfif ListFindNoCase("int,java.lang.String,class java.lang.String,double,float,char", sReturnType)> 
     <tr>
     <td>#arrMethods[iMethod].getName()#</td>
     <td>#sReturnType#</td>
     <cfset sReturnValue = EVALUATE("objVar." & arrMethods[iMethod].getName() & "()")>
     <td><cfif isDefined("sReturnValue") AND sReturnValue neq "">#sReturnValue#<cfelse> </cfif></td>
     </tr>
    </cfif>
    #sComplexMethods#
    </cfloop>
     </table>
    </cfif>
    </cfoutput>

  • Web service returns old values

    Hallo, 
    by using web service my project is remotely controled. The mapping data will be transferred using the shared variables.
    The shared variables work perfectly, but the responce on the xml page (outputs: web_master_resp, web_scene_resp, web_action_resp and error code) always returns the old values which happened at the last url activity.
    For instance, after sending "http://localhost:8080/webcontrol/scene/action" and following "http://localhost:8080/webcontrol/scene_1/action_1" the xml returns "scene" on "web_scene_resp"  and "action" on "web_action_resp"
    what should i do to get the lastest values read?

    hi,
    just a guess: I'd try to use I instead of NUMC for the document numbers.
    NUMC is no number but a character string with numeric characters only. only some display routines in SAP know that this string of numerals represents a number and omit leading zeroes.
    my 2 cents,
    anton

  • Web Service to xml to bls to xacute query formatting

    Hi.
    I have a BLS calling a web service which returns a data set in the xMII XML format. I take that output and put it in a xml transaction output property and try to read it with an xacute query. (obviously I will be doing more manipulations to the data in the bls once i get this issue resolved). The query returns a blank page when tested.
    OK, so I take the same xml output, and in the same bls use the Write_File action to create an xml file, then use the XMLLoader action to read in that file back into the bls, assign the results of the xmlLoader to the xml transaction output property and try to read that output with an xacute query. I get the data when I test the query.
    Now, I don't touch the format between the web service and the file or after I load the file. How come the xacute query can read one transaction output and not the other?
    I have taken both transaction propertie values from a trace log and compared the strings and find no difference between the return from the web service and the result of the xmlLoader. I don't want to take the output of the web service and write it to a file just to get in into an xml format that works properly.

    I am sure that is the root cause, but how do I do an explicit type conversion without going through the output to file and load xml step? What else is needed?
    The return of the Web Service is an XML that contains an XML string in the xMII format. I can look at that string and it looks correct (Though xacute doesn't recognize the string as an xml structure). I can take that string and put it in an XML transaction property and it looks correct (the reference in the BLS is: SqlXml2.SQLXML2Response{/ns1:SQLXML2Response/ns1:SQLXML2Return}). I can take that XML variable and output to a file and then load that file and it actually is correct (though the content of the file and the return string from the web service are identical). So, I can see that the type conversion takes place when I load the xml file but I haven't found the action that will do the type conversion otherwise even though the "conversion" doesn't seem to require changing the content at all. Have I missed something?

  • Web service returning Document

    Hi,
    I need your help on this:
    I have a web service that returns a Document object (its an xml-SVG file).
    By direct call to the method "public static Document Chart(Object[] val) {"
    it returns a well formed file. When I try it returning a String it is also OK. When I return a Document it sent me errors (Sorry for the long list)
    The normal svg file is after the error message.
    Can you give me an example how to make a java client to request that xml Document and print it on the screen.
    // error
    org.xml.sax.SAXParseException: The markup in the document following the root element must be well-formed.
    at org.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1008)
    at org.apache.xerces.framework.XMLDocumentScanner.reportFatalXMLError(XMLDocumentScanner.java:625)
    at org.apache.xerces.framework.XMLDocumentScanner.abortMarkup(XMLDocumentScanner.java:679)
    at org.apache.xerces.framework.XMLDocumentScanner$TrailingMiscDispatcher.dispatch(XMLDocumentScanner.java:1496)
    at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:380)
    at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:900)
    at org.apache.soap.util.xml.XercesParserLiaison.read(XercesParserLiaison.java:85)
    at org.apache.soap.rpc.Call.invoke(Call.java:157)
    at cc432ass3.Client.main(Client.java:90)
    Caught SOAPException (SOAP-ENV:Protocol): <h1>Error: 500</h1>
    <h2>Location: /soap/servlet/rpcrouter</h2><b>Internal Servlet Error:</b><br><pre>javax.servlet.ServletException: Error building response en
    at org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet.java:345)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
    at org.apache.tomcat.core.Handler.service(Handler.java:287)
    at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
    at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797)
    at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
    at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213)
    at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
    at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
    at java.lang.Thread.run(Thread.java:536)
    </pre>
    <b>Root cause:</b>
    <pre>java.lang.IllegalArgumentException: No Serializer found to serialize a 'org.jdom.Document' using encoding style 'http://schemas.xmlsoa
    at org.apache.soap.util.xml.XMLJavaMappingRegistry.querySerializer(XMLJavaMappingRegistry.java:125)
    at org.apache.soap.encoding.SOAPMappingRegistry.querySerializer(SOAPMappingRegistry.java:297)
    at org.apache.soap.encoding.soapenc.ParameterSerializer.marshall(ParameterSerializer.java:98)
    at org.apache.soap.rpc.RPCMessage.marshall(RPCMessage.java:260)
    at org.apache.soap.Body.marshall(Body.java:141)
    at org.apache.soap.Envelope.marshall(Envelope.java:180)
    at org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet.java:343)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
    at org.apache.tomcat.core.Handler.service(Handler.java:287)
    at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
    at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797)
    at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
    at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213)
    at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
    at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
    at java.lang.Thread.run(Thread.java:536)
    </pre>
    // ==== here is the svg that I take by direct call
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
    <svg width="800" height="500">
         <text x="150" y="60" style="font-family: verdana, arial, sans-serif;font-size: 24;     
    font-weight: bold;fill: #0099ff; stroke: black;     
    stroke-width: 1">This is a PieChart For CC432 Assignment 3</text>
         <circle cx="310" cy="310" r="180" style="fill: black; fill-opacity:0.6;
    stroke:none; filter:url(#dropshadow)"/>
         <desc>This is a PieChart Solution For CC432 Assignment 3</desc>
         <path d="M300,300 L480,300 A180,180 0 0,0 405,155 Z" style="fill: #0000ff;stroke: black; stroke-width: 2"/>
         <rect x="550" y="150" width="30" height="20" style="stroke-linejoin: mitre; stroke - width: 2;
    stroke: black; fill:#0000ff"/>
         <text x="590" y="165" style="font-family:verdana, arial, sans-serif;
    font - size: 14; fill: black; stroke: none">The value of 1 Data Set is 12.0</text>
         <path d="M300,300 L405,155 A180,180 0 0,0 134,232 Z" style="fill: #ffd700;stroke: black; stroke-width: 2"/>
         <rect x="550" y="180" width="30" height="20" style="stroke-linejoin: mitre; stroke - width: 2;
    stroke: black; fill:#ffd700"/>
         <text x="590" y="195" style="font-family:verdana, arial, sans-serif;
    font - size: 14; fill: black; stroke: none">The value of 2 Data Set is 23.0</text>
         <path d="M300,300 L134,232 A180,180 0 1,0 480,300 Z" style="fill: #ff6347;stroke: black; stroke-width: 2"/>
         <rect x="550" y="210" width="30" height="20" style="stroke-linejoin: mitre; stroke - width: 2;
    stroke: black; fill:#ff6347"/>
         <text x="590" y="225" style="font-family:verdana, arial, sans-serif;
    font - size: 14; fill: black; stroke: none">The value of 3 Data Set is 45.0</text>
         <text x="550" y="480" style="font-family: verdana, arial, sans-serif;font-size: 14;     
    font-weight: bold;fill: #FF0000; stroke: black;     
    stroke-width: 1">my name</text>
    </svg>

    While returning the document u would have to encode the content using base64 or url encoder, then decode it after the xml is parsed.

Maybe you are looking for

  • Cost of query

    Does the cost of query depends on the number of rows in the table? Also does the cost change from database version to version, like if i check the cost of query in oracle 8i and if i check same query in oracle 9i, will there be any difference in the

  • How do I retrieve a file typed on iCloud online (Pre iCloud Drive) once I have upgraded to iCloud Drive?

    Hello all, My friend has typed his essay on iWork for iCloud on a PC, and then he upgraded his account to iCloud Drive, and he has no access to his essay anymore since it says that because you're account is upgraded you cannot access your files on iW

  • Extra points on graph

    Hello I have a set of data in two colums Col 1 = date in M/D/Y format Col 2 = Data (numbers) I have the XY graph plotting the data according to the date but as I zoom in and out I notice weekend dates are showing up the data was only taken during the

  • [Bash] Variable exapansion and variables within variables

    To make the following script more reusable, I wanted to refactor the "pattern" in a separate variable for the renameit2 function to use. However, it currently doesn't work; "tr" throws an error: tr: extra operand `\'-\''" Can anyone explain how I can

  • How do i enable CMSS in the soundcard option

    How do i do this? I have sound blaster 24bit