I have a method which I am accessing through soap which returns a
Vector. However, when I try to access this method, the TCPTunnel
indicates that an soap fault occurs because it says it can't find a
serializer for 'java.util.collection'. Meanwhile, the code makes no
mention of Collection as a return type. The deployment descriptor does
not include a mapping for vectors because I am under the impression that
these are default mappings. The contents of the collection are bean
objects for which there is a serializer registered.

Any help would be greatly appreciated.

This is the code for the method:

 public static Vector listUsers() throws ObjectAccessException {

        Logger.init();
        Logger.debug(ctx, "Called listUsers()");
        Vector userBeans = new Vector();

        Vector boS = (Vector)UserBO.list();
        Iterator userBoIt = boS.iterator();
        Logger.debug(ctx, "Got list & iterator");
        while(userBoIt.hasNext()) {
            UserBO aUserBO = (UserBO) userBoIt.next();
            UserBean aUserBean = new UserBean(aUserBO);
            Logger.debug(ctx, "Got userBean... adding to vector");
            userBeans.add(aUserBean);
        }
        return userBeans;
}

This is the deployment descriptor for the class:

<?xml version="1.0"?>
<isd:service
    xmlns:isd="http://xml.apache.org/xml-soap/deployment";
    id="urn:net.covalent.c3.server.UserManager">
    <isd:provider type="java"
              scope="Request"
              static="false"
              methods="addUser listUsers viewDetails deleteUser">
    <isd:java class="net.covalent.c3.server.soap.managers.UserManager"/>

    </isd:provider>
    <isd:mappings
defaultRegistryClass="net.covalent.c3.server.soap.CMPSoapMappingReg">
    </isd:mappings>
</isd:service>


Thanks,

-javier

Reply via email to