Page 1 of 1

Classcastexception: org.jcp.xml.dsig.internal.dom.domxmlSignatureFactory kann nicht an die Klasse javax.xml.crypto.dsig.

Posted: 27 Mar 2025, 16:03
by Anonymous
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.

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



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?