Web Service function to return OracleDataReader

My current .Net code with ODP calls a data access layer function which returns an "OracleDataReader". We would like to test an alternate approach and call a web service function instead. When I try and create the Web Service function it does not allow me to specify "OracleDataReader" as the return since it gives an error that the function cannot be serialized since it "does not implement Add(System.Object).".
Is there an Oracle.DataAccess.Client alternative? Does this mean I have to return a "DataSet" since it is the only data structure which can be serialized?

this is pseudo c#
snippets of a class definition NB Note the Serializable decoration
#region ADPerson definiton
     [Serializable]
     public class ADPerson
#region ADPerson fields
private string _postCode;
          private string _deliveryOffice;
          private string _telephoneNumber;
#region ADPeople collection of ADPerson
     [Serializable]
     public class ADPeople : System.Collections.CollectionBase
          public int Add(ADPerson value)
This is in my web method
using AD = ADClasses;
#region main lookup method
          [WebMethod(Description = "Lookup in Active Directory")]
          public AD.ADPeople ADLookup(string strSearchCriteria, string strUser, string strPassword, string strDomain)
AD.ADPeople adPeople = new AD.ADPeople();
AD.ADPerson ap = new AD.ADPerson();
adPeople.Add(ap);
return adPeople;
Just make sure that your class(es) are serializable and return them from your web service. If you call the ser vice from a browser you will see your class as xml. If you call it from an app you can do something like
class c= callWebService(param);
HTH

Similar Messages

  • Problem with CFMX web service function return

    I made a post yesterday about a web service function I was
    writing, as it turns out my post was extremly incorrect for my
    problem. With this web service function I can return an array just
    fine, I can return one instance of an object just fine, however,
    when I try to return an array of the object I keep getting the
    error:
    Could not perform web service invocation "SelectGames"
    because AxisFault faultCode: {
    http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
    faultSubcode: faultString: [org.apache.axis.AxisFault : ; nested
    exception is: coldfusion.xml.rpc.CFCInvocationException:
    [java.lang.IncompatibleClassChangeError : Dependent CFC type(s)
    have been modified. Please refresh your web service client.]];
    nested exception is: coldfusion.xml.rpc.CFCInvocationException:
    [org.apache.axis.AxisFault : ; nested exception is:
    coldfusion.xml.rpc.CFCInvocationException:
    [java.lang.IncompatibleClassChangeError : Dependent CFC type(s)
    have been modified. Please refresh your web service client.]]
    faultActor: faultNode: faultDetail: {
    http://xml.apache.org/axis/}stackTrace:
    AxisFault faultCode: {
    http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
    faultSubcode: faultString: [org.apache.axis.AxisFault : ; nested
    exception is: coldfusion.xml.rpc.CFCInvocationException:
    [java.lang.IncompatibleClassChangeError : Dependent CFC type(s)
    have been modifie..
    which basically means that the CF server needs restarted.
    However if I restart the CF server, no matter how many times I am
    still getting this error. If I change up my web service function to
    return just a normal array of integers or strings, or I change it
    to return one instance of the arbritrary complex type it all works
    just fine. I am still a little new on this subject and any
    enlightenment would be great. If anyone has found a way around this
    please let me know.
    Here is my complex type:
    <cfcomponent>
    <cfproperty name="Game_id" type="numeric">
    <cfproperty name="gameDate" type="date">
    <cfproperty name="Starttime" type="string">
    <cfproperty name="Place" type="string">
    <cfproperty name="Level" type="string">
    <cfproperty name="Sport" type="string">
    <cfproperty name="Gender" type="string">
    <cfproperty name="Opponent" type="string">
    <cfproperty name="Type" type="string">
    <cfproperty name="Link" type="string">
    </cfcomponent>
    I loop trhough a query and set a cfobject of the types above,
    then I append that object to an array and try t o return the array.
    Here is the basics of the loop:
    <cfset theArray = arrayNew(1)>
    <cfobject component = "games" name = "test>
    <cfloop query ...>
    <!--- set values to test ---->
    <cfset arrayApend(theArray, test)>
    </cfquery>
    <cfreturn theArray>
    my return type is array, I think the problem is I need to
    specify the return type to be an array of arbritray complex types
    which is impossible to do in CF. Anyone find a way to get around
    this?? Any feed back at all would be greatly appreciated.

    Yes, I have tried it and return type any does not work in
    this situation since this function is being consumed by a web
    service. It needs to be in the form of an array of arbritrary type
    that is defined in a cfc file. Since this is WSDL the returntype
    has to be specified to every last bit.

  • Consuming Java Web Service with complex return types

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

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

  • Call thirty party java web service but always return null

    hi
    I call a java web service in my application visual studio 2008 c#, but always return NULL.
    I used Tool Fiddler to monitor the traffic between my client and the web service server, it showed the return is not Null.
    Here is my code, please see if anything I do wrong.
    namespace CanOfficer_THQ_vs_IHQ.TestWebReferenceAppointment {
    using System.Diagnostics;
    using System.Web.Services;
    using System.ComponentModel;
    using System.Web.Services.Protocols;
    using System;
    using System.Xml.Serialization;
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.5483")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name="AppointmentServiceSoapBinding", Namespace="http://service.ips.salvationarmy.org/")]
    public partial class AppointmentService : Microsoft.Web.Services3.WebServicesClientProtocol {
    private System.Threading.SendOrPostCallback deleteAppOperationCompleted;
    private System.Threading.SendOrPostCallback importAppOperationCompleted;
    private System.Threading.SendOrPostCallback editAppOperationCompleted;
    private bool useDefaultCredentialsSetExplicitly;
    /// <remarks/>
    public AppointmentService() {
    this.Url = global::CanOfficer_THQ_vs_IHQ.Properties.Settings.Default.CanOfficer_THQ_vs_IHQ_TestWebReferenceAppointment_AppointmentService;
    if ((this.IsLocalFileSystemWebService(this.Url) == true)) {
    this.UseDefaultCredentials = true;
    this.useDefaultCredentialsSetExplicitly = false;
    else {
    this.useDefaultCredentialsSetExplicitly = true;
    public new string Url {
    get {
    return base.Url;
    set {
    if ((((this.IsLocalFileSystemWebService(base.Url) == true)
    && (this.useDefaultCredentialsSetExplicitly == false))
    && (this.IsLocalFileSystemWebService(value) == false))) {
    base.UseDefaultCredentials = false;
    base.Url = value;
    public new bool UseDefaultCredentials {
    get {
    return base.UseDefaultCredentials;
    set {
    base.UseDefaultCredentials = value;
    this.useDefaultCredentialsSetExplicitly = true;
    /// <remarks/>
    public event deleteAppCompletedEventHandler deleteAppCompleted;
    /// <remarks/>
    public event importAppCompletedEventHandler importAppCompleted;
    /// <remarks/>
    public event editAppCompletedEventHandler editAppCompleted;
    /// <remarks/>
    [System.Web.Services.Protocols.SoapDocumentMethodAttribute(
    RequestNamespace="http://service.ips.salvationarmy.org/",
    ResponseNamespace="http://service.ips.salvationarmy.org/",
    Use=System.Web.Services.Description.SoapBindingUse.Encoded,
    ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
    [return: System.Xml.Serialization.XmlElementAttribute("return", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string deleteApp([System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] int id) {
    object[] results = this.Invoke("deleteApp", new object[] {
    id});
    return ((string)(results[0]));
    /// <remarks/>
    public void deleteAppAsync(int id) {
    this.deleteAppAsync(id, null);
    /// <remarks/>
    public void deleteAppAsync(int id, object userState) {
    if ((this.deleteAppOperationCompleted == null)) {
    this.deleteAppOperationCompleted = new System.Threading.SendOrPostCallback(this.OndeleteAppOperationCompleted);
    this.InvokeAsync("deleteApp", new object[] {
    id}, this.deleteAppOperationCompleted, userState);
    private void OndeleteAppOperationCompleted(object arg) {
    if ((this.deleteAppCompleted != null)) {
    System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
    this.deleteAppCompleted(this, new deleteAppCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
    /// <remarks/>
    [System.Web.Services.Protocols.SoapDocumentMethodAttribute(
    RequestNamespace="http://service.ips.salvationarmy.org/",
    ResponseNamespace="http://service.ips.salvationarmy.org/",
    Use=System.Web.Services.Description.SoapBindingUse.Encoded,
    ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
    [return: System.Xml.Serialization.XmlElementAttribute("return", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string importApp(
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] int person,
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] string name,
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] string territory,
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] string location,
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] bool primary,
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] Nullable<System.DateTime> start,
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] Nullable<System.DateTime> end,
    [System.Xml.Serialization.XmlElementAttribute("categories", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] string[] categories) {
    object[] results = this.Invoke("importApp", new object[] {
    person,
    name,
    territory,
    location,
    primary,
    start,
    end,
    categories});
    return ((string)(results[0]));
    /// <remarks/>
    public void importAppAsync(int person, string name, string territory, string location, bool primary, Nullable<System.DateTime> start, Nullable<System.DateTime> end, string[] categories) {
    this.importAppAsync(person, name, territory, location, primary, start, end, categories, null);
    /// <remarks/>
    public void importAppAsync(int person, string name, string territory, string location, bool primary, Nullable<System.DateTime> start, Nullable<System.DateTime> end, string[] categories, object userState) {
    if ((this.importAppOperationCompleted == null)) {
    this.importAppOperationCompleted = new System.Threading.SendOrPostCallback(this.OnimportAppOperationCompleted);
    this.InvokeAsync("importApp", new object[] {
    person,
    name,
    territory,
    location,
    primary,
    start,
    end,
    categories}, this.importAppOperationCompleted, userState);
    private void OnimportAppOperationCompleted(object arg) {
    if ((this.importAppCompleted != null)) {
    System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
    this.importAppCompleted(this, new importAppCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
    /// <remarks/>
    [System.Web.Services.Protocols.SoapDocumentMethodAttribute(
    RequestNamespace="http://service.ips.salvationarmy.org/",
    ResponseNamespace="http://service.ips.salvationarmy.org/",
    Use=System.Web.Services.Description.SoapBindingUse.Encoded,
    ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
    [return: System.Xml.Serialization.XmlElementAttribute("return", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string editApp(
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] int id,
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] string name,
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] string territory,
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] string location,
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] bool primary,
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] Nullable<System.DateTime> start,
    [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] Nullable<System.DateTime> end,
    [System.Xml.Serialization.XmlElementAttribute("categories", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] string[] categories) {
    object[] results = this.Invoke("editApp", new object[] {
    id,
    name,
    territory,
    location,
    primary,
    start,
    end,
    categories});
    return ((string)(results[0]));
    /// <remarks/>
    public void editAppAsync(int id, string name, string territory, string location, bool primary, Nullable<System.DateTime> start, Nullable<System.DateTime> end, string[] categories) {
    this.editAppAsync(id, name, territory, location, primary, start, end, categories, null);
    /// <remarks/>
    public void editAppAsync(int id, string name, string territory, string location, bool primary, Nullable<System.DateTime> start, Nullable<System.DateTime> end, string[] categories, object userState) {
    if ((this.editAppOperationCompleted == null)) {
    this.editAppOperationCompleted = new System.Threading.SendOrPostCallback(this.OneditAppOperationCompleted);
    this.InvokeAsync("editApp", new object[] {
    id,
    name,
    territory,
    location,
    primary,
    start,
    end,
    categories}, this.editAppOperationCompleted, userState);
    private void OneditAppOperationCompleted(object arg) {
    if ((this.editAppCompleted != null)) {
    System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
    this.editAppCompleted(this, new editAppCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
    /// <remarks/>
    public new void CancelAsync(object userState) {
    base.CancelAsync(userState);
    private bool IsLocalFileSystemWebService(string url) {
    if (((url == null)
    || (url == string.Empty))) {
    return false;
    System.Uri wsUri = new System.Uri(url);
    if (((wsUri.Port >= 1024)
    && (string.Compare(wsUri.Host, "localHost", System.StringComparison.OrdinalIgnoreCase) == 0))) {
    return true;
    return false;
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.5483")]
    public delegate void deleteAppCompletedEventHandler(object sender, deleteAppCompletedEventArgs e);
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.5483")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class deleteAppCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
    private object[] results;
    internal deleteAppCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
    base(exception, cancelled, userState) {
    this.results = results;
    /// <remarks/>
    public string Result {
    get {
    this.RaiseExceptionIfNecessary();
    return ((string)(this.results[0]));
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.5483")]
    public delegate void importAppCompletedEventHandler(object sender, importAppCompletedEventArgs e);
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.5483")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class importAppCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
    private object[] results;
    internal importAppCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
    base(exception, cancelled, userState) {
    this.results = results;
    /// <remarks/>
    public string Result {
    get {
    this.RaiseExceptionIfNecessary();
    return ((string)(this.results[0]));
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.5483")]
    public delegate void editAppCompletedEventHandler(object sender, editAppCompletedEventArgs e);
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.5483")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class editAppCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
    private object[] results;
    internal editAppCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
    base(exception, cancelled, userState) {
    this.results = results;
    /// <remarks/>
    public string Result {
    get {
    this.RaiseExceptionIfNecessary();
    return ((string)(this.results[0]));

    Hi;
    I used Fiddler to monitor the process, and it showed the request sent thru web service worked and returned a value, but in my .Net application the return captured as NULL. Could you please look into the code above and the result from Filddler and see if
    you can help.
    thank you.
    REQUEST:
    POST https://159.253.140.178/services/AppointmentService HTTP/1.1
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50727.4252)
    Content-Type: text/xml; charset=utf-8
    SOAPAction: ""
    Host: 159.253.140.178
    Content-Length: 1589
    Expect: 100-continue
    Connection: Keep-Alive
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://service.ips.salvationarmy.org/" xmlns:types="http://service.ips.salvationarmy.org/encodedTypes" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
    <soap:Header>
    <wsse:Security mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <wsse:Username>
    [email protected]
    </wsse:Username>
    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">
    tpi4IPSws!
    </wsse:Password>
    </wsse:UsernameToken>
    </wsse:Security>
    </soap:Header>
    <soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <tns:importApp>
    <person xsi:type="xsd:int">
    169275
    </person>
    <name xsi:type="xsd:string">
    Corps Officer (Cahul-Russia) Test12
    </name>
    <territory xsi:type="xsd:string">
    CAN
    </territory>
    <location xsi:type="xsd:string">
    TEST LOCATION 12
    </location>
    <primary xsi:type="xsd:boolean">
    true
    </primary>
    <start xsi:type="xsd:dateTime">
    2013-05-30T00:00:00
    </start>
    <end xsi:type="xsd:dateTime">
    2014-06-04T00:00:00
    </end>
    <categories href="#id1" />
    </tns:importApp>
    <soapenc:Array id="id1" soapenc:arrayType="xsd:string[1]">
    <Item>
    vpsCat1
    </Item>
    </soapenc:Array>
    </soap:Body>
    </soap:Envelope>
    RESPONSE:
    HTTP/1.1 200 OK
    Server: Apache-Coyote/1.1
    Content-Type: text/xml;charset=UTF-8
    Content-Length: 232
    Date: Fri, 05 Sep 2014 19:45:22 GMT
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    <ns2:importAppResponse xmlns:ns2="http://service.ips.salvationarmy.org/">
    <return>
    OK_572463
    </return>
    </ns2:importAppResponse>
    </soap:Body>
    </soap:Envelope>

  • Web Service Method that returns an ArrayList

    Hi guys,
    I have to create a web service method that returns an ArrayList, but it's not working. My problem is:
    With the "@XmlSeeAlso" annotation, my client prints the result, but the ArryaList is not from java.util, it's from org.me.calculator so I can't use it.
    If I remove this annotation, I get no result, with this error message on Tomcat 6:
    [javax.xml.bind.JAXBException: class java.util.ArrayList nor any of its super class is known to this context.]
    I'm a newbie, and trying to understand web services (I read some posts here, but didn't get the point, from its answers), but this problem I just can't figure out how to solve....
    WEb Service
    package org.me.calculator;
    import java.io.Serializable;
    import javax.jws.WebMethod;
    import javax.jws.WebParam;
    import javax.jws.WebService;
    import java.util.*;
    import java.util.ArrayList;
    import javax.xml.bind.annotation.XmlSeeAlso;
    * @author eduardo.domanski
    @WebService()
    @XmlSeeAlso({java.util.ArrayList.class}) // With this, I can see the result on client, but, the ArrayList is an org.me.calculator.ArrayList class.... Strange...
    public class CalculatorWS {
        @WebMethod(operationName = "valores")
        public ArrayList valores(@WebParam(name = "a") int a,
                           @WebParam(name = "b") int b) {
            ArrayList teste = new ArrayList();
            ArrayList a1 = new ArrayList();
            a1.add(a);
            a1.add(b);
            ArrayList a2 = new ArrayList();
            a2.add(a+b);
            a2.add(a-b);
            teste.add(a1);
            teste.add(a2);
            return  teste; 
    }CLient
    package org.me.calculator.client;
    import java.io.*;
    import java.net.*;
    import java.util.ArrayList;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class ClientServlet extends HttpServlet {
        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            response.setContentType("text/html;charset=UTF-8");
            PrintWriter out = response.getWriter();
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet ClientServlet</title>");
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>Servlet ClientServlet at " + request.getContextPath() + "</h1>");
            try { // Call Web Service Operation
                org.me.calculator.CalculatorWSService service = new org.me.calculator.CalculatorWSService();
                org.me.calculator.CalculatorWS port = service.getCalculatorWSPort();
                // TODO initialize WS operation arguments here
                int i = 8;
                int j = -6;
                // TODO process result here
                ArrayList result = (ArrayList) port.valores(i, j);
                out.println("Result = " + result);
            } catch (Exception ex) {
                System.out.println(ex);
            // TODO handle custom exceptions here
            out.println("</body>");
            out.println("</html>");
            out.close();
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            processRequest(request, response);
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            processRequest(request, response);
    }THank you all,
    Eduardo
    Edited by: EduardoDomanski on Apr 23, 2008 4:40 AM

    I forgot to say that, when I try to return an ArrayList of an object, for example, ClassA, which is on the package org.me.classes, on my Server App, the ArrayList is returned, but the objects are from type org.me.calculator.ClassA. It should be from org.me.classes.ClassA, right?
    This package also exists on my client App, to use the object, but as the returned type is from another package, I can't even cast it. I tried some annotations @Xml... but it failed.
    Packages
    ServerApp
    org.me.calculator
    CalcWS.java
    org.me.classes
    ClassA.java
    Client App
    org.me.classes
    ClassA.java
    The return from my method should be an ArrayList of org.me.classes.ClassA, but when I print it, on client, it's from org.me.calculator.ClassA.
    Does anybody knows, or had the same problem?
    Thanks,
    Eduardo

  • Web service functions in SSO without username and password

    Is there a way to use the Public Report Web Service functions when configured in SSO and without passing a username and password? I was able to try out the web service and make it work. As we all know, you need to pass a username and password for each web service call unless your reports can be accessed by guests. In an SSO + LDAP server configuration, there are cases in which you are not allowed to get the password. The password can not be decrypted.
    Is there a way to still use web service? or do you need to use the url approach instead? But if you use the url approach then you may be limited to generating reports only.
    I'm thinking there should be since if you are already logged in for SSO then you should be able to generate.
    Any way to configure this?

    <i>When I access web reports from bw.</i>
    i hope you are not talking about BEX web reports , since you have mentioned ITS.
    Is it a standlone ITS or intergrated ITS?
    can you post the url pattern here.
    Regards
    Raja

  • Web Service Proxy not returning Response in 11g

    Hi,
    I am facing a difference in the creation of Web Service Proxy in 11g when compared to 10g. I have exposure of creating a Web Service Proxy in 10g and I do observe that the folder name 'runtime' gets generated automatically along with the proxy at the time of creation.
    But in 11g, the nature & behavior of Web Service Proxy creation has changed a lot according to my observation. I am facing an issue where the response object is not returning the expected results as per the functionality.
    In 10g, we have used a Stub class (automatically created under 'runtime' folder) and we are able to put some logs to see the request and response object in the form of 'xml'. But in 11g, I am facing difficulty in getting the same logged to see the response from OPA.
    Please share your thoughts which would definitely help me in resolving this issue.
    With Regards,
    Thiyagarajan V

    Hi,
    I have also tried using 'Web Service Data Control' as an alternate method to overcome the above mentioned issue. But I have ended up the error "DCA-29000: Unexpected exception caught: java.lang.NullPointerException,msg=null" and failed to create a data control.
    The JDeveloper version which I am using is 11.1.1.5.0. I also came to know that there is a patch (9790388) which has resolved this bug in JDeveloper. I also applied the same patch in my Oracle Home using OPatch utility.
    But unfortunatley, the version suitable for this patch is 11.1.1.4.0 and I suspected that could be one of the reason that the problem has not got resolved yet.
    Please suggest the patch or any solution which can also help me in resolving this issue. I really appreciate your time and effort in sharing your thoughts for the problems which I have mentioned over here.
    Thank you !!!
    With Regards,
    Thiyagarajan V

  • Publish ColdFusion Web Service with Complex Return Type

    Hi,
    I am working on a project to publish couple ColdFusion
    webservices. The cosumer of those webservices is a Java
    application.
    One of my webservice need return an object. Here are demo
    codes:
    The returned ojbect is AddressRespond
    AddressRespond.cfc:
    <cfcomponent>
    <cfproperty name="addresses" type="Address[]" />
    <cfproperty name="myLearnException" type="MyException"
    />
    </cfcomponent>
    Address.cfc:
    <cfcomponent>
    <cfproperty name="city" type="string" />
    <cfproperty name="state" type="string" />
    </cfcomponent>
    MyException.cfc:
    <cfcomponent>
    <cfproperty name="code" type="string" />
    <cfproperty name="reason" type="string" />
    </cfcomponent>
    If the webservice "cosumer" is a ColdFusion application,
    there is no any problems. But the Java application doesn't
    understand the type of addresses in the WSDL file which is
    gernerated by ColdFusion:
    <complexType name="Address">
    <sequence>
    <element name="city" nillable="true"
    type="xsd:string"/>
    <element name="state" nillable="true"
    type="xsd:string"/>
    </sequence>
    </complexType>
    <complexType name="MyException">
    <sequence>
    <element name="code" nillable="true"
    type="xsd:string"/>
    <element name="reason" nillable="true"
    type="xsd:string"/>
    </sequence>
    </complexType>
    <complexType name="AddressRespond">
    <sequence>
    <element name="addresses" nillable="true"
    type="tns1:ArrayOf_xsd_anyType"/>
    <element name="MyException" nillable="true"
    type="impl:MyException"/>
    </sequence>
    </complexType>
    Could anybody give me any idea on how to resolve this
    problem?
    Thanks!

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

  • Web Service XML Changes Return Table  Field Names

    I am writing a Web service to return a employee information from SAP using .Net Connector. My Webservice XML changes return table column names with few escape characters. Does anyone know why this happens? and How to prevent it?
    Every column name is changed: e.g. PERS_NO to PERS_--5fNO
    NCo -> 2.0
    RFC- > Custom Function module
    RFC Return Type -> ZFPSYNC
    VS.Net -> VS Studio 2003, ( C# Web service)
    Here is part of XML document:
      <?xml version="1.0" encoding="utf-8" ?>
    - <ArrayOfZFPSYNC xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/">
    - <ZFPSYNC>
      <PERS_5fNO>00100001</PERS_5fNO>
      <PDS_5fEMPID>00054740</PDS_5fEMPID>
      <SSN>001380261</SSN>
      <NAME_--5fPFX />
      <FIRST_5fNAME>Tuesday</FIRST_5fNAME>
      <LAST_5fNAME>October</LAST_5fNAME>
      <NAME_--5fSFX />
      <PRIOR_5fNAME>Tuesday October</PRIOR_5fNAME>
      <NICKNAME />
      <CO_5fCODE>TAX</CO_5fCODE>
      <CO_5fCODE_5fT>Tax LLP</CO_5fCODE_5fT>
      <CO_5fCTRY>US</CO_5fCTRY>
      <ORG_5fUNIT>50191687</ORG_5fUNIT>
      <ORG_5fUNIT_5fT>Northeast Region Lead Tax</ORG_5fUNIT_5fT>
      <EE_5fLEVEL>C1</EE_5fLEVEL>
      <EE_5fLEVEL_5fT>Firm Director</EE_5fLEVEL_5fT>
      <SRV_5fAREA>TAX</SRV_5fAREA>
      <SRV_5fAREA_5fT>Tax</SRV_5fAREA_5fT>
      <JOB_5fFAM>CS-TAX</JOB_5fFAM>
      <JOB_5fFAM_5fT>CS - Tax</JOB_5fFAM_5fT>
      <PER_5fAREA>BOSX</PER_5fAREA>
      <PER_5fAREA_5fT>Boston-Berkeley St-TAX</PER_5fAREA_5fT>
      <PER_5fADDR>200 Berkeley Street</PER_5fADDR>

    Please install patch from OSS note 506603. This should correct the problem.

  • Trouble Calling Web Service Function From Runbook

    i have downloaded the OrchestratorServiceModule web services module from CodePlex and i am successfully using it in runbooks.  But for some reason when i call the runbook from another runbook, the Get-OrchestratorRunbook function returns no data
    ($runbook variable is $null).   The error message states the runbook name that i provide "is not found in Orchestrator".    This function works well when the runbook is called directly.   The variables
    are populated.  $creds is set to $null.   there are no errors regarding installing the module or finding the function.   any ideas as to why this would succeed when the runbook is called directly but fail when called by another runbook?
    $runbook = Get-OrchestratorRunbook -serviceurl $url -runbookpath $rbpath -credentials $creds

    George,
    The documented way to call a web service using PL/SQL is to use UTL_DBWS package.
    Here are a couple of links that may be useful:
    http://www.oracle-base.com/articles/10g/utl_dbws10g.php
    http://www.oracle.com/technology/sample_code/tech/java/jsp/callout_users_guide.htm
    There is also an APEX package wwv_flow_web_services, but I couldn't find any documentation on it.
    Sima

  • Call Web Service and display return values in table

    Hi all,
    I am calling a self-implemented web service with visual composer. The webservice returns the following data shown below.
    Each item like carID, carBrand etc. should be displayed in an output table.
    The problem is, that he doesn't display any data at all. Is there a problem with the webservice data which is returned or do I have to do some further settings in visual composer?
    Thank you for your help! Kind regards, Patrick.
      <?xml version="1.0" encoding="utf-8" ?>
    - <ArrayOfCar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://IBM-W2003-EAI/GetCarList">
    - <Car>
      <CarID>A-471</CarID>
      <CarBrand>Alfa</CarBrand>
      <CarModel>156</CarModel>
      <Kw>100</Kw>
      <Ps>136</Ps>
      <Km>79000</Km>
      <Year>1998</Year>
      <Price>7500,0000</Price>
      <Url />
      <Status>Available</Status>
      </Car>
    - <Car>
      <CarID>A-736</CarID>
      <CarBrand>Audi</CarBrand>
      <CarModel>A4</CarModel>
      <Kw>110</Kw>
      <Ps>150</Ps>
      <Km>87000</Km>
      <Year>2000</Year>
      <Price>15780,0000</Price>
      <Url />
      <Status>Reserved</Status>
      </Car>
    </ArrayOfCar>

    Hi Shai,
    the webservice is working well, trying to test it with webservice navigator.
    He also returns the correct number of rows (because there appears slider beneath the table output and I also counted the rows), but there is no data displayed in visual composer.
    I have got no further ideas, what the problem is...
    THank you for your support.
    Kind regards, PAtrick.

  • Question regarding a web service functionality in JDeveloper

    Hi guys,
    I used JDeveloper to create a very simple Celsius to Fahrenheit converter web service. One Java class, one method, taking in a float as an argument and returns a float. I created the web service. When I deployed it to a remote OC4J, I got a com.mysql.jdbc driver cannot be found error...which threw me off. As it turns out in the Connections tab, I had a node created under Databases for accessing MySQL that is installed on my machine. So it seems JDeveloper was trying to transfer those settings as well to the remote OC4J...when I deleted that node, the problem went away and the web service got deployed ok. Why is that? Is there any way to tell JDeveloper to ignore that and deploy the Web Service?
    Thanks in advance.

    Hi,
    In the Preferences dialog's Deployment tab, the 'Bundle Default data-sources.xml During Deplyment' checkbox is checked by default. This file will define the data source for each defined database connection. Can you try unchecking this and try deploying the web service ?
    Havent got a MySQL db connection myself to try reproducing, Will seearound if I get access to one to reproduce inthe meanwhile..
    Regards,
    Sunil..

  • Web Service attachement is returned in response body

    Dears,
    I have the following problem:
    I created a web service that return attachement. When I tested the web service from SOAP UI utility, I found that the webservice return the attachement in both ways, as inline in the responce body and as an attachement to the responce but without adding the href to responce body.
    Please advise how I can add the href and remove the attachement from responce body.
    Regards,
    fadi

    Hi Surya,
    Would you let us know from where you are calling web service and for what?
    And if possible provide error log as screenshot or txt file. So that it will be easy to trace issue.
    For gland your issue, go through below posts
    Not able to execute MII Transaction as web service
    Error calling BLS Transaction as Web service
    Problem in generating wsdl ?
    Create MII transaction & MII Web Service and consume them in ABAP
    Regards,
    Praveen Reddy

  • Web Service Function Permissions

    Hi,
    I am a fusion edge application developer and new to web service security.
    I have a basic question about how I can set up functional security for a web service.
    Our team has several simple web services, and I need to secure them by the privileges of the users.
    One of our service has two policies defined: wss_username_token_service_policy (global) and binding_permission_authorization_policy (local).
    I was expecting binding_permission_authorization_policy will check the user's privileges, which are defined in jazn-data.xml.
    However, when I enable binding_permission_authorization_policy, all the users get "failure in authorization" error, and when I disable it, all the users are able to run the service successfully.
    I must be missing something basic.
    Would someone kindly help me how I can solve this issue?
    The steps I followed:
    1. In Jdeveloper, I defined WSFunction Permission in jazn-data.xml. As result, “TransactionServiceAMService#*” is granted to PAS_CREATE_TRANSACTION_WEB_SERVICE_DUTY.
    2. PAS_CREATE_TRANSACTION_WEB_SERVICE_DUTY is allowed EDR_COMPLIANCE_BUSINESS_ANALYST_JOB, which is an Enterprise Role.
    3. I deployed the change to the server.
    4. In WLS, EDR_COMPLIANCE_BUSINESS_ANALYST_JOB is assigned to the user "Compliance Business Analyst".
    5. In EM, two policies have been attached to TransactionServices: wss_username_token_service_policy (global) and binding_permission_authorization_policy (local).
    6. I bounced the server.
    7. I invoked the web service by using the user "Compliance Business Analyst".
    8. "failure in authorization" error was received.
    9. I disabled binding_permission_authorization_policy, bounced the server, and then invoked the web service again as "Compliance Business Analyst".
    10. The service was completed successfully (it created a transaction record.)
    11. Invoked the same service by using another user, who does not have EDR_COMPLIANCE_BUSINESS_ANALYST_JOB assigned.
    12. The service was still completed successfully, which is wrong.
    Thank you.

    Hi, yea, thats is possible you can implement a Web Service directly from Oracle, you can review the next link for get more information how implement this service.
    http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14377/web_serv.htm#HTMAD006
    Please let me know if you needed more information about this implementation.
    Regards.
    Serch-Net.

  • EJB3 Creating Web Services with Complex Return Types

    Hi
    Not sure if this is the right place, but hoping someone can help!
    I have an entity bean that has a collection (list<Address>) of sub-entities. I have then created a session bean to retrieve the Business and populate it's children.
    I then expose this as a web service and although it works and I get appropriate XML out, the WSDL of the deployed service is not as I would like.
    For example:
    The return type is
    <complextype name="Business">
    <sequence>
    <element name="id" type="int"/>
    <element name="addresses" type="ns1:list"/>
    </sequence>
    </complextype>
    <complextype name="Address">
    <sequence>
    <element name="id" type="int"/>
    <element name="addresses1" type="string"/>
    <element name="addresses2" type="string"/>
    <element name="addresses3" type="string"/>
    </sequence>
    </complextype>
    ns1:list is included as a separate schema as a complex extension of the base "collection"
    So, even though the Address type is there it is not referenced from Business.
    So, when I'm calling the Web Service from BPEL or ESB, I have not got the ability to map adequately back from the response.
    I have tried a whole bunch of ways of getting this to work, but so far to no avail...
    Has anyone seen this before, or can I somehow override the mapping from the Entity to the WSDL?
    Any help would be most appreciated.
    Thanks
    Chris

    Thanks. We are using a Java Proxy to consume the web service as we need to use JAX-WS handlers. We created data control from the service stub that was created by the proxy. Our issue is with the response XML which comes as a complex type. Also, the data control is understanding the complex type and is creating the structure right. The problem is when we drag that control on a JSF page. No data is displayed. We think that we are not traversing the complex object properly which is creating the issue.
    I understand that you answer related to the input is applicable to output as well. We can change the structure by flattening it but we thought that in 11G there is some new features where we can use the complex types out of the box without any change. Is that true? Also, any luck in finding the documents (broken links) on your blog page?

Maybe you are looking for

  • Turn Pricing Off in Service Contracts

    Hi, We are imlplementing R12.0.6 Service Contracts. In our business scenario the price is finalized even before the contract is created. So for us when we create the contract we just need to update the price of the contract line and not reprice it. I

  • Oracle 8i & weblogic Entity bean problem

    I have a bean named AccountEJB,and in home interface,I have findByprimaryKey(Sting id).I allocated an Account(remote interface) object by call findByPrimaryKey.The program found it.But when I call busness method using this object,(sunch as account.ge

  • Error : You 're not permitted to perform this action - Absence Report

    Dear all, I need some help here, My user need to open "Inventory in Warehouse" report. Basically, he could open aforementioned report (parameter selection), but after he click "OK" button, SAP subsequently show error message as below You 're not perm

  • Quicktime won't uninstall or install ?!

    Okay so I've trawled the internet looking for a solution and I have ended up here, here it goes. My iTunes would not open and a window appeared every time I tried saying 'iTunes has stopped working windows has closed the programme to prevent damage t

  • Autosave documents in pages

    After using Pages for about a year, and generally liking it, I lost a day's worth of work when my battery died. I opened Pages and searched all the menus for the Auto Restore function before it dawned on me that Pages cannot automatically save your d