Classcastexception: org.jcp.xml.dsig.internal.dom.domxmlSignatureFactory kann nicht an die Klasse javax.xml.crypto.dsig.
Posted: 27 Mar 2025, 16:03
Ich verwende WSO2 ei ver 6.6.0 und habe einen Mediator entwickelt, der für die Unterzeichnung von SOAP -Umschlägen verantwortlich ist. Aber wenn ich es kompiliere und auf dem WSO2 EI bereitete, funktioniert es nicht.
Der Code wurde aus diesem Teil des Codes geworfen.
Ich habe viele ähnliche Probleme und Stackoverflow -Fragen durchsucht, aber die meisten von ihnen sind für mich nicht beantwortet, oder die beantworteten arbeiten für mich nicht wie folgt:
https://groups.google.com/g/fusefabric/ ... agfagfagle. XMLSignatureFactory wird in einem WSO2-AM-Mediator verwendet?
Der Code wurde aus diesem Teil des Codes geworfen.
Code: Select all
private static Document sign(Document doc, String Reference) throws Exception {
DOMSignContext dsc = null;
String providerName = System.getProperty("jsr105Provider", "org.jcp.xml.dsig.internal.dom.XMLDSigRI");
Provider provider = (Provider) Class.forName(providerName).newInstance();
// Below line throw exception!
XMLSignatureFactory fac = XMLSignatureFactory.getInstance("DOM", provider);
.
.
.
return doc;
}
< /code>
Fehler < /p>
java.lang.ClassCastException: class org.jcp.xml.dsig.internal.dom.DOMXMLSignatureFactory cannot be cast to class javax.xml.crypto.dsig.XMLSignatureFactory (org.jcp.xml.dsig.internal.dom.DOMXMLSignatureFactory is in module java.xml.crypto of loader 'platform'; javax.xml.crypto.dsig.XMLSignatureFactory is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @657e3cda)
at javax.xml.crypto.dsig.XMLSignatureFactory.findInstance(XMLSignatureFactory.java:202)
at javax.xml.crypto.dsig.XMLSignatureFactory.getInstance(XMLSignatureFactory.java:250)
at x.signer.util.Utils.sign(Utils.java:246)
at x.signer.util.Utils.insertSignSoap(Utils.java:233)
at x.signer.util.Utils.insertSignSayad(Utils.java:197)
at x.signer.Signer.mediate(Signer.java:37)
at org.apache.synapse.mediators.ext.ClassMediator.mediate(ClassMediator.java:94)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:109)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:71)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)
at org.apache.synapse.rest.Resource.process(Resource.java:331)
at org.apache.synapse.rest.API.process(API.java:441)
at org.apache.synapse.rest.RESTRequestHandler.apiProcess(RESTRequestHandler.java:135)
at org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:113)
at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:71)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:327)
at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:98)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:368)
at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:427)
at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:182)
at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
< /code>
Beispiel für Eingabe < /PBR />
12345
https://groups.google.com/g/fusefabric/ ... agfagfagle. XMLSignatureFactory wird in einem WSO2-AM-Mediator verwendet?