PL/SQL Web Services - JAX-RPC returning in JSON format

Hello all,
I have been searching on the web, inclusively on this forum, for a way of returning data in a JSON format from a PL/SQL web service.
The threads that I have found about this issue are still unanswered.
Does anyone know if it is possible to create a JAX-RPC web service which returns in JSON format ?
Regards,
Pedro

Hi,
JAX-RPX services are SOAP services and thus return XML. You want to use REST instead
Frank

Similar Messages

  • Is it possible to connect to a web Service(JAX-RPC) with a middlet?

    Is it possible to connect to a web Service(JAX-RPC) with a middlet?

    Hi
    Check this article: http://developers.sun.com/sw/building/codesamples/j2me-client/index.html
    Mihai

  • Web Service JAX-RPC/SOAP with JAXB

    Hello,
    During my research on JAX-RPC/SOAP as web service technology. I found only simple "helloworld" sample type what using simple String as aurgment. For my task, I required a more complex aurgment such as a complete contact info. I then did some sample code for JAXB and found it to be very useful as a XML/JAVA binding tool. It seems logical to use JAXB to parse and bind the complex aurgment. Though I have not seen any reference to this using it with JAX-RPC. Does JAX-RPC have the tool set to accomplish the same thing? JAX-RPC may have such thing, but using this JAXB seem logical, thus would I still "conform" to the JAX-RPC if I go this route. Any info would be much appreciative.
    Thanks in Advance,
    Mike

    The two JAX-RPC tools that I have used, the reference implementation and Apache Axis both have tools for mappiing XML to classes and vice-versa. Having used JAXB also, I have to say that both of these tools are much easier to use than JAXB.
    As far as whether it will conform, you can make a valid SOAP message using any tool you like.

  • Web services - JAX-RPC/Axis/OC4J

    Hi,
    We are planning to expose some of J2EE applications as web service. It is based on JAX-RPC 1.0. I have checked it with Apache-Axis without changing any code and it worked. Will it work in OC4J without any code changes?
    1. Does OC4J or Oracle SOAP server supports(or implements) JAX-RPC?
    2. Do we need to change any code?
    rgds
    Bala Murali

    Right now we have a JAX-RPC 1.1 with JSR 109 support preview here on OTN at - this came out at OracleWorld:
    http://otn.oracle.com/tech/java/oc4j/1003/content_preview.html
    The target production date is summer 2004. There are also plans to do another drop of this preview with updated support later this year and possibly again before the production release.
    We have quite a lot of functionality that we are targetting to flesh out our Web services support in the areas of reliability, orchestration, transactions and security.
    Mike.

  • How can I return multiple values with PL/SQL Web Services

    Hi,
    I'm new to developping Web Services. I'm doing some tests with JDeveloper and OC4J on my local machine with a Web Services based on a PL/SQL function within a package. Right now that function only returns one value. So the xml response only has one output.
    I'd like to know how can I return multiple values with my PL/SQL Web Service. For example, if I want to return an employee's name and id? And that the xml contains two output : <employee>, <empid>?
    Reginald
    ps : I have searched the forum and I couldn't find an answer to this question, if that has been discussed AND answered before, can you please post the link? Thanks

    Alright, I actually found my answer. Since this was asked I think as a followup somewhere else I'll give my answer.
    It is very simple, all you have to do is create an Object Type and then Return that object type. After that, JDeveloper will take care of everything and you will have an xml response with multiple values. Here
    {color:#ff0000}
    create or replace TYPE person AS OBJECT
    ( id_interv number,
    first_name VARCHAR2(50),
    last_name VARCHAR2(50),
    date_birth date
    );{color}
    Then your function used in your Web Service should look something like this :
    {color:#ff0000}
    function info_emp (p_empno IN VARCHAR2) RETURN person AS
    l_emp person := person(-1,'','','');
    BEGIN
    SELECT first_name
    ,last_name
    ,emp_no
    INTO l_emp.first_name
    ,l_emp.last_name
    ,l_emp.emp_no
    FROM emp
    WHERE upper(emp_no) = upper (emp_no);
    {color}
    {color:#ff0000}
    RETURN l_emp;
    EXCEPTION WHEN NO_DATA_FOUND THEN
    l_emp := person (-1,'n/a','n/a','n/a');
    RETURN l_emp ;
    END info_emp;{color}
    {color:#ff0000}{color:#000000}After that, this is what the xml response looks like :{color}{color}
    &lt;first_name xsi:type="xsd:string"&gt;John&lt;/first_name&gt;
    &lt;last_name xsi:type="xsd:string"&gt;Doe&lt;/last_name&gt;
    &lt;emp_no xsi:type="xsd:string"&gt;0250193&lt;/emp_no&gt;

  • Error while running PL/SQL Web Service in JDeveloper

    Hi,
    I am trying to run a PL/SQL Webservice example available on OTN site. Below mentioned error is occurring when running the program:
    *************** Error Stack Begin **********************
    D:\DevSuiteHome_1\jdk\bin\javaw.exe -ojvm -classpath D:\DevSuiteHome_1\jdev\mywork\WebServiceOBE\PLSQLWebService\classes;D:\DevSuiteHome_1\sqlj\lib\runtime12ee.jar;D:\DevSuiteHome_1\jdbc\lib\classes12.jar;D:\DevSuiteHome_1\jdbc\lib\nls_charset12.jar;D:\DevSuiteHome_1\jdev\lib\jdev-rt.jar;D:\DevSuiteHome_1\soap\lib\soap.jar;D:\DevSuiteHome_1\lib\xmlparserv2.jar;D:\DevSuiteHome_1\jlib\javax-ssl-1_2.jar;D:\DevSuiteHome_1\jlib\jssl-1_2.jar;D:\DevSuiteHome_1\j2ee\home\lib\activation.jar;D:\DevSuiteHome_1\j2ee\home\lib\mail.jar;D:\DevSuiteHome_1\j2ee\home\lib\http_client.jar -Dhttp.proxyHost=instpisa -Dhttp.proxyPort=8080 -Dhttp.nonProxyHosts=*.sierraopt.com|nshore|localhost|127.0.0.1 mypackage2.MyWebService1Stub
    [SOAPException: faultCode=SOAP-ENV:Protocol; msg=Unsupported response content type &quot;text/html&quot;, must be: &quot;text/xml&quot;. Response was:
    &lt;HTML&gt;&lt;HEAD&gt;&lt;TITLE&gt;404 Not Found&lt;/TITLE&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;H1&gt;404 Not Found&lt;/H1&gt;Resource /WebServiceOBE-PLSQLWebService-context-root/MyWebService1 not found on this server&lt;/BODY&gt;&lt;/HTML&gt;
         at org.apache.soap.rpc.Call.getEnvelopeString(Call.java:209)
         at org.apache.soap.rpc.Call.invoke(Call.java:268)
         at mypackage2.MyWebService1Stub.getEmp(MyWebService1Stub.java:86)
         at mypackage2.MyWebService1Stub.main(MyWebService1Stub.java:40)
    Process exited with exit code 0.
    *************** Error Stack End **********************
    Please would anyone help me by providing clues to resolve this issue.
    Thank you.
    Regards,
    Balu

    Thanks Frank.
    In my function package i create xml use dbms_xmldom. I save created xml into clob and return this clob in function.
    Now I want create web service that return my clob(xml).
    I try use JDevelper with PL/SQL Web Service Wizard.
    But I get wrong result (see in my first post).
    My Example xml in clob
    <test>"testvalue"</test>
    I want get responce
    HTTP/1.1 200 OK
    Content-Type: text/xml; charset=utf-8
    X-Powered-By: Servlet/2.5 JSP/2.1
    SOAPAction: "http://localhost/MyWebService1.wsdl/udoFDicnomnsXmlWs"
    Date: Thu, 28 Oct 2010 08:23:31 GMT
    X-ORACLE-DMS-ECID: 0000IjlvoFZB_6yb05nZ6F1CmJAZ000006
    Content-Length: 279812
    X-HTTPAnalyzer-RuleName: Pass through :
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <env:Header/>
    <env:Body>
    <m:udoFDicnomnsXmlWsResponse xmlns:m="http://localhost/MyWebService1.wsdl">
    <result><test>"testvalue"</test>
    </result>
    </m:udoFDicnomnsXmlWsResponse>
    </env:Body>
    </env:Envelope>
    But I get
    HTTP/1.1 200 OK
    Content-Type: text/xml; charset=utf-8
    X-Powered-By: Servlet/2.5 JSP/2.1
    SOAPAction: "http://localhost/MyWebService1.wsdl/udoFDicnomnsXmlWs"
    Date: Thu, 28 Oct 2010 08:23:31 GMT
    X-ORACLE-DMS-ECID: 0000IjlvoFZB_6yb05nZ6F1CmJAZ000006
    Content-Length: 279812
    X-HTTPAnalyzer-RuleName: Pass through :
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <env:Header/>
    <env:Body>
    <m:udoFDicnomnsXmlWsResponse xmlns:m="http://localhost/MyWebService1.wsdl">
    <result>& lt;test>&amp;quot;testvalue&amp;quot;& lt;/test>
    </result>
    </m:udoFDicnomnsXmlWsResponse>
    </env:Body>
    </env:Envelope>
    Can you advice something?
    Edited by: user10707438 on 28.10.2010 1:14
    Edited by: user10707438 on 28.10.2010 1:27

  • PL/SQL web service: question about stub

    hello,
    I'm currently learning how to work with PL/SQL Web Services.
    I have a question about stubs. The point is, I can deploy a web service to the OC4J server and it works. It also works when I create a stub following the WSDL I made with creating the PL/SQL web service. If I go to the endpoint in my webbrowser, the functionality is the same, with or without using a stub.
    My question is: what is the function of the stub?

    A stub is leveraged by a client application to communicate with a corresponding server side object (in this case, the web service implementation). If you think back to CORBA or RMI applications they follow a similar pattern.
    In the case of a web service you would use the stub to write a client application that could invoke the methods of the remote service and return the responses as java data types. The methods the stub class offers are the same as the methods of the web service interface. It's a common way for providing RPC like functionality.

  • PL/SQL Web Service Error: IllegalArgumentException : No Deserializer found

    I deployed a pl/sql web service on a stand-alone OC4J, when I test this I am getting error "IllegalArgumentException : No Deserializer found to deserialize". Find below the detailed response:
    <?xml version="1.0" encoding="UTF-8" ?>
    - <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    - <SOAP-ENV:Body>
    - <SOAP-ENV:Fault>
    <faultcode>SOAP-ENV:Server.Exception:</faultcode>
    <faultstring>java.lang.IllegalArgumentException: No Deserializer found to deserialize a 'http://cmem.oracle.apps.cs.ws/ICmem_cs_ws_pkg.xsd:cmem_oracle_apps_cs_ws_CmemServiceRequestParamObj' using encoding style 'http://schemas.xmlsoap.org/soap/encoding/'.</faultstring>
    <faultactor>/cmemws/CmemServiceRequests</faultactor>
    </SOAP-ENV:Fault>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    I was using a complex parameter as well as response. Below is the WSDL. If anyone has any idea what could be the issue, let me know.
    <?xml version="1.0" encoding="UTF-8" ?>
    - <!-- Generated by the Oracle JDeveloper Web Services WSDL Generator
    -->
    - <!-- Date Created: Tue Oct 27 12:30:19 CST 2009
    -->
    - <definitions name="CmemServiceRequests" targetNamespace="http://cmem/oracle/apps/cs/ws/CmemServiceRequests.wsdl" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://cmem/oracle/apps/cs/ws/CmemServiceRequests.wsdl" xmlns:ns1="http://cmem.oracle.apps.cs.ws/CmemServiceRequests.xsd">
    - <types>
    - <schema targetNamespace="http://cmem.oracle.apps.cs.ws/CmemServiceRequests.xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns="http://www.w3.org/2001/XMLSchema">
    - <complexType name="cmem_oracle_apps_cs_ws_CmemServiceRequestParamObjUser" jdev:packageName="cmem.oracle.apps.cs.ws" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices">
    - <all>
    <element name="srId" type="decimal" nillable="true" minOccurs="0" />
    <element name="srNumber" type="string" nillable="true" minOccurs="0" />
    <element name="srGroupOwner" type="string" nillable="true" minOccurs="0" />
    <element name="srOwner" type="string" nillable="true" minOccurs="0" />
    <element name="srDateFrom" type="dateTime" nillable="true" minOccurs="0" />
    <element name="srDateTo" type="dateTime" nillable="true" minOccurs="0" />
    <element name="caller" type="string" nillable="true" minOccurs="0" />
    <element name="inspector" type="string" nillable="true" minOccurs="0" />
    <element name="problemCode" type="string" nillable="true" minOccurs="0" />
    </all>
    </complexType>
    - <complexType name="cmem_oracle_apps_cs_ws_CmemServiceRequestObjUser" jdev:packageName="cmem.oracle.apps.cs.ws" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices">
    - <all>
    <element name="srId" type="decimal" />
    <element name="srNumber" type="string" />
    <element name="srGroupOwner" type="string" />
    <element name="srOwner" type="string" />
    <element name="srType" type="string" />
    <element name="srDate" type="dateTime" />
    <element name="statusCode" type="string" />
    <element name="srParty" type="string" />
    <element name="caller" type="string" />
    <element name="srSummary" type="string" />
    <element name="problemCode" type="string" />
    <element name="problemDescription" type="string" />
    <element name="resolutionCode" type="string" />
    <element name="resolutionDesc" type="string" />
    <element name="resolutionSummary" type="string" />
    <element name="srAddress" type="string" />
    <element name="srCity" type="string" />
    <element name="srZipCode" type="string" />
    <element name="srState" type="string" />
    </all>
    </complexType>
    </schema>
    </types>
    - <message name="getSrDetails0Request">
    <part name="pSeletionConditions" type="ns1:cmem_oracle_apps_cs_ws_CmemServiceRequestParamObjUser" />
    </message>
    - <message name="getSrDetails0Response">
    <part name="return" type="ns1:cmem_oracle_apps_cs_ws_CmemServiceRequestObjUser" />
    </message>
    - <portType name="CmemServiceRequestsPortType">
    - <operation name="getSrDetails">
    <input name="getSrDetails0Request" message="tns:getSrDetails0Request" />
    <output name="getSrDetails0Response" message="tns:getSrDetails0Response" />
    </operation>
    </portType>
    - <binding name="CmemServiceRequestsBinding" type="tns:CmemServiceRequestsPortType">
    <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
    - <operation name="getSrDetails">
    <soap:operation soapAction="" style="rpc" />
    - <input name="getSrDetails0Request">
    <soap:body use="encoded" namespace="CmemServiceRequests" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
    </input>
    - <output name="getSrDetails0Response">
    <soap:body use="encoded" namespace="CmemServiceRequests" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
    </output>
    </operation>
    </binding>
    - <service name="CmemServiceRequests">
    - <port name="CmemServiceRequestsPort" binding="tns:CmemServiceRequestsBinding">
    <soap:address location="http://isd104364:8888/cmemws/CmemServiceRequests" />
    </port>
    </service>
    </definitions>
    Appreciate any help. Thanks.
    Binish

    Ok, this sounds like a known bug ( Bug 5908689 ) in 10.1.3.1, but this was specific to non-Windows platforms. Are you on Linux/Solaris or any other platform? It might or might not be the same problem you are hitting but it does seem quite close (can't say for sure without a close investigation, I am afraid!)
    In any case, this bug is fixed in the 10.1.3.4 patchset (besides quite a few other fixes and enhancements) - so would recommend you to first apply the 10.1.3.4 patchset and retest. The patchset is available on My Oracle Support (formerly Metalink) under Patch 7272722. Or you could go a step ahead, and apply the 10.1.3.5 patchset (Patch 8626084) instead which is the latest patchset for OracleAS 10.1.3.x.
    HTH,
    Yogesh

  • Urgent!! PL/SQL web service can not get output param in BPEL

    OC4J 10.1.2 generate PL/SQL web service can not get output param can not get output param in BPEL when call a pl/sql webservice.
    wsdl as follow:
    <types>
    <schema targetNamespace="http://db.func.getqf/COMMON.xsd" xmlns:tns="http://db.func.getqf/COMMON.xsd" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <complexType name="db_func_getqf_COMMONUser_getqf_Out">
    <all>
    <element name="pnqfysOut" type="xsd:decimal"/>
    <element name="pnzqfOut" type="xsd:decimal"/>
    </all>
    </complexType>
    </schema>
    </types>
    <message name="getqfOutput">
    <part name="return" type="xsd1:db_func_getqf_COMMONUser_getqf_Out"/>
    </message>

    the wsdl which generate by OC4J is as follows:
    <?xml version="1.0" ?>
    - <definitions name="COMMON" targetNamespace="http://db.func.getqf/COMMON.wsdl" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://db.func.getqf/COMMON.wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd1="http://db.func.getqf/COMMON.xsd">
    <documentation>WSDL for Service: COMMON, generated by Oracle WSDL toolkit (version: 1.1)</documentation>
    - <types>
    - <schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://db.func.getqf/COMMON.xsd" xmlns:tns="http://db.func.getqf/COMMON.xsd" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    - <complexType name="db_func_getqf_COMMONUser_getqf_Out">
    - <all>
    <element name="pnqfysOut" type="xsd:decimal" />
    <element name="pnzqfOut" type="xsd:decimal" />
    </all>
    </complexType>
    </schema>
    </types>
    - <message name="getqfOutput">
    <part name="return" type="xsd1:db_func_getqf_COMMONUser_getqf_Out" />
    </message>
    - <message name="getqfInput">
    <part name="param0" type="xsd:string" />
    </message>
    - <portType name="COMMONPortType">
    - <operation name="getqf">
    <input message="tns:getqfInput" />
    <output message="tns:getqfOutput" />
    </operation>
    </portType>
    - <binding name="COMMONBinding" type="tns:COMMONPortType">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc" />
    - <operation name="getqf">
    <soap:operation soapAction="urn:db-func-getqf-COMMON/getqf" />
    - <input>
    <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:db-func-getqf-COMMON" />
    </input>
    - <output>
    <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:db-func-getqf-COMMON" />
    </output>
    </operation>
    </binding>
    - <service name="COMMON">
    - <port name="COMMONPort" binding="tns:COMMONBinding">
    <soap:address location="http://localhost:9700/plsqlgetqf/getqf" />
    </port>
    </service>
    </definitions>

  • Creating PL/SQL web services from object types

    Hello
    Jdeveloper, pl/sql web-services working successfully with object types.If we want to send the web-services to the client, do we need to send the entire folder that is created in the web-services folder of the external oc4j..?
    Creating the client process:
    we are using the wsdl file that is generated in the web-services and adding to the partner link to Invoke the operations of web-services. Is there any other way to invoke the webservices?Could any one please suggest me?
    Thanking you
    Malathi

    Hello
    Accessing the pl/sql webservices from the application server:
    I have created pl/sql webservice using the nested tables. This will insert the object data into database tables.after deplying the webservice into external oc4j, when I test the webservice locally with url: http://localmachine:8888/PL_SQL_WS-Nest_Obj_Webservice-context-root/ObjWebserviceSoapHttpPort
    The above web-services working and I am able to insert into the database tables.
    Same when I want to access through the application server, I have changed the wsdl file soap address as
    <soap:address location="http://10.91.20.7:8888/PL_SQL_WS-Nest_Obj_Webservice-context-root/ObjWebserviceSoapHttpPort"/>
    When I access this url, I am able to give the input data
    http://10.91.20.7:8888/PL_SQL_WS-Nest_Obj_Webservice-context-root/ObjWebserviceSoapHttpPort
    but the out from the web-service is:
    <env:Envelope
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Header/>
    <env:Body>
    <env:Fault
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <faultcode>env:Server</faultcode>
    <faultstring>Error creating target: DBConnImpMftest.ObjWebserviceUser</faultstring>
    <faultactor/>
    </env:Fault>
    </env:Body>
    </env:Envelope>
    Err from the OC4j log:<PAYLOAD>
    <MSG_TEXT>An error occurred for port: {http://dbconnimpmftest/Nested_Webserv.wsdl}Nested_WebservSoapHttpPort: javax.xml.rpc.JAXRPCException: Error creating target: dbconnimpmftest.Nested_WebservUser.</MSG_TEXT>
    </PAYLOAD>
    Could any one help me to solve the above issue?
    Kind regards
    Malathi

  • PL/SQL web service quickstart not works

    Hello, I am newbie to Oracle, so I follow steps in Publish PL/SQL as Web Service on my own PL/SQL package which works fine against .net framework. Package is on 8.1 and is named ENKI_PKG if it counts. It returns REF CURSOR from three procedures.
    Tutorial looks fine, until step 2/3: Select program units to publish. I didn't see there my procedures. Any suggestions from pros?

    You might want to read this paper:
    http://otn.oracle.com/tech/webservices/htdocs/dbwebservices/Database_Web_Services.pdf
    It talks about approaches to dealing with unsupported types like REF CURSORS - this is an area of focus that the PL/SQL Web services team is looking to automate in a coming release.
    Mike.

  • PL/SQL web service - how to use XML schema to define inputs/outputs?

    Hello,
    let us say I want to publish a PL/SQL web service. The package spec that I want to expose is:
    CREATE OR REPLACE PACKAGE myWebService AS
      FUNCTION loadResults(
        username   IN VARCHAR2,
        password   IN VARCHAR2,
        resultData IN XMLType)
      RETURN XMLType;
    END;When I use JDeveloper's wizard to publish my PL/SQL web service, the resulting WSDL contains this:
    <schema
        xmlns="http://www.w3.org/2001/XMLSchema"
        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:tns="http://uk/co/weatherbys/aapws/AAPWS.wsdl/types/"
        targetNamespace="http://uk/co/weatherbys/aapws/AAPWS.wsdl/types/"
        elementFormDefault="qualified">
        <element name="loadresultsElement">
            <complexType>
                <sequence>
                    <element name="username" type="string" nillable="true"/>
                    <element name="password" type="string" nillable="true"/>
                    <element name="resultdata" nillable="true">
                        <complexType>
                           <sequence>
                                <any/>
                             </sequence>
                        </complexType>
                    </element>
                </sequence>
            </complexType>
        </element>
        <element name="loadresultsResponseElement">
            <complexType>
                <sequence>
                    <element name="result" nillable="true">
                       <complexType>
                            <sequence>
                                <any/>
                            </sequence>
                        </complexType>
                    </element>
                </sequence>
            </complexType>
        </element>
    </schema>It is specifying that anything at all can be passed in and out from the two XMLType arguments, which is fair enough: it has no way of knowing what I am expecting and what I shall return.
    My question is, how do I tell JDeveloper that actually I want either or both of those XMLTypes to conform to a particular XML schema?

    You cannot format the date as a string, unless you do the conversion on the PL-SQL side, before you use it in your WebService mapping. It should be handled as a string.
    The only way to convert the XML from SOAP, using this encoding, into literal XML is to apply XSLT to the payload. Not sure why you would like to do this, as the payload should be consumed by another SOAP-awared stack.
    Hope this helps,
    Eric

  • PL/SQL Web Service problem in Oracle10g

    Hi everybody
    I try to publish PL/SQL Web Service using JDeveloper 9.0.4.0 and Oracle10g.
    But when I deploy the Web Service using 'http-web-site', error messages are:
    oracle.oc4j.admin.internal.DeployerException: Unknown site: http-web-site
    Active sites are:
    file:/D:/oracle/DS/j2ee/home/config/default-web-site.xml
         at oracle.oc4j.admin.internal.WebApplicationBinder.bindWebApp(WebApplicationBinder.java:131)
         at com.evermind.server.administration.DefaultApplicationServerAdministrator.bindWebApp(DefaultApplicationServerAdministrator.java:364)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.evermind.server.rmi.RMICallHandler.run(RMICallHandler.java:124)
         at com.evermind.server.rmi.RMICallHandler.run(RMICallHandler.java:48)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
         at java.lang.Thread.run(Thread.java:534)
    Exit status of OC4J admin tool (-bindWebApp): 17
    Use the following context root(s) to test your web application(s):
    http://huan:????/CSE5200-PLSQLWS-context-root
    Note: JDeveloper was unable to determine the HTTP port number of the remote server for the above URL(s).
    Elapsed time for deployment: 2 minutes, 19 seconds
    When I change it to 'default-web-set', the following information is shown:
    ---- Deployment started. ---- 2004-8-31 8:50:08
    Target platform is Standalone OC4J (WSConnection).
    Wrote WAR file to D:\oracle\DS\jdev\mywork\CSE5200\PLSQLWS\WebServices.war
    Wrote EAR file to D:\oracle\DS\jdev\mywork\CSE5200\PLSQLWS\CSE5200-PLSQLWS-WS.ear
    Invoking OC4J admin tool...
    D:\oracle\DS\jdk\jre\bin\javaw.exe -jar D:\oracle\DS\j2ee\home\admin.jar ormi://huan/ admin **** -deploy -file D:\oracle\DS\jdev\mywork\CSE5200\PLSQLWS\CSE5200-PLSQLWS-WS.ear -deploymentName CSE5200-PLSQLWS-WS
    Notification ==> Application Deployer for CSE5200-PLSQLWS-WS STARTS [ 2004-08-31T08:50:32.487EST ]
    Notification ==> Undeploy previous deployment
    Notification ==> Copy the archive to D:\oracle\DS\j2ee\home\applications\CSE5200-PLSQLWS-WS.ear
    Notification ==> Unpack CSE5200-PLSQLWS-WS.ear begins...
    Notification ==> Unpack CSE5200-PLSQLWS-WS.ear ends...
    Notification ==> Initialize CSE5200-PLSQLWS-WS.ear begins...
    Notification ==> Initialize CSE5200-PLSQLWS-WS.ear ends...
    Notification ==> Initialize WebServices begins...
    Notification ==> Initialize WebServices ends...
    Notification ==> Application Deployer for CSE5200-PLSQLWS-WS COMPLETES [ 2004-08-31T08:50:45.766EST ]
    Exit status of OC4J admin tool (-deploy): 0
    D:\oracle\DS\jdk\jre\bin\javaw.exe -jar D:\oracle\DS\j2ee\home\admin.jar ormi://huan/ admin **** -bindWebApp CSE5200-PLSQLWS-WS WebServices default-web-site /CSE5200-PLSQLWS-context-root
    Exit status of OC4J admin tool (-bindWebApp): 0
    Use the following context root(s) to test your web application(s):
    http://huan:8890/CSE5200-PLSQLWS-context-root
    Elapsed time for deployment: 53 seconds
    ---- Deployment finished. ---- 2004-8-31 8:51:01
    And the Web Service still can not work. I did this before with JDeveloper 9.0.3 with Oracle9i and succeeded. Could anybody tell me how to resolve this problem. Thanks a lot.

    Thanks Frank.
    In my function package i create xml use dbms_xmldom. I save created xml into clob and return this clob in function.
    Now I want create web service that return my clob(xml).
    I try use JDevelper with PL/SQL Web Service Wizard.
    But I get wrong result (see in my first post).
    My Example xml in clob
    <test>"testvalue"</test>
    I want get responce
    HTTP/1.1 200 OK
    Content-Type: text/xml; charset=utf-8
    X-Powered-By: Servlet/2.5 JSP/2.1
    SOAPAction: "http://localhost/MyWebService1.wsdl/udoFDicnomnsXmlWs"
    Date: Thu, 28 Oct 2010 08:23:31 GMT
    X-ORACLE-DMS-ECID: 0000IjlvoFZB_6yb05nZ6F1CmJAZ000006
    Content-Length: 279812
    X-HTTPAnalyzer-RuleName: Pass through :
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <env:Header/>
    <env:Body>
    <m:udoFDicnomnsXmlWsResponse xmlns:m="http://localhost/MyWebService1.wsdl">
    <result><test>"testvalue"</test>
    </result>
    </m:udoFDicnomnsXmlWsResponse>
    </env:Body>
    </env:Envelope>
    But I get
    HTTP/1.1 200 OK
    Content-Type: text/xml; charset=utf-8
    X-Powered-By: Servlet/2.5 JSP/2.1
    SOAPAction: "http://localhost/MyWebService1.wsdl/udoFDicnomnsXmlWs"
    Date: Thu, 28 Oct 2010 08:23:31 GMT
    X-ORACLE-DMS-ECID: 0000IjlvoFZB_6yb05nZ6F1CmJAZ000006
    Content-Length: 279812
    X-HTTPAnalyzer-RuleName: Pass through :
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <env:Header/>
    <env:Body>
    <m:udoFDicnomnsXmlWsResponse xmlns:m="http://localhost/MyWebService1.wsdl">
    <result>& lt;test>&amp;quot;testvalue&amp;quot;& lt;/test>
    </result>
    </m:udoFDicnomnsXmlWsResponse>
    </env:Body>
    </env:Envelope>
    Can you advice something?
    Edited by: user10707438 on 28.10.2010 1:14
    Edited by: user10707438 on 28.10.2010 1:27

  • Jdeveloper 11g R2 problem when publishing PL\SQL Web Service

    Hi Guys,
    I have been banging my head against the wall for the past few days trying to publish pl\sql package as a web service on a weblogic 10.3 but I keep running into the same problem.
    PL\SQL Package Source below
    create type dept_type as object
    (deptno NUMBER,
    dname VARCHAR2(50),
    loc varchar2(13),
    cr_date date)
    create type dept_list_table is table of dept_type
    purge recyclebin;
    create or replace package ws_package as
    procedure test_dept_table (pout out dept_list_table);
    end ws_package;
    show errors;
    create or replace package body ws_package as
    procedure test_dept_table (pout out dept_list_table) is
    all_depts dept_list_table := dept_list_table();
    dRecType dept_type;
    i number := 0;
    begin
    -- iterate through all depts
    for r_list in (select * from dept) loop
    i := i + 1;
    dRecType := dept_type(null, null, null, null);
    dRecType.deptno := r_list.deptno;
    dRecType.dname := r_list.dname;
    dRecType.loc := r_list.loc_id;
    dRecType.cr_date := sysdate;
    pout.extend;
    pout(i) := dRecType;
    end loop;
    end test_dept_table;
    end ws_package;
    show errors;
    I go and create PL\SQL Web Service using default settings in Jdeveloper 11g R2 but when I try and test this page I get the following response:
    Failed to invoke end component servqa.MyWebService1User (POJO), operation=testDeptTable -> Failed to invoke method -> java.sql.SQLException: ORA-06550: line 1, column 13: PLS-00306: wrong number or types of arguments in call to 'TEST_DEPT_TABLE' ORA-06550: line 1, column 7: PL/SQL: Statement ignored
    Anyone have any idea what the problem may be? Your help would be much appreceated!
    Bojan

    Hi Frank,
    I think the problem is in any procedure that has a COMPLEX TYPE as OUT parameter. So even if you strip down the procedure to just do nothing I still get the error as described in my top post. Passing complex parameters as IN parameter work fine its only when I have procedure with complex out when it errors. I also tried function that returns object parameter and that works fine too so not sure why this doesnt?
    create or replace package body ws_package as
    procedure test_dept_table (pout out dept_list_table) is
    begin
    -- iterate through all depts
    for r_list in (select * from dept) loop
    i := i + 1;
    end loop;
    end test_dept_table;
    end ws_package;
    Not sure if I am meant to do anything extra before I generate Web Service using JDeveloper if my procedure has got PL\SQL types as OUT parameters but as far as I know JDeveloper should do all the type conversions for you??
    Thanks
    Bojan

  • Oracle PL/SQL Web service - dynamic parameters... possible?

    Oracle 11.2.0.3 - newbie on web services!
    Currently we have a pl/sql web service taking in 2 static parameters and returning a varchar2 response.
    I was asked today if it's possible for a web service to take in a dynamic set of parameters and return a corresponding set of results. It's as if I need to pass the web service a table with two columns and return a table of one column.
    For example:
                        Input                          Output
              1 2                             3
              3 4                             7
              5 6                            11output being in XML of course. It is possible?
    p.s. I posted this in OC4J also - no response hence the re-post !

    Parameters relate to procedures. Web Services require XML messages.
    Where are the parameters coming from? You cannot pass a dynamic number of parameters into a procedure, but you can pass a structured type as a parameter which can contain multiple values, whether that is an array/collection type or an XML document itself.
    Just package up the values into the XML and pass it to the web service.
    If this doesn't answer your question, please post more information, with some example data and code. Read the FAQ: {message:id=9360002}

Maybe you are looking for