我正在使用Oracle 11g数据库(因此JDK 1.5)并尝试使用SOAP调用Web服务。我必须使用WS-Security,所以我跟着这个文档:http://docs.oracle.com/cd/E15523_01/security.1111/e10037/wss.htmOracle Web Services安全性:JDK 1.5中的AbstractMethodError,而不是1.7
我做的一切文件中,但是当我试图通过使用setWsuID方法设置在X509BinarySecurityToken的WsuID,我得到的AbstractMethodError具有以下堆栈跟踪:
org.apache.axis.SOAPPart.getUserData(Ljava/lang/String;)Ljava/lang/Object;
oracle.security.xmlsec.util.IDCache.getIdCache(IDCache.java:139)
oracle.security.xmlsec.util.IDCache.addToIDCache(IDCache.java:199)
oracle.security.xmlsec.wss.util.WSSUtils.addWsuIdToElement(WSSUtils.java:476)
oracle.security.xmlsec.wss.WSSElement.setWsuId(WSSElement.java:107)
Discimus.generateSoapMessage(Discimus.java:162)
它发生在哪里代码:
X509BinarySecurityToken x509token = ws.createBST_X509((X509Certificate)certificate);
x509token.setWsuId("MyCert");
ws.addX509CertificateToken(x509token);
一切完美的作品,当我尝试运行使用JDK 1.7的代码,所以我猜它是一个图书馆的事情吗? org.apache.axis.SOAPPart文件位于axis.jar中,该文件继承了org.w3c.dom.Node(http://www.docjar.com/docs/api/org/apache/axis/SOAPPart.html)中的getUserData方法。
有没有人有任何想法,我可以看看,或者它出错哪里?我尝试过使用其他版本的axis.jar,但我仍然得到相同的错误。
在此先感谢!