  | Mailing List | | Home | | Forum Home | | JBoss - Java Application Server | | Tomcat - JSP/Servlet container | | Struts - A MVC web framework | | iText - An open source PDF Java Library | | JDOM - JDOM XML Parser | | JSP - A mailing list about Java Server Pages specification and reference | | J2EE - A mailing list for Java(tm) 2 Platform, Enterprise Edition | | J2EE Pattern - An interest list for Sun Java Center J2EE Pattern Catalog | | Servlet - A mailing list for discussion about Sun Microsystem's Java Servlet API Technology | |
Struts & Hibernate
|
|
|
  | | | Should classloader at handler stage find jars in the service 's WEB-INF/lib ? | Should classloader at handler stage find jars in the service 's WEB-INF/lib ? 2007-08-07 - By Karen Loughran
Back
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@(protected) To unsubscribe, e-mail: users-unsubscribe@(protected) For additional commands, e-mail: users-help@(protected)
|
|
 |