2008-11-07 18 views
3

我正在使用axis 2 webservice客戶端。Https WebService消息:消息沒有包含有效的安全元素

對Web服務的第一個https調用會引發一條異常,並顯示以下消息:「消息不包含有效的安全元素」。

我認爲問題可能是安全模式:也許它必須是消息級安全性。在這種情況下,我怎樣才能在軸上進行配置?

代碼:

System.setProperty("javax.net.ssl.keyStore", jksFile); 
System.setProperty("javax.net.ssl.keyStorePassword", jksPassword); 

MyServicePortProxy proxy = new MyServicePortProxy(); 
Stub stub = (Stub) proxy.getMyServicePort(); 

proxy.setEndpoint(endpoint); 
stub.setUsername(username); 
stub.setPassword(password); 

// throws exception with the above message: 
proxy.serviceMethod(...); 

回答

1

http://ws.apache.org/wss4j/package.html看一看我們必須定義一個客戶config.wsdd中說叫軸,包括用戶名/密碼(如果您正在使用的WS-Security)。對於不同的標準以及它們之間的區別,我有點虛弱。

1

關注您的時鐘偏移。如果客戶端提供的安全元素中的時間戳距離服務器的過去或未來太遠,它可能會正好拒絕該消息。