2010-12-10 77 views
3

我們需要在IBM Websphere Integration Developer 6.1中創建具有用戶名令牌安全性的Web服務。現在,爲了測試這個,我們必須用Java開發一個Web服務客戶端。要求是使用Apache Axis2完成這項工作。在對此進行了大量的閱讀之後,我能夠使用Axis2爲簡單的Web服務生成一個客戶端,該服務不需要身份驗證,並且我能夠正確地進行測試。但是我知道爲了使用axis2使用UserName令牌安全性,需要使用rampart。使用Apache Axis2和Rampart創建WebService客戶端

現在我需要知道如何在eclipse中使用Rampart和Axis2。我們沒有在我們的系統中安裝apache服務器,但是我們在eclipse中部署它。 即使閱讀了很多關於同樣的文章,我還沒有能夠得到Rampart工作。

有人可以請指導我完成在Eclipse中配置Rampart的步驟,以及如何使用它來使用UserName令牌來生成WebService客戶端?

到目前爲止,使用Axis2我用於執行以下步驟。 1.創建一個Java項目並將所需的WSDL導入其中。 2.使用WSDL創建WebServiceClient,並生成以下類型的文件 a。一個java接口文件 b。實現a中提到的接口的Java代理文件。 c。一個java存根文件,它擴展了org.apache.axis.client.Stub並實現了a中提到的接口。 d。一個java服務文件,它又是一個接口 e。一個實現上述接口的java ServiceLocator文件。

因此,我還需要知道如何使用這些文件來測試用戶名令牌Web服務。

當我使用動態Web項目完成上述操作並右鍵單擊WSDL並單擊生成客戶端時,將創建ServiceCallBackHandler.java和HttpSrviceStub文件。我如何使用這些來實現測試?

謝謝。

回答

2

我還沒有使用用於用戶名令牌的壘,但對於我的服務(簽名和加密),IBM文檔非常有幫助。看看:http://www.ibm.com/developerworks/java/library/j-jws4/Java Web服務:Axis2 WS-Security基礎知識;瞭解如何壁壘安裝到Axis2和實施的UsernameToken處理

我的項目Java源代碼是一樣的,當我使用的WS-Security(工作環境),並沒有WS-Security的(測試環境下)。我必須在客戶端執行它以啓用/禁用my_client/axis-repo/conf/axis2.xml中的壁壘配置。看一看:http://wso2.org/library/240在那裏你會找到示例配置可能對您有用:

<parameter name="OutflowSecurity"> 
     <action> 
       <items>UsernameToken</items> 
       <user>bob</user> 
       <passwordCallbackClass>org.apache.rampart. 
       samples.sample02.PWCBHandler</passwordCallbackClass> 
     </action> 
</parameter> 
+0

嗨,感謝您的信息。將通過鏈接並返回給您。 – Aditya 2010-12-10 11:48:28

+0

嗨邁克爾,你的建議是我在axis2.xml中使用的,它的工作原理!我所做的唯一改變是因爲我沒有使用密碼處理程序類,所以我用標記替換了該標記並直接輸入密碼。爲我工作。非常感謝你的建議。 :) – Aditya 2010-12-14 06:32:18

+0

沒問題!你可以接受我的答案,因此它不會被列爲未答覆,我們得分更多的「積分」。 – 2010-12-14 06:39:03

1

首先u必須加載Axis2中的模塊文件壘模塊文件。 然後在lib文件夾中加載ramp所需的庫。然後使用一個回調處理程序類來定義用戶名和密碼的邏輯。 所有在ramart源代碼和壁壘folder.u vailable上面的東西必須從城牆網站 下載它,然後經過axis2.xml u必須定義標籤

<parameter name="InflowSecurity"> 
    <action> 
    <items>UsernameToken</items> 
    <user>jaideep</user> 
    <passwordCallbackClass>com.mltvacations.externalapi.callbackhandler.PasswordCallbackHandler</passwordCallbackClass> 
    <passwordType>PasswordText</passwordType> 


    </action> 
</parameter> 

與標籤。然後運行Web服務並複製wsdl的地址並將其放入soapUi,然後添加身份驗證標頭。並檢查它。

如果有任何問題,那麼告訴我。我會給你滿意的答案,因爲我已經使用了壘安全。