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