Hi all, My web service code makes a call to a service which returns a SAML assertion (serialised with XStream) and this works fine. However, if I move this call to my security handler code (WSCredentialReceiver extended from wss4j) configured in requestFlow within the server-config.wsdd (of the same service) I get the CannotResolveClassException exception from XStream when its trying to deserialise it (full error below).
opensaml.jar (which contains SAMLAudienceRestrictionCondition) IS in the WEB-INF/lib directory of my service. Shouldn't the classloader to be able to see all jars in the service's WEB-INF/lib at the handler stage ? Do I need an extra parameter settings in the wsdd for this ? The relevant snippet of my server-config.wsdd looks like this: .... <service name="publication" provider="java:RPC" use="literal" style="document" > <parameter name="className" value="uk.ac.besc.prism.publication.impl.publication"/> <wsdlFile>/wsdl/publication.wsdl</wsdlFile> <parameter name="allowedMethods" value="*"/> <requestFlow> <handler type="SecurityInboundHandler"/> </requestFlow> <responseFlow> <handler type="IntegrityEnforcementHandler"/> </responseFlow> </service> .... <handler name="SecurityInboundHandler" type="java:uk.ac.besc.prism.std.utils.impl.WSCredentialReceiver"> <parameter name="action" value="Signature"/> <parameter name="signaturePropFile" value="crypto.properties"/> <parameter name="passwordCallbackClass" value="com.eoveri.std.ws.PWCallback"/> <parameter name="signatureKeyIdentifier" value="DirectReference" /> </handler> I have tested it with with tomcat 5.x and tomcat 6.0.13, but the same error occurs, Any help would be much appreciated, Thanks Karen Loughran Full Error Trace: ---- Debugging information ---- message : org.apache.xerces.dom.DeferredElementNSImpl : org.apache.xerces.dom.DeferredElementNSImpl line number : 37 path : /list/SAMLAssertion/conditions/org.opensaml.SAMLAudienceRestrictionCondition/root cause-message : org.apache.xerces.dom.DeferredElementNSImpl : org.apache.xerces.dom.DeferredElementNSImpl class : java.util.List cause-exception : com.thoughtworks.xstream.mapper.CannotResolveClassException required-type : org.opensaml.SAMLAudienceRestrictionCondition ------------------------------- at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:63) at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:45) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:46) at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:66) at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:57) at com.thoughtworks.xstream.converters.collections.CollectionConverter.unmarshal(CollectionConverter.java:50) at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:56) at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:45) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:46) at com.thoughtworks.xstream.annotations.AnnotationReflectionConverter.unmarshallField(AnnotationReflectionConverter.java:49) at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:159) at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:118) at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:56) at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:45) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:46) at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:66) at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:57) at com.thoughtworks.xstream.converters.collections.CollectionConverter.unmarshal(CollectionConverter.java:50) at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:56) at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:45) at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:46) at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:117) at com.thoughtworks.xstream.core.ReferenceByXPathMarshallingStrategy.unmarshal(ReferenceByXPathMarshallingStrategy.java:29) at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:826) at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:813) at com.thoughtworks.xstream.XStream.fromXML(XStream.java:761) at com.thoughtworks.xstream.XStream.fromXML(XStream.java:753) at uk.ac.besc.prism.std.utils.impl.WSCredentialReceiver.getGroupFromShibboleth(Unknown Source) at uk.ac.besc.prism.std.utils.impl.WSCredentialReceiver.verifyTrust(Unknown Source) at org.apache.ws.axis.security.WSDoAllReceiver.invoke(WSDoAllReceiver.java:283) at uk.ac.besc.prism.std.utils.impl.WSCredentialReceiver.invoke(Unknown Source) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]