I've never used Rampart or opensaml, but the NoClassDefFound usually means you're missing an artifact. I would find out which jar contains this class:
org/opensaml/xml/validation/ValidatingXMLObject and add it to your /lib dir. Chris From: java-user-return-84171-Meeusen.Christopher=mayo....@axis.apache.org [mailto:[email protected]. org] On Behalf Of wadi wadi Sent: Wednesday, February 23, 2011 3:26 AM To: Amila Jayasekara Cc: [email protected] Subject: Re: SOAP header missing error - Please help! Hi Amila, Thanks for your reply. I am using the following versions: - Axis2 1.5.4 - rampart 1.5.1 - Tomcat 6 - in C:\Tomcat 6.0\webapps\axis2\WEB-INF\lib I have the following rampart jar files: rampart-core-1.5.1.jar, rampart-policy-1.5.1.jar, rampart-trust-1.5.1.jar - Also in %TOMCAT_HOME%/common/endorsed/ I have the following jars resolver.jar, xercesImpl-2.8.0.jar, xml-apis-2.8.0.jar - Yes Axis2 is deployed as webapp in tomcat and I can see my service listed in the http://localhost:8080/axis2/services/listServices The tomcat log: =========== INFO: Server startup in 4481 ms [ERROR] org/opensaml/xml/validation/ValidatingXMLObject java.lang.NoClassDefFoundError: org/opensaml/xml/validation/ValidatingXMLObject at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappCla ssLoader.java:2733) at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader .java:1124) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader .java:1612) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader .java:1491) at java.lang.ClassLoader.loadClassInternal(Unknown Source) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappCla ssLoader.java:2733) at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader .java:1124) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader .java:1612) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader .java:1491) at java.lang.ClassLoader.loadClassInternal(Unknown Source) at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:8 9) at org.apache.axis2.engine.Phase.invoke(Phase.java:318) at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:254) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:160) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostReques t(HTTPTransportUtils.java:173) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:144) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica tionFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv e.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv e.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java :127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java :102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve. java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:2 98) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:85 7) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process( Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Unknown Source) Here is the output from TCPMon: ============== Listen Port: 8090 Target Host: 127.0.0.1 Target Port: 8080 ==== Request ==== POST /axis2/services/library-signencr HTTP/1.1 Content-Type: text/xml; charset=UTF-8 SOAPAction: "urn:getBook" User-Agent: Axis2 Host: 127.0.0.1:8090 Transfer-Encoding: chunked f9c <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xenc="http://www.w3.org/2001/04/xmlenc# <http://www.w3.org/2001/04/xmlenc> "><soapenv:Header><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wsse curity-secext-1.0.xsd" soapenv:mustUnderstand="1"><xenc:EncryptedKey Id="EncKeyId-98E81F667C972820A012984010906725"><xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" /><ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig# <http://www.w3.org/2000/09/xmldsig> "> <wsse:SecurityTokenReference><wsse:KeyIdentifier EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-so ap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/oasis-wss-soap-message-securit y-1.1#ThumbprintSHA1">uYn3PK2wXheN2lLZr4n2mJjoWE0=</wsse:KeyIdentifier>< /wsse:SecurityTokenReference> </ds:KeyInfo><xenc:CipherData><xenc:CipherValue>YYHDaf8U3gr0vGSZ4VN2hKCf lZ6JstklP2hq5VSM1yuq97sORdNBnqknlbbHfep7WFiEjlwODj3Av653JVdHBJhQOtOC/lM0 38y3KXRwWcHtgRdm46BJ5X2YBnRdJFzEfVwif/PIV0mBCWJ8gfzZACYNBOUxbuEsC4REkSGu 3b8=</xenc:CipherValue></xenc:CipherData><xenc:ReferenceList><xenc:DataR eference URI="#EncDataId-2" /></xenc:ReferenceList></xenc:EncryptedKey><wsse:BinarySecurityToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssec urity-utility-1.0.xsd" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-so ap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509- token-profile-1.0#X509v3" wsu:Id="CertId-98E81F667C972820A012984010900941">MIICoDCCAgkCBEnhw2IwDQY JKoZIhvcNAQEFBQAwgZYxCzAJBgNVBAYTAk5aMRMwEQYDVQQIEwpXZWxsaW5ndG9uMRowGAY DVQQHExFQYXJhcGFyYXVtdSBCZWFjaDEqMCgGA1UEChMhU29zbm9za2kgU29mdHdhcmUgQXN zb2NpYXRlcyBMdGQuMRAwDgYDVQQLEwdVbmtub3duMRgwFgYDVQQDEw9EZW5uaXMgU29zbm9 za2kwHhcNMDkwNDEyMTAzMzA2WhcNMzYwODI3MTAzMzA2WjCBljELMAkGA1UEBhMCTloxEzA RBgNVBAgTCldlbGxpbmd0b24xGjAYBgNVBAcTEVBhcmFwYXJhdW11IEJlYWNoMSowKAYDVQQ KEyFTb3Nub3NraSBTb2Z0d2FyZSBBc3NvY2lhdGVzIEx0ZC4xEDAOBgNVBAsTB1Vua25vd24 xGDAWBgNVBAMTD0Rlbm5pcyBTb3Nub3NraTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYE AhOVyNK8xyxtb4DnKtU6mF9KoiFqCk7eKoLE26+9h410CtTkxzWAfgnR+8i+LPbdsPY+yXAo 6NYpCCKolXfDLe+AG2GwnMZGrIl6+BLF3hqTmIXBFTLGUmC7A7uBTivaWgdH1w3hb33rASoV U67BVtQ3QQi99juZX4vU9o9pScocCAwEAATANBgkqhkiG9w0BAQUFAAOBgQBMNPo1KAGbz8J l6HGbtAcetieSJ3bEAXmv1tcjysBS67AXzdu1Ac+onHh2EpzBM7kuGbw+trU+AhulooPpewI QRApXP1F0KHRDcbqWjwvknS6HnomN9572giLGKn2601bHiRUj35hiA8aLmMUBppIRPFFAoQ0 QUBCPx+m8/0n33w==</wsse:BinarySecurityToken><ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig# <http://www.w3.org/2000/09/xmldsig> " Id="Signature-1"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n# <http://www.w3.org/2001/10/xml-exc-c14n> " /> <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /> <ds:Reference URI="#Id-15964986"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n# <http://www.w3.org/2001/10/xml-exc-c14n> " /> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <ds:DigestValue>QzGqBgbir05TIn7uG8KAKDIClMk=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> <ds:SignatureValue> bSKKELQ4q8yqw9MN9mcuXSyiv6FyLyrWSMxXCd+fijF+AboIwTMyptNAvyofD7KvVSwzFjIO Et3z SzSsWmNeQ3riRwDPBb9Uq0bAHX6UFg3Jy5k3IbjQjoldaauDhktEaoHN7Ut8Xb8Rx9Ny1RVA /+tg EkuvE/+J9UW3uBoCDoE= </ds:SignatureValue> <ds:KeyInfo Id="KeyId-98E81F667C972820A012984010901102"> <wsse:SecurityTokenReference xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssec urity-utility-1.0.xsd" wsu:Id="STRId-98E81F667C972820A012984010901103"><wsse:Reference URI="#CertId-98E81F667C972820A012984010900941" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509- token-profile-1.0#X509v3" /></wsse:SecurityTokenReference> </ds:KeyInfo> </ds:Signature></wsse:Security></soapenv:Header><soapenv:Body xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssec urity-utility-1.0.xsd" wsu:Id="Id-15964986"><xenc:EncryptedData Id="EncDataId-2" Type="http://www.w3.org/2001/04/xmlenc#Content"><xenc: 3a4 EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" /><ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig# <http://www.w3.org/2000/09/xmldsig> "> <wsse:SecurityTokenReference xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wsse curity-secext-1.0.xsd"><wsse:Reference URI="#EncKeyId-98E81F667C972820A012984010906725" /></wsse:SecurityTokenReference> </ds:KeyInfo><xenc:CipherData><xenc:CipherValue>rdrbjoaQv+o7P1+UqnlV01Pq 04lRg439oKayrD0r7v11cz4Yl+8LxCr4ynG3znfDl++NGIVGw6Ru O99Q1sD2gr00u9lXQQFAwWBWWMFNs0tcqT6JWgrXHWOizpk/VGK56z0VCe/3MXV+dqC5/qmg 7aqc +CX/Wk6n8AZ7ynMnsNJLqy8piXobYnCQ/2xDJEeF9+KniJbI1r68xrKjzd5FH4CJM65E6h1G Xhqr 1fjuEja/W2kT8RjAmS6phdsstJDfu64n9fdAVsRn9epXaUxU9EY37A/IYj5ebfe5c/GiBGTP V8Aw IoXzCFy1MMY7JZsUoik2M/WhTAvFI2bkC8FqPyYdkX46ApKfyC5V6lSXMm4IWKf4BYDV7ypp jJw1 nvosssQtrsL4mFkxbfqWlkrNQgqZmx1P35XtXWg9Ln0/aF0=</xenc:CipherValue></xen c:CipherData></xenc:EncryptedData></soapenv:Body></soapenv:Envelope> 0 ==== Response ==== HTTP/1.1 500 Internal Server Error Server: Apache-Coyote/1.1 Content-Type: text/xml;charset=UTF-8 Transfer-Encoding: chunked Date: Tue, 22 Feb 2011 18:58:10 GMT Connection: close 15a <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body> <soapenv:Fault><faultcode>soapenv:Server</faultcode><faultstring>java.la ng.NoClassDefFoundError: org/opensaml/xml/validation/ValidatingXMLObject</faultstring><detail /></soapenv:Fault></soapenv:Body></soapenv:Envelope> 0 ============== Any idea? Many thanks. wadi On Wed, Feb 23, 2011 at 3:15 AM, Amila Jayasekara <[email protected]> wrote: Hi Wadi, What is the rampart and axis2 versions you are using ? It seems message is not passed to axis2 at server side at all. Hope you have deployed axis2 as a webapp in tomcat and installed rampart libraries and rampart modules to axis2 webapp. You can verify this by going to "tomcat-installation-dir/webapps/axis2/WEB-INF/lib" directory and check whether rampart jars are in there (rampart-*.jar). If rampart jars are not properly installed please install them. If above suggestion doesnt work please attach the complete tomcat server log. We may able to gather more info about the error from the complete log. Thanks AmilaJ On Wed, Feb 23, 2011 at 12:09 AM, wadi wadi <[email protected]> wrote: > Hi, > I am trying to run the example of signing and encryption described > here https://www.ibm.com/developerworks/java/library/j-jws5/. > I am getting the following error when running the client, any help please! > Many thanks, > > Client log: > ======= > run: > java Connecting to http://localhost:8080/axis2/services/library-signencr > java 16:32:59,188 ERROR AxisEngine:211 - SOAP header missing > java org.apache.axis2.AxisFault: SOAP header missing > java at > org.apache.rampart.handler.RampartReceiver.setFaultCodeAndThrowAxisFault (RampartReceiver.java:180) > java at > org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:9 9) > > Tomcat log > ======== > ERROR org/opensaml/xml/validation/ValidatingXMLObject > java.lang.NoClassDefFoundError: > org/opensaml/xml/validation/ValidatingXMLObject -- Wadienil.
