XADES4J: java.lang.NoSuchMethodError: org.apache.xml.security.signature.XMLSignature

373 Views Asked by At

When runing app using XADES4J I get this error, someone has any clue about what is happening? I let you down below the code, the libary list and the error stacktrace. If someone could help me I would be so thankfull.

private static void signBes(Document doc) throws Exception {
       Element elem = doc.getDocumentElement();
       DOMHelper.useIdAsXmlId(elem);

       KeyingDataProvider kdp = new FileSystemKeyStoreKeyingDataProvider("PKCS12","C:\\******\\******.pfx",new FirstCertificateSelector(),new DirectPasswordProvider("******"),new DirectPasswordProvider("******"),true);
       DataObjectDesc obj = new DataObjectReference("#" + elem.getAttribute("Id")).withTransform(new EnvelopedSignatureTransform()); 
       SignedDataObjects dataObjs = new SignedDataObjects().withSignedDataObject(obj);
       XadesBesSigningProfile signingProfile = new XadesBesSigningProfile(kdp);
       
       XadesSigner signer = signingProfile.newSigner();
       //Here throws the error -> signer.sign(dataObjs, elem);
    
       TransformerFactory tFactory = TransformerFactory.newInstance();
       Transformer transformer = tFactory.newTransformer();
       DOMSource source = new DOMSource(doc);        
       StreamResult result = new StreamResult(new File("C:/aTicketBAI_firmat.xml"));
       transformer.transform(source, result);
}

Library List

javax.servlet.ServletException: java.lang.NoSuchMethodError: org.apache.xml.security.signature.XMLSignature.(Lorg/w3c/dom/Document;Ljava/lang/String;Lorg/w3c/dom/Element;Lorg/w3c/dom/Element;)V at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:394) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) at oracle.security.jps.ee.http.JpsAbsFilter$3.run(JpsAbsFilter.java:175) at java.security.AccessController.doPrivileged(Native Method) at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315) at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:650) at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:112) at oracle.security.jps.ee.http.JpsAbsFilter.doFilterInternal(JpsAbsFilter.java:293) at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:150) at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:94) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:248) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) at oracle.jrf.servlet.ExtensibleGlobalFilter.doFilter(ExtensibleGlobalFilter.java:92) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:32) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3797) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3763) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:344) at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:197) at weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203) at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71) at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2451) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2299) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2277) at weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl.java:1720) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1680) at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:272) at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352) at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337) at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57) at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41) at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:655) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:420) at weblogic.work.ExecuteThread.run(ExecuteThread.java:360) Caused by: java.lang.NoSuchMethodError: org.apache.xml.security.signature.XMLSignature.(Lorg/w3c/dom/Document;Ljava/lang/String;Lorg/w3c/dom/Element;Lorg/w3c/dom/Element;)V at xades4j.production.SignerBES.createSignature(SignerBES.java:320) at xades4j.production.SignerBES.sign(SignerBES.java:164) at xades4j.production.SignerBES.sign(SignerBES.java:127) at ccalgir.webservice.wsticketbai.ticketBAI.signBes(ticketBAI.java:813) at ccalgir.webservice.wsticketbai.ticketBAI.generateTicketBAI(ticketBAI.java:722) at ccalgir.webservice.wsticketbai.ticketBAI.doGet(ticketBAI.java:72) at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:295) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:260) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:137) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:353) ... 36 more

I looked for the method inside of my xmlsec-2.2.0 library, I found it the same method that is giving the error "XMLSignature(Document p1, String p2, Element p3, Element p4)". I have this method, but however when I run it, it doesn't find it.

0

There are 0 best solutions below