Web Service Returns Object[ ] but it used to return List Object ??? Why?

Hi All I have found a way around my problem but am really stumped as to why it is even happening???
So I have a simple we service that returns a ListOfAllEmployees List<Employee> and the Site for which a particular employee works.
Thursday I added a method to search employeesByName which would return a List<Employee> that matched the query.
I then consumed this method in my Proxy which read it as a List<Employee> and everything was perfect.
So now Friday I decide I want to add more functionality to my Web Service by adding a few more methods, like findEmployeesBySite.
So not to do to much at one time I code the method, test on the webservice side and then deploy the Web service, all is well.........
Now I try to update my proxy and I get a Cast error because now my Web Service does not return a List<Employee> but rather an Employee[ ]???????????????????????????
What did I do? All I did was add a toplink query, test and redeploy my webservice, nothing else. On the proxy side all the code is generated by a wizard so I assume that it is correct?
Anyway like I said I found a workaround so no big deal but I would like to understand why it changed from a List<Employee> to an Employee [ ]?
Here is the fix I have employed untill I get an answer, I just convert the Array to a Typed List.
(List<Employee>)Arrays.asList(port.findEmployeesByName(FName, LName));

ColdFusion sometimes has some problems connecting to
webservices using HTTPS.
Try Daverms's suggestion first. Recreating or refreshing the
webservice in the CFADMIN might fix your problem. Otherwise, if
that doesn't work I suggest:
Try saving the WSDL to a local location and running the
webservice off the local WSDL. The WSDL should have the location of
the actual webservice in it (I think the tag is <ServicePort>
or something like that), so it doesn't really matter where the WSDL
resides.

Similar Messages

  • 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

  • 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.

  • Picklist web Service Custom Object

    I am using the Picklist web Services and am trying to use them against a custom Object. They work fine for standard objects such as account but are failing against my custom object. I have tried calling it "Custom Object 01", "CustomObject1","connection" etc etc. I get the feeling that these web services do not work against custom objects... Does anybody have any experience to the contrary????
    createSession();
    picklist.Picklist pick = new iLink.picklist.Picklist();
    pick.Url = session.GetURL();
    picklist.PicklistWS_GetPicklistValues_Input input = new iLink.picklist.PicklistWS_GetPicklistValues_Input();
    picklist.PicklistWS_GetPicklistValues_Output output = new iLink.picklist.PicklistWS_GetPicklistValues_Output();
    input.RecordType = "CustomObject1";
    input.FieldName = "IndexedPick0";
    output = pick.GetPicklistValues(input);
    session.Destroy(session.sessionId);
    Thanks in advance for your comments...

    Hi Sean,
    Yes - I raised with Customer Care and the naming needs to be "Custom Object 1". Thanks for your response.

  • 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>

  • Generating Web Service from PL/SLQL procedures using ODSI

    1) Is there a way for us to generate REST based web services from PL/SQL procedures using Oracle data services Integrator? If Yes, Can you please point me to any available documentation
    2) I am trying to create a phyiscal data source based on PL/SQL procedures in the hope of turning these data sources into web services. I created a JDBC connection in web logic server console and am trying to view the packages under APPS but ODSI always crashes after selecting APPS. Is there a way to resolve this?
    Thanks
    Bhanu

    Hi..
    We came accross this problem a while back (I think it was us that the patch was created for). The patch was released under CR369707.
    Additionally it took us a while to figure out how to use it correctly.. Here's the info for it from a mail i receievd from our support contact..
    Here is more information from engineering on the patch:
    This is patch for filtering Stored Procedures in the New Physical Data Service Wizard. It is a partial fix to the problem. It just does filtering - it still retrieves all the jdbc metadata for everything that matches the filter. Ideally, the wizard would let you explore the stored procedures - retrieving the name only - and once you selected a stored procedure, it would retrieve the argument types (which is the expensive part).
    Copy these two files to a safe place
    <bea_home>\<aldsp_home>\eclipse-plugins\dsp\eclipse\plugins\com.bea.dsp.ide.external_10.3.0\dsp-ide-ldshredder.jar
    <bea_home>\<aldsp_home>\eclipse-plugins\dsp\eclipse\plugins\com.bea.dsp.ide.import_metadata_10.3.0.jar
    Replace the files with the ones provided in the patch (which I sent you be eMail recently).
    Creating Relational Database Physical Data Services -> Stored Procedures will be affected as follows :
    The Search field used to represent a pattern for the stored procedures only, and this patterns were applied against every schema visible to ALDSP. The patch allows you to also specify a list of catalogue patterns (useful only when applicable), a list of schema patterns and a list of procedure name patterns. These lists are separated by the pipe symbol, and the lists themselves are command-separated. The catalogue and schema patterns are regular expressions, the procedure pattern is for a database 'like' clause. For, Oracle, the catalogue patterns are not applicable.
    Example:
    |ODM1,ODM2|B% // look in schemas containing the strings ODM1 or ODM2 for procedures that start with B
    // possible results would be MY_ODM1.BUILDER, ODM2.BOTTOM
    |^ODM$|B%D // look in the ODM schema for procedures that start with B and end with D.
    Also - if there is a search string in the Search box, that search string will be applied to the schema when you click on the + to expand it in the Tree.
    Note that once a schema has been 'explored' - either by a search, or by expanding it in the tree, further searches will not update it's children. You would need to quit the wizard and restart.
    Once you get the patch if you have issues let me know..

  • Hello REST web service example deployment fails when using EJB

    I was able to successfully deploy the hello REST web service example. But when I attempted to lookup an EJB via the following code I get an error message.
    try {
    ic = new InitialContext();
    DirectoryBean db = (DirectoryBean)ic.lookup("java:comp/env/ejb/DirectoryBean");
    } catch (NamingException ex) {
    ex.printStackTrace();
    Here is the error message in the NetBeans console window:
    Deploying application in domain failed; Error loading deployment descriptors for module [hello] -- com.sun.enterprise.deployment.annotation.context.WebBundleContext cannot be cast to com.sun.enterprise.deployment.annotation.context.EjbContextat com.sun.enterprise.deployment.annotation.AnnotationInfo@15f1fa0
    D:\java\Sun\swdp-tutorial-1.0\examples\rest\hello\nbproject\build-impl.xml:450: Deployment error:

    I think the problem may be that the SimpleServlet example uses an apt feature to generate a web.xml which will replace any web.xml you already have in the project (and lose any references etc you might have in it). To work around this problem first copy the necessary lines from the web.xml in the generates .war file - they should look something like this:
    <servlet>
    <servlet-name>RESTBeans Application</servlet-name>
    <servlet-class>com.sun.ws.rest.impl.container.servlet.ServletAdaptor</servlet-class>
    <init-param>
    <param-name>resourcebean</param-name>
    <param-value>com.sun.ws.rest.samples.servlet.resources.RESTBeansResources</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>RESTBeans Application</servlet-name>
    <url-pattern>/restbean/*</url-pattern>
    </servlet-mapping>
    Add these to your project web.xml, replacing any lines that look similar (the web.xml in the sample project has these lines that you'll need to replace:
    <servlet>
    <servlet-name>ServletAdaptor</servlet-name>
    <servlet-class>com.sun.ws.rest.impl.servlet.ServletAdaptor</servlet-class>
    <init-param>
    <param-name>resources</param-name>
    <param-value>test1</param-value>
    </init-param>
    </servlet>
    <servlet-mapping>
    <!-- this is a comment -->
    <servlet-name>ServletAdaptor</servlet-name>
    <url-pattern>/*</url-pattern>
    </servlet-mapping>
    Now you need to turn off automatic web.xml generation by adding <option key="noservlet"/> to the apt task option in build.xml (look for the apt child of the -pre-compile task in build.xml).
    Clean and rebuild and make sure that the web.xml in the generated .war file now matches the project web.xml file.
    Marc.

  • 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

  • How  Stateless Web services requests can be authenticated using HTTP Login

    Hi All,
    How Stateless Web services requests can be authenticated using HTTP Login (with Oracle CRM On Demand Single Sign On (SSO) Token in HTTP Header).
    If there is any code regarding stateless Web services requests to CRMOD please send it to me that will be helpful for me.
    Please help me.
    Thanks,
    Jaysing
    Edited by: 883663 on Sep 19, 2011 12:06 AM

    You cant use stateless web services when you're using SSO. It's called out in the documentation.

  • How to create Web services to communicate InfoPath forms to Share Point lists ?

    How to create Web services to communicate InfoPath forms to Share Point lists ?

    Hi,  
     As per your posting and my understanding, you wanted to communicate your infopath with SharePoint list/library. Please refer the below link(s) which may help you to solve your issue.
    http://blogs.msdn.com/b/russmax/archive/2012/08/17/want-to-call-sharepoint-2010-web-services-within-browser-based-infopath-2010-forms.aspx
    http://jaliyaudagedara.blogspot.in/2011/03/submitting-data-to-sharepoint-2010-list.html
    or 
    http://blogs.msdn.com/b/infopath/archive/2007/03/26/submitting-to-a-sharepoint-list.aspx
    If you need more help please let usknow
    Sekar - Our life is short, so help others to grow
    Whenever you see a reply and if you think is helpful, click "Vote As Helpful"! And whenever you
    see a reply being an answer to the question of the thread, click "Mark As Answer

  • Web service returns [object Object] into Label

    I can return webService calls into a data grid fine, but if i
    try to bind a result to a Label or Text area i always get [object
    Object]
    returned. I can't figure out how to format them into their
    proper text?
    He is my string for the label
    <mx:Label x="10" y="421"
    text="{wsGetNames.getDetails.lastResult.lastName}"
    id="LastName_txt"/>
    If anyone has any help or ideas, it is appreciated.
    thank you.

    Sorry, there isn't enough information to determine exactly
    what issue you're running into but I do have a few debugging
    suggestions.
    In you web service result handler, print out the results
    which are returned from the server using the
    trace(mx.utils.ObjectUtil.toString(myResultObject)) method. This
    method will dump the object to flashlog.txt.
    You could also try
    {wsGetNames.getDetails.lastResult.lastName.toString()}
    - Cathy

  • Starting Process by Using Web Service callable object

    HI,
         I have created Web service CO for starting a predefined process (let call it Process2).
    I am using this Web Service CO in another process i.e. Process1 (Main Process).
    When execution of Process1 reaches to action where Web service CO is Attached. It's Initiating the Process2.
    My Problem Is Process2 is initiated by some "Guest" User instead of processor of that action.
    Plz help ASAP.

    NO answers, so closing this thread

  • 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.

  • Help NeEDED. How to link to soap web service from objective c

    Hello , HELP
    I'm trying to connect to a SOAP based web service using objective C as my programming language. Although the little bit of information on the Apple Dev centre documents is should be straight forward, im struggling like **.
    What im trying to do is connect via a small username and password text-box plus 'login' button from interface builder to
    https://api.betfair.com/global/v3/BFGlobalService.wsdl and parameter called login.
    then pass it my username and password from the interface text-boxes plus a few other standard set bits of information which are required.
    in turn the soap request will pass back a session token which i need to store.
    I've tried using WSMakestubs, which builds successfully the classes, but when calling them method nothing happens.

    Hello Etresoft
    Thanks again for coming back to me.. I would like to add that maybe on my first thread i wasn't as clear on what i was asking for, and also what avenues have have stepped down before asking for help.. Believe me i hate nothing more than not being able to resolve something myself. I'm currently reading 'another' programming in cocoa book by Arron Hillgrass, although he touches on the web service call to a Amazon web service example, he doesn't go into detail about how to actually do this.
    So again thank you for trying to help me.. its greatly appreciated.
    Ok back to the subject, and your response below.. I will try and be as informative as i can.
    I'm want to create a application using the interface builder which has a username and password textfield plus a button called <login>..
    On entering the username and password and pressing the login button, i was to send a request to the a .wdsl (SOAP) web service and login.! the webservice in return will send back a session token, which i need to store for further web service calls.
    In xcode i have been trying now for 1 week..!!! and the more i read up on how to make the Soap request call the more i fail to understand if this is simple or complex.
    * A bit more info if i may, on clicking the login button i need to send information to the below address as a soap type request.
    https://api.betfair.com/global/v3/BFGlobalService.wsdl
    i need to also tell the request the method name which is loginreq
    and also i need to pass these parameters in the request.
    username (from textfield)
    password (from textfield)
    productId = '82'
    vendorsoftwareId = '0'
    locationId = '0'
    ipAddress = '0'
    The stage I've got to is, I've used wsmakestubs and I've tried 'wdsl2objc' to create the classes required. I have then created a app controller class and a interface build app with the textfields and login button. I have then linked up the textfields and button to the nsobject appcontroller with a action ibaction loginreq etc. On build and go the app builds without error's but fails to do anything when i press the login button.. (more i think about this the more i think its either two things, one im not passing the parameters and two im not invoking the loginreq method from the class.)
    I feel like im wading in treacle and getting nowhere fast.!
    All i would like is for some help from someone to point me the correct direction..
    Im thinking that with all the Soap web services out there in the WWW, this must now be a easy thing to do in xcode. Im starting to think im stupid..
    Thanks again for you Help
    Regards
    Iain Smith
    [email protected]

Maybe you are looking for

  • How to find system time.

    Hi, Please let me know the SQL query to find the system time. I am using a Windows server with Oracle 9.2.0.1.0 . Regards, Santhosh

  • I need a RAW converter program and the adovbe system has been recommended.  how shall I proceed?

    I need a RAW converter program and the Adobe system has been recommended.  How do I proceed?

  • IMAC cant see WRT600N w/ WD MyBook HD

    I have just purcahsed the WRT600N and attached a western digital MyBook to it via USB All my XP machines have no problem mapping the hard drive nad using it but my iMAC when using the smb://<IP ADDRESS> to connect to it fails after entering the passw

  • Spotlight and Find search criteria is missing

    When I try to do a "find" from the finder or "show search criteria" when using spotlight most of the search criteria is missing. Nothing is listed under "other". A minimal amount of options are available is I choose "date" or "kind". Where is the lis

  • Listing item roles used by menu

    Hello, Just now joined forum and have a question about Forms V10. I have a menu (mmb- not in database) with a couple hundred menu items. Each item has several roles assigned to it. I would like a report report (or preferably an Excel sheet) that list