2013-10-02 26 views
0

我正在使用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,但我仍然得到相同的错误。

在此先感谢!

回答

0

由于怀疑(和google搜索AbstractMethodError上org.w3c.dom.Node中时发现),这是一个问题库:用SAAJ-implement执行和SAAJ的API的伎俩