2012-05-02 35 views
1

我們需要調用一個Web服務,描述在一個wsdl和多個技術文檔中。wsit-client.xml沒有修改wsdl?

Web服務提供商表示他們支持OASIS(ws-security,http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf)。但是,我們從供應商處收到的wsdl中沒有提到這一點。

管理層要求我們實施郵件加密和簽名。以前,這是使用axis和一個wsdd文件完成的。

我爲web服務創建了一個jax-ws客戶端。現在,我想爲它添加ws安全性。如果我理解正確,我需要編寫一個wsit-client.xml文件。但是,我不確定是否需要在wsdl中引用它。如果可能的話,我不想改變它,所以如果我們得到一個新版本,我們不需要改變它。這可能嗎?

此外,我試圖使用netbeans生成wsit-client.xml。我沒有得到簽名/加密的選項。是否因爲在wsdl中沒有提及任何政策?我們使用Eclipse,所以我只使用netbeans進行快速測試。

回答

1

wsit-client.xml基本上,您的WSDL充實了< wsp:Policy >聲明明確指出瞭如何/是否要加密/簽名/驗證SOAP請求和響應。

你可以看到MCS(相互證書安全)爲例消費者這裏:

http://java.net/projects/wsit/sources/svn/show/trunk/wsit/samples/ws-security/src/mcs?rev=7090


要回答你的問題,不,你不必修改原來的WSDL。話雖如此,將策略規範包含在具體的WSDL中總是非常可取的,因爲策略是接口協議的重要組成部分,即它必須在消費者和提供者之間進行匹配,以便通信成功。

+0

我可以鏈接到原始的wsdl而不是複製它嗎? – ymajoros

+0

我不確定使用'wsit-client.xml'的哪個部分而不是Policy子句。這可能是來自該文件的實際操作和模式被忽略。這可以很容易地測試我猜。 – rustyx