簡體   English   中英

從STS獲取令牌時出錯

[英]Error getting token from STS

WSO2身份服務器STS客戶端調用中的以下方法調用出現錯誤,

電話:

responseToken = stsClient.requestSecurityToken(servicePolicy,
                    STS_EPR, stsPolicy, RELYING_PARTY_SERVICE_EPR);

返回以下錯誤。

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.xml.security.transforms.Transform.init()V
    at org.apache.ws.security.WSSConfig.staticInit(WSSConfig.java:311)
    at org.apache.ws.security.WSSConfig.<init>(WSSConfig.java:327)
    at org.apache.ws.security.WSSConfig.getNewInstance(WSSConfig.java:336)
    at org.apache.ws.security.WSSConfig.getDefaultWSConfig(WSSConfig.java:345)
    at org.apache.rampart.RampartMessageData.<init>(RampartMessageData.java:363)
    at org.apache.rampart.MessageBuilder.build(MessageBuilder.java:61)
    at org.apache.rampart.handler.RampartSender.invoke(RampartSender.java:65)
    at org.apache.axis2.engine.Phase.invokeHandler(Phase.java:340)
    at org.apache.axis2.engine.Phase.invoke(Phase.java:313)
    at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:261)
    at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:426)
    at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:398)
    at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:224)
    at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
    at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:554)
    at org.apache.rahas.client.STSClient.requestSecurityToken(STSClient.java:164)
    at org.apache.rahas.client.STSClient.requestSecurityToken(STSClient.java:181)

顯然,這是在類路徑中包含了一個錯誤的jar。 我正在針對WSO2身份服務器4.1.0運行此程序,並且冒犯了wss4j .jar版本是4.1.0 IS附帶的wss4j_1.5.11.wso2v5.jar。 我應該使用哪個版本的.jar擺脫此問題?

旁注:我在WSO2的公共Maven存儲庫中查找源.jar文件,但是那里只有二進制.jar文件,為什么WSO2相信開源軟件,所以WSO2公共存儲庫中缺少源.jar文件?

在這里,我專門指的是http://maven.wso2.org/nexus/content/groups/wso2-public/org/apache/ws/security/wss4j/1.5.11-wso2v5/

轉到身份服務器bin文件夾[wso2is-4.1.0 / bin]並發出命令“ ant”以獲取所需的庫,(確保已安裝Apache Ant)

wso2is-4.1.0 / bin $ ant

然后在構建ant腳本之后,轉到位置wso2is-4.1.0 / repository / lib並查看所需的庫。

rampart-policy_1.6.1-wso2v8.jar rampart-core_1.6.1-wso2v8.jar rampart-trust_1.6.1-wso2v8.jar wss4j_1.5.11-wso2v5.jar axis2_1.6.1-wso2v8.jar axiom_1.2.11-wso2v3.jar

確保在客戶端的類路徑中使用上述版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM