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

Similar Messages

  • TimeoutException - when calling web services method that opens a PDF

    I am updating a legacy program which uses Adobe Acrobat 7.0 Professional.  The idea is that the client will call web service methods, which handle opening a PDF, reading from or writing to the PDF, saving if necessary, and closing.  It then returns the data (if reading) to the client.
    The only issue with this that I'm having is that the client will pause for about 60 seconds, and throw a TimeoutException.
    I know that the method on the web services end is working, because I wrote a quick driver which calls the very same method, but it executes normally, and works perfectly.
    My question is basically, is there anything that would cause the client to hang/freeze when calling the web services method to do this task? Everything is running on my workstation, and I've debugged to see that the filename being passed is the same in both tests.
    Thanks!

    Thank you, I somehow missed seeing that subforum. I reposted it in that forum instead. This thread can be deleted/closed. Thanks!

  • Web service Method not supported

    Hy, i have this serious problem.
    I have any web service method  that in , Visual Composer 7.1, have the suffix "Not supported".
    I don't understand this situation because i can test it on web service navigator with success.
    This is the SOAP request/response from Web service navigator test:
    SOAP request:
    <?xml version="1.0" encoding="utf-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <SOAP-ENV:Body>
        <pns:getMaterialDetail xmlns:pns="urn:WsMaterialGetDetailVi">
          <pns:matnr/>
          <pns:werks/>
        </pns:getMaterialDetail>
      </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    SOAP response:
    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <SOAP-ENV:Body>
        <rpl:getMaterialDetailResponse xmlns:rpl="urn:WsMaterialGetDetailVi">
          <rpl:Response xmlns:pns="urn:it.futura.lib.ws">
            <pns:returnCode>3</pns:returnCode>
            <pns:returnCodeDescription>Codice Materiale non fornito</pns:returnCodeDescription>
            <pns:returnCodes xmlns:tns="java:sap/standard" xsi:type="tns:Vector">
              <tns:Vector xsi:type="xs:string">0</tns:Vector>
              <tns:Vector xsi:type="xs:string">0</tns:Vector>
              <tns:Vector xsi:type="xs:string">3</tns:Vector>
            </pns:returnCodes>
            <pns:returnCodesDescription xmlns:tns="java:sap/standard" xsi:type="tns:Vector">
              <tns:Vector xsi:type="xs:string">Environment name found: NVP</tns:Vector>
              <tns:Vector xsi:type="xs:string">Dettagli ambiente trovato: NVP</tns:Vector>
              <tns:Vector xsi:type="xs:string">Codice Materiale non fornito</tns:Vector>
            </pns:returnCodesDescription>
          </rpl:Response>
        </rpl:getMaterialDetailResponse>
      </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    Sincerely yours
    Thank's
    Andrea Maraviglia

    Thank's Shay. I'm thinking that the problem is about NWDS for this reason: at the moment i am testing a standard web service present on WAS( http://serverWAS:53000/IciUserService/IciUserConf?wsdl)that with a method ( getAttributes) that return an array of classes on VC and this test is ok.
    So i'm creating an similar web service that return array of classes with my NWDS (vers. 7.0.7..) and wizard but on VC it's don't supported.
    The SOAP Response of standard web service and my web service, have different structure. I'm thinking that the problem is NWDS because the SOAP response is function of the WSDL generated by Wizard on NWDS.
    Thank's in advance.
    Andrea Maraviglia
    Edited by: Andrea Maraviglia on Nov 28, 2008 5:46 PM

  • Web Services support for collection like ArrayList

    Getting this error message:
    "<Info> Did not find property empty in java.util.ArrayList:
    java.lang.NullPointerException"
    Are collections like ArrayList supported or am I trying to do something that
    can't be done? Any suggestions?
    Thanks
    Danny

    Hi Danny,
    Betcha thought I forgot 'bout cha, huh?
    I didn't ;-)
    The short answer to your question is no; WLS 6.1 does not support using any of
    the classes in java.util.*. However, it does support Object arrays as an element
    of an Object array, which means you can have code in you service implementation
    that looks like this:
    public Object[] getNestedObjects()
         Object[] objects = new Object[2];
         objects[0] = new Object[]{
              new String("23.76"),
              new Float((float)23.76)
         // Here, WorkOrder is a JavaBean or an object
         // that implements weblogic.soap.xml.XMLizable
         WorkOrder[] workOrders = new WorkOrder[]{
                        new WorkOrder(),
                        new WorkOrder(),
                        new WorkOrder()
         objects[1] = new Object[]{
              new String("My name is"),
              new String("Slim Shady"),
              workOrders
         return objects;
    The main issue I see with doing this is again, interoperability ;-)
    If the SOAP toolkit consuming the WSDL for the web service with the above method
    cannot handle the "xsd:anyType" XML Schema data type, you're in trouble. In general,
    SOAP toolkits want to know what type an element is so they can process it correctly.
    When you use a Variant data type (in Visual Basic) or java.lang.Object (in Java),
    you are basically promoting the use of weak data typing (or late binding). From
    what I've read about SOAP (well, actually what Don Box said he had in mind), XML
    Schema and namespaces were adopted to combat this very thing- weak or no data
    typing. Personally, I agree ;-) I think strong data typing makes processing a
    SOAP request much easier and faster, for everyone. Don't get me wrong, I don't
    have anything against object casting, but SOAP parameters (and return values)
    are not objects. They are XML elements, just like the other parts of the SOAP
    message. There is no behavior, just state. This being the case, isn't it safer
    to stick with the data types (e.g. arrays, structures, primitives, etc.) defined
    in the SOAP spec and "XML Schema Part 2: Datatypes" document? Enough SOAP boxing
    (pun intended). If you are interested in the "complexTypes" object graphs (using
    developer defined classes that implement weblogic.soap.xml.XMLizable) lab results,
    I can send you a zip. The biggest difference between using JavaBeans and objects
    that implement weblogic.soap.xml.XMLizable, is that you have much more control
    over which Java objects the later gets serialized/deserialized to/from. With classes
    that implement weblogic.soap.xml.XMLizable, the SOAP processor passes you the
    actual XML stream for the SOAP parameter (which in this case, is your developer
    defined class). It (the SOAP processor) also calls your developer defined class
    to get an XML representation for it's data types. It works great with Java clients
    (using the client.jar, of course), and I'm trying it out with .NET and MS SOAP
    clients this weekend. The most interesting revelation was figuring out how wsgen
    (well, actually the WSDL processor) generates the information in the <types> element
    of the WSDL ;-) I actually even know how to code an XMLizable so that it produces
    the exact element and attribute names I want. I also figure out how to get it
    to produce an <element ...>, as opposed to a <attribute ...>, and visa versa.
    Of course, WLS 7.0 (and WebLogic Workshop) make all of this a moot point, but
    it was fun to get the SOAP/WSDL processors in WLS 6.1 to "do my bidding" for a
    short while ;-)
    Regards,
    Mike Wooten
    "Danny Ngo" <[email protected]> wrote:
    >
    Hi Mike,
    Thank you for your response. Do you know if WLS 6.1 Web Services support
    the
    return of nested object array (object that contains other object arrays).
    Thanks
    -Danny
    "Michael Wooten" <[email protected]> wrote:
    Hi Danny,
    For interoperability (with non-Java SOAP implementations)reasons, the
    Java collections
    are not supported in WLS 6.1 ;-) You should consider using an arrayin
    place of
    this.
    Regards,
    Mike Wooten
    Danny Ngo <[email protected]> wrote:
    Getting this error message:
    "<Info> Did not find property empty in java.util.ArrayList:
    java.lang.NullPointerException"
    Are collections like ArrayList supported or am I trying to do something
    that
    can't be done? Any suggestions?
    Thanks
    Danny

  • Capturing the response received from the WCF web service method?

    Hi,
    I am trying to call a WCF web service method with input parameters in an xml file and then receive the returned output data by the web service as response into an xml file.
    So far I am able to call the webservice method successfully and not sure how to capture the response data. I am able to see the response data in the tracked message event using the query expression search at the BizTalk group root.
    I may be missing something simple in my orchestration(image at http://social.msdn.microsoft.com/Forums/getfile/535971)  ?
    Steps in my orchestration are,
    1) Receive the xml file with input parameters
    2) Send to webservice using WCF-BasicHttp transport type
    3) Receive response from web service
    4) Send to xml file
    Not sure how I can have 2 receive shapes in series there. I have seen few related posts in the forum but could not resolve.
    Could someone please correct me?

    Hi Rachit,
    Thanks for your quick response. My orchestration is similar to the one in that post. In your post at step 7, how you are able to set 'Activate property' of the receive shape to true? as its the 2nd receive shape in series.
    I am unable to post any images or links at the moment. My orchestration is posted at this link  http://social.msdn.microsoft.com/Forums/getfile/535971
    I am able to access  the above link using chrome.
    Yes,  I did use the Request/Response port to communicate with the web service.  I
    am looking to achieve similar to the one in your post.
    Thanks.

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

  • Serialization error when calling web service method

    Hi,
    In JDeveloper 10.1.3.1, I'm working on an EJB that will be deployed as a web service. There is a method in the EJB that is defined to return a generic Object, but in the implementation, it really returns one of several possible specialized bean objects. I can deploy the EJB successfully to IAS 10.1.3.1.
    I created a web service proxy from the wsdl that was generated from deploying the EJB. Using the proxy, I try to call the EJB method and cast the method's return value to the bean object I know should be returned. However, I get an error like this:
    java.rmi.ServerException:
    start fault message:
    Internal Server Error (serialization error: no serializer is registered for (class com.test.TestBean, null))
    :end fault message
    Does anyone know how this serialization error can be resolved? If I change the web service method signature to return the bean object that is actually being returned (instead of Object), then it works fine. But I want to be able to define the method to return a generic Object because I plan to make the method flexible enough to return several different types of bean objects. Whenever the client calls the method, it will know what is the actual object being returned and I had planned to cast the return value to its actual class.
    Thanks for any ideas.

    Well, I think so... I've followed all the steps, and my merged WSDL file seems like the one in page 12...
    Any suggestion, please?
    Thank you,

  • (261680070) Q SYNCH-11 How do my web service methods accees EJBs and java classes?

    A<SYNCH-11> How do my web service methods accees EJBs and java classes?
    A<SYNCH-11> It is simple to use java classes, just do it as you would ordinarily.
    The .jws file really contains a simple class so you can program with it in the same
    way that you would use a regular Java class.
    To use an EJB you can go and access it directly as you would with any EJB remote
    client (lookup home stub, create, etc) or if the EJB is deployed to WLS you can use
    a control to provide a very simple wrapper to the EJB. We will see this in detail
    on Thursday in the ADVC module.

    Futher information about the possibility of callback:
    It may be possible for a synchronous only web service (i.e. MS .net) to even paticipant
    in the callback functionality of asynchronous web services. If the client implements
    the appropriate methods for the callback but listens for them on a different port
    or binding than the SOAP request, then web service may be able to build a response
    if the client's "callback URL" is submitted as the beginning part of a conversation.
    Watch the BEA developer forum (http://dev2dev.bea.com) for more information about
    this approach and other tips and techniques for building web services.
    "Adam FitzGerald" <[email protected]> wrote:
    >
    Q<SYNCH-03> I heard that MS .net only implements synchrnonus method? If
    this is true.
    Does it means my async methods will only work with J2EE clients?
    A<SYNCH-03> I do not know the limitations of .net but let me point out that
    is very
    difficult to provide asynchronous web service method invocation (this is
    different
    from an asynchronous web service). HTTP as a general communication protocol
    is based
    on a request and response paradigm so your client libraries will mostly
    likely be
    expecting a response even if it is empty (check the asynchronous example
    from today
    to see that the start method still returns an empty response). You must
    distinguish
    this from the notion of an asynchronous web service which is a business
    operation
    that occurs on the server whose return value/result is not directly associated
    with
    building response to the client. An asynchronous web service can (and generally
    will)
    be started and stopped with web service operations that are invoked synchronously.
    Thus MS .net clients can still be client to WLS hosted web services.

  • How to add a new filter in an existing web service method (BIWS - WEBI document)

    Hello Experts, we have 7 web service query's connected to a dashboard. Basically it is one WSDL URL and 7 Get Methods...Web service queries are BIWS (via WEBI document instance). There are filters setup for each of these web service methods.
    Recently there was a request to add 2 new fields to the webi document and also the 2 fields need to be included as filters in the 7 methods. I know there is an option to edit the method, but when i edit the method, i cannot find the 2 new fields in list to set as filters.Can anybody help me understand how to add filters to an existiing web service method? I do not want to delete the method and republish the block as web service.
    Any help will be great and points rewarded.
    Thank you
    Ann

    Hi Ann,
    The reason you are not able to see any of the new columns as a option to select in your web service block is because when you have published that block, they were not present. Add these two new objects in your block and publish it again. You will be prompted for duplication content. Select the highlighted block for duplicate and now you can see the new added objects in the filter option. Update and this will overwrite your published block. Please note, web services do appear to behave weirdly when used with dashboards so I request you to please try it in a separate test report first.
    Hope that helps.
    Regards,
    Tanisha

  • How to retrieve the multiple rows data on PDF form in a web service method using WSDL DataConnection

    How to retrieve the multiple rows data on PDF form in a web service method using WSDL DataConnection.
    I have a multiple rows on PDF form. All rows have 4 textfields. I want to submit the multiple rows data to a method defiened in webservice.
    Unable to retrieve the data in multiple rows within webservice method.

    Hi Paul,
    I'm now able to save the retrieved xml in a hidden text field and create dynamic table, and I'm able to fill this table from the XML, but the problem is that I could not find the correct way to loop on the xml, what I'm trying to say, the table will have number of rows with the data of the first row only, so can you tell me the right way to loop on the xml!
    this is my code
    TextField1.rawValue=xmlData.document.rawValue;
    xfa.datasets.data.loadXML(TextField1.rawValue, true, false);
    for(var i=0; i<count; i++)
    xfa.form.resolveNode("form1.P1.Table1.Row1["+i+"].Num").rawValue = xfa.datasets.data.record.num.value;
    xfa.form.resolveNode("form1.P1.Table1.Row1["+i+"].Name").rawValue = xfa.datasets.data.record.name.value;
    Table1.Row1.instanceManager.addInstance(true);
    Thanks
    Hussam

  • Web Service Task - that accepts XmlNode Input

    I'm creating an SSIS package that uses a web service method called "GetReportResults" ). The input parameters are:
    username (string)
    password (string)
    reportid (int)
    templateValues (xmlnode)
    When I run the package, how do I input the values for the xmlnode? The web service documentation shows an example that says I need to pass in the templateValues (filters) like this for the xmlnode:
    <FilterItems>
    <FilterItem FilterItemId="62898" FieldTitle="Date Modified" Operator="GreaterThan" Value="" IsTemplate="true" />
    <FilterItem FilterItemId="62899" FieldTitle="Date Modified" Operator="LessThan" Value="" IsTemplate="true" />
    <FilterItem FilterItemId="62900" FieldTitle="Date Modified" Operator="GreaterThanOrEqualTo" Value="8/13/2013 12:00 AM" IsTemplate="false" />
    <FilterItem FilterItemId="62901" FieldTitle="Status" Operator="DoesNotContain" Value="" IsTemplate="true" />
    </FilterItems>
    How do I go about setting this up so that when the package runs the templateValues are automatically input? Is there some sort of XML task that will accomplish this? If so, how would I implement this.

    I did find find this in the web service documentation: 
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0.0">
    <xs:element name="FilterItems">
    <xs:complexType>
    <xs:sequence>
    <xs:element name="FilterItem" minOccurs="1" maxOccurs="unbounded">
    <xs:complexType>
    <!-- Set the inner text to the appropriate value -->
    <xs:simpleContent id="Value">
    <xs:extension base="xs:string">
    <!--
    You must use either the FilterItemId or the FieldTitle
    -->
    <xs:attribute name="FilterItemId" type="xs:integer" use="optional"/>
    <xs:attribute name="FieldTitle" type="xs:string" use="optional"/>
    </xs:extension>
    </xs:simpleContent>
    </xs:complexType>
    </xs:element>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:schema>

  • How to test swaref web service method

    My simple web service method:
         @WebMethod
         @XmlAttachmentRef
         public DataHandler getFile() {
              FileDataSource file = new FileDataSource("c:\\1.gif");
              DataHandler handler = new DataHandler(file);
              return handler;
    the generated wsdl codes:
    *<xs:complexType name="getFileResponse">*
    *<xs:sequence>*
    *<xs:element minOccurs="0" name="file" type="swaRef:swaRef" />*
    *</xs:sequence>*
    *</xs:complexType>*
    I always use Eclipse web service explorer to test web service, but it doesn't support swaref web service method.
    Then I use axis WSDL2JAVA to generate web service client, but the generated "getFile" return type is not "DataHandler", but "org.apache.axis.types.URI".
    How to test swaref web service method?
    Thanks
    Edited by: tomsonxu on Jan 8, 2008 7:40 AM
    Edited by: tomsonxu on Jan 8, 2008 7:41 AM

    Hello..
    How did u develop the webservice?
    I mean did u develop the Webservice using Enter prise Java Bean....
    Wrap EJB in ear and deploy to the Server and now u can test the EJB method
    whether it is working fine or not
    Try these -
    http://help.sap.com/saphelp_nw04s/helpdata/de/f7/af60f2e04d0848888675a800623a81/frameset.htm
    Inorder to use the webservice in the Webdynpro, normally we will use the WSDL of webservice
    and Import  the model using any one of them
    After importing as model we can use the EJB methods!
    Try it !!
    Thanks
    Shravan

  • Run Web Service Method when OC4J starts

    Hi,
    I have a number of web services running under OC4J.
    Is there any way to execute a web service method on OC4J startup?
    Thanks in Advance

    Hi,
    My services act as services within oc4j.
    There are essentially multiple deployments of the same .ear, with the application name being used to discern between the service instances.
    I know that I could create proxy classes and then use an OC4JStartup class to fire a method at startup....
    However, this would mean that I would need to create a proxy for each instance ....
    Ideally I would like to have some sort of configuration file that holds the url to each instance --- then use the url within the OC4JStart class to fire a method on each URL
    Thanks
    Paul

  • Overloading Web Service Methods?

    I am using WebLogic Workshop on the BEA WebLogic 8.1 platform. I would like to know if it is possible to overload web service methods from .jws files or any other means of implementing a web service. I tried a test file and it gave me specific errors related to overloading, but I have been unable to find any good documentation on the subject to be sure. Any information on the subject of overloading web service methods would be appreciated. Thanks.

    Hello ,
    It is very clear from following solution published by BEA that funtionality you are looking for is not supported. Do check this link to make sure if it refers to the same your scenario ...
    http://iaskbea-2.bea.com/askbea/wls/S-24193.html
    Regards,
    Kuldeep Singh.

  • Calling Oracle Report InSide Web Service Method

    Is there way to call oracle reports inside one of my web service method.
    If yes kindly let me know how we can do this and some documents related to this.
    Thanks
    Robert

    Oracle reports does have a Web API when reports are run from the application server. As a result one way to do what you are asking is to write a Web service that use java.net.URL to invoke the Reports Service Web interface:
    http://otn.oracle.com/products/reports/htdocs/getstart/docs/A92102_01/pbr_run.htm#1005598
    As I understand it, this interface itself is actually being exposed as a Web service in a future release of Oracle9iAS Reports ... I don't know if this is a Oracle9iAS Reports 9.0.4 feature or beyond that. You might try asking on the Reports forum:
    Reports
    Mike.

Maybe you are looking for