程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> WebSphere >> WebSphere Commerce 與 Sterling OMS 集成解決方案(一) 准備集成環境

WebSphere Commerce 與 Sterling OMS 集成解決方案(一) 准備集成環境

編輯:WebSphere

開始之前

關於本教程

在本教程中,您將學到如何基於 WebSphere Commerce(WC) V7 功能包 5 和 Sterling OMS(SC) V9.2,構建成一個集成環境的電子商務平台。WC 和 SC 是體系結構完全不同的兩個系統,因此為了兩個系統的順利交互,采用 WESB 作為消息的轉換系統。 WESB 在收到 WC 發送的請求後通過 xslt 進行消息轉換,將該消息轉換為 SC 可接受的消息。

目標

在本教程中,您將學會如何進行以下工作:

配置 WebSphere Commerce V7 功能包 5

安裝 WID 及構建 mediation module EAR

安裝及配置 WESB

配置 Sterling OMS V9.2

設置 Security

通過這些工作,您將完成 WC、WESB、SC 集成環境的的准備,為在後續章節學習各種集成環境下的業務場景打下基礎。

配置 WebSphere Commerce V7 功能包 5

WebSphere Commerce 的安裝,詳情請參考 WebSphere Commerce 信息中心。以下主要介紹如何配置集成環境中的 WebSphere Commerce 部分。

配置傳送方式

添加 Sterling OMS 傳送方式  

登陸 WC 管理控制台 Adminconsole,https://<WC_HOSTNAME>:8002/adminconsole

管理控制台 站點 / 商店 選擇頁面,選擇 站點,點擊 確定。

選擇菜單 配置 (Configuration)->傳送 (Transport)。如果沒有 Sterling OMS 傳送方式,則點擊 添加 (Add),添加 Sterling OMS 傳送方式並激活。

點擊添加好的 Sterling OMS 傳送方式,設置參數:

Integration URL:https://<WESB>:<SecurePort>/WCToSSFSMediationModuleWeb/WCStoreExport

Integration User Id:WCIntegrationUser

激活 Webservices over HTTP 傳送方式

選中已存在的 Webservices over HTTP 傳送方式,點擊 更改狀態 (Change Status),如圖 1 所示。將其狀態更改為 Active。

圖 1. 圖 1. 傳送方式列表頁面

創建消息類型

創建獲取 外部庫存信息 的消息類型

選擇菜單 配置 (Configuration)->消息類型 (Message types)。點擊 新建 (New),添加 Message for external inventory system 消息類型。各參數設置如下:

Message type:Message for external inventory system

Transport:WebServices over HTTP

Device form:Webservices

URL:http://<WESB IP>:<port>/WCToSSFSMediationModuleWeb/sca/WCInventoryServicesExport

其他參數可保持默認值,或者根據實際業務需要設置。

在浏覽器中輸入上面的 URL,可以得到一個歡迎信息,這說明該服務已成功啟動。

創建獲取外部訂單信息的消息類型

選擇菜單 配置 (Configuration)->消息類型 (Message types)。點擊 新建 (New),添加 Message for external order system 消息類型。參數如下:

Message type:Message for external order system

Transport:WebServices over HTTP

Device format:Webservices

URL:http://<WESB IP>:<port>/WCToSSFSMediationModuleWeb/sca/WCOrderServicesExport

其他參數可保持默認值,或者根據實際業務需要設置。

同樣,在浏覽器中輸入上面的 URL,可以得到一個歡迎信息,這說明該服務已成功啟動。

配置商店的 DOM system

為了使商店使用 DOM system,在數據庫中做如下操作:

更新 STORE 表的一條數據,指定商店使用 DOM system 管理庫存。

UPDATE STORE SET INVENTORYSYSTEM=-5 WHERE DIRECTORY='AuroraESite';

DIRECTORY 字段的值是要使用的商店在數據庫中的名字。

在 INVCNF 表中插入一條數據,配置庫存的緩存方式等。

INSERT INTO INVCNF (INVCNF_ID, IDENTIFIER, DESCRIPTION, PRECEDENCE, FLAGS, THRESHOLDQUANTITY, CHEXPABOVETHRES, CHEXPBELOWTHRES, CACHEPRIORITY, FALLBACKINVSTAT, FIELD3, QUANTITYMEASURE) VALUES (1, '1', '***', 1.0,22,100.0,0,0,0,'UAVL','','C62');

根據需求設置 FLAGS 字段的值。可在 Info Center 中查看具體值所表示的意義。

在 INVCNFREL 表中插入一條數據,使 AuroraESite 下的 catentry 都使用上面的庫存配置。

INSERT INTO INVCNFREL (invcnfrel_id, invcnf_id) VALUES (1, 1);

配置 SampleTokenizeAccountNumberCmd

為了加密 account number 信息,進行如下配置:

在數據庫中注冊 SampleTokenizeAccountNumberCmdImpl。

INSERT INTO CMDREG(STOREENT_ID, INTERFACENAME, CLASSNAME, TARGET) VALUES (0,'com.ibm.commerce.order.facade.server.commands.TokenizeAccountNumberCmd', 'com.ibm.commerce.sample.order.facade.server.commands.SampleTokenizeAccountNumberCmdImpl','Local');

在 Order-Server-FEP.jar 包中添加 SampleTokenizeAccountNumberCmdImpl.class 文件。

該 JAR 包為於目錄:WAS_installdir/profiles/demo/installedApps/WC_demo_cell/WC_demo.ear/。

文件在 JAR 包中的路徑為:Order-Server-FEP.jar\com\ibm\commerce\sample\order\facade\server\commands\SampleTokenizeAccountNumberCmdImpl.class

注意: 從 sample 目錄起,後續目錄都需自行創建。

使 Side By Side Integration 功能生效

在 CMC 的 Store Management 工具中,為 AuroraESite 和 AuroraStorefrontAssetStore,啟用 SideBySideIntegration 的 flexflow,如圖 2 所示。

圖 2. 圖 2. 在 CMC 中啟動 Side By Side Integration 功能

查看本欄目

更新配置文件

修改文件 WC_demo.ear\xml\config\com.ibm.commerce.order.external\wc-component-client.xml,將 asynchronous 的值設為 true:

<_config:action name= ProcessOrder  asynchronous= true>

</_config:action>

修改文件 WC_demo.ear\xml\config\com.ibm.commerce.order-fep\wc-admin-component.xml,啟用 SideBySideIntegration:

<_config:configgrouping name= SideBySideIntegration >

<_config:property name= enable  value=Y />

 <_config:property name= OMSHeartbeatInterval  value=300   />

<_config:property name= OrderPendingOnTransferExpirationTime  value=86400 />

<_config:property name= IsSystemOutageTolerable  value=Y />

</_config:configgrouping>

將 SC 的 JAR 復制到 WC 服務器

需要的 JAR 包如下:

Sterling_dir/jar/COM_Add-in/9.2.0_9.2.0/ycdshared.jar

Sterling_dir/jar/log4j/1_2_15/log4j-1.2.15.jar

Sterling_dir/jar/platform/6_5/xapi.jar

Sterling_dir/jar/platform_afc/6_5/platform_afc.jar

Sterling_dir/jar/platform_afc_ui_impl/6_5/platform_afc_ui_impl_be.jar

Sterling_dir/jar/platform_baseutils.jar

Sterling_dir/jar/scecore/9.2.0/scecoreshared.jar

Sterling_dir/jar/smcfs/9.2.0/smcfsshared.jar

Sterling_dir/jar/smcfs/9.2.0/ycmbe.jar

Sterling_dir/jar/smcfs/9.2.0/ypmbe.jar

將上面的 JAR 包拷貝到目錄:WAS_installdir/profiles/demo/installedApps/WC_demo_cell/WC_demo.ear/lib

重啟 WC 服務器

上述配置完成後,重啟服務器,使配置生效。

安裝 WebSphere Integration Developer(WID)

我們需要使用 WID 構建 WESB 所需的 mediation module,所以要安裝一個 WID。如果您已經有安裝好的 WID 環境,請跳過本小節。

點擊 launchpad.exe 啟動安裝。

在啟動頁面中,點擊步驟中的鏈接"安裝 IBM WebSphere Integration Developer V7.0",開始安裝 WID。

在顯示的程序包中,選擇 WID,進行安裝。保持默認設置即可。

安裝 WAS

WID 安裝完成後,會返回啟動頁面,這時選擇步驟 2 中的鏈接,開始安裝 WAS。

安裝 WebSphere 測試環境

WAS 安裝完成後,會返回啟動頁面,這時選擇步驟 3 中的鏈接,選擇測試環境的程序包,配置 profile, 開始安裝測試環境。

因為我們只用 WID 來構建 mediation module EAR,所以不需要再另外創建 profile。

構建 mediation module EAR

Mediation module 以示例項目的方式包含在 WebSphere Commerce 裡發布。客戶可以根據實際業務需要進行定制。

將下面的兩個 jar 文件拷貝到 Mediation module 示例項目 WCToSSFSMediationModule 中。

Foundation-Core.jar

源文件:

<CommerceInstanceDir>/installedApps/WC_demo_cell/WC_demo.ear/Foundation-Core.jar

目標路徑:

<CommerceInstallDir>/components/sterling-integration/wid/WCToSSFSMediationModule

Foundation-Server.jar

源文件:

<CommerceInstanceDir>/installedApps/WC_demo_cell/WC_demo.ear/Foundation-Server.jar

目標路徑:

<CommerceInstallDir>/components/sterling-integration/wid/WCToSSFSMediationModule

為 import service 指定 endpoint,即 WC_HOSTNAME 和端口信息。

清單 1 所示為 InventoryServices 的 endpoint。用同樣的方法,修改清單 2 中列出的所有文件,指定 OrderServices,PriceService,PromotionServices 和 MemberService 的 endpoint。

清單 1. 清單 1. 指定 InventoryServices 的 endpoint

<?xml version= 1.0  encoding= UTF-8 ?> 
 <scdl:import xmlns:xsi= http://www.w3.org/2001/XMLSchema-instance  
   xmlns:jaxws= http://www.ibm.com/xmlns/prod/websphere/scdl/jaxws/6.0.0 
   xmlns:ns1= http://www.ibm.com/xmlns/prod/commerce/9/inventory 
   xmlns:scdl= http://www.ibm.com/xmlns/prod/websphere/scdl/6.0.0  
   xmlns:wsdl= http://www.ibm.com/xmlns/prod/websphere/scdl/wsdl/6.0.0  
   displayName= WCInventoryServicesImport  name= WCInventoryServicesImport > 
  <interfaces> 
    <interface xsi:type= wsdl:WSDLPortType  preferredInteractionStyle= sync
      portType= ns1:InventoryServicesPortType > 
      <scdl:interfaceQualifier xsi:type= scdl:JoinTransaction  value= false  /> 
    </interface> 
  </interfaces> 
  <esbBinding xsi:type= jaxws:JaxWsImportBinding  
  endpoint=http://<WC_HOSTNAME>:8007/webapp/wcs/component 
                                       /inventory/services/InventoryServices 
  port= ns1:InventoryServices  service= ns1:InventoryServices  /> 
 </scdl:import>

清單 2. 清單 2. 需要修改 endpoint 的文件

<CommerceInstallDir>/components/sterling-integration/wid 
                          /WCToSSFSMediationModule/WCInventoryServicesImport.import 
<CommerceInstallDir>/components/sterling-integration/wid 
                          /WCToSSFSMediationModule/WCOrderServicesImport.import 
<CommerceInstallDir>/components/sterling-integration/wid 
                          /WCToSSFSMediationModule/WCPriceServicesImport.import 
<CommerceInstallDir>/components/sterling-integration/wid 
                          /WCToSSFSMediationModule/WCPromotionServicesImport.import 
<CommerceInstallDir>/components/sterling-integration/wid 
                          /WCToSSFSMediationModule/WCMemberServiceImport.import

將 Mediation module 示例項目 WCToSSFSMediationModule 打成 zip 包,拷貝到安裝 WID 的機器上。

啟動 WID,導入 Mediation module 示例項目 WCToSSFSMediationModule。

導入類型:Other->Project Integration

將 <WID_install>/ResourceAdapters/FlatFile_7.0.0.4/CWYFF_FlatFile.rar 導入到 workspace,如圖 12, 圖 13 所示。

導入類型:Java EE->RAR file

EAR Membership: Add project to an EAR, WCToSSFSMediationModuleApp

如果這是第一次構建 mediation module ear,會遇到如圖 3 中所示的錯誤,提示缺少 websphere_default_messaging_provider 項目。

圖 3. 圖 3. 項目錯誤消息

此時可以打開 JMS import SSFSAPIsImport,在屬性視圖裡點擊 Binding -> End-Point Configuration,即可自動生成 websphere_default_messaging_provider 項目,如圖 4 所示。

圖 4. 圖 4. 生成 websphere_default_messaging_provider 項目

將 WCToSSFSMediationModule 導出為 EAR,如圖 16。

導出類型:Java EE->EAR file

安裝 WESB

如果您已經有安裝好的 WID 環境,請跳過本小節。

點擊 launchpad.exe 啟動安裝。

安裝 WAS ND 版。

填寫安裝路徑,然後點擊"Install WebSphere Application Server"的鏈接,安裝 WAS。

點擊"Install WebSphere ESB"的鏈接,安裝 WESB

本教程中,全部參數保持默認值即可。實際項目中,可根據具體需求選擇不同的參數。詳細說明請參考 http://publib.boulder.ibm.com/infocenter/dmndhelp/v7r0mx/topic/com.ibm.websphere.wesb.doc/doc/iins_choose_install.html

創建 profile。

登陸 WESB 管理員控制台,驗證 WESB 是否安裝成功。

部署 EAR,配置 WESB

卸載舊的 WCToSSFSMediationModule.ear  

登錄 WESB 的集成解決方案控制台 (Integrated Solutions Console)。

點擊 應用程序 (Application)-> SCA 模塊 (SCA modules)。

選中 WCToSSFSMediationModule 模塊,然後點擊 停止 (Stop)。

選中 WCToSSFSMediationModule 模塊,然後點擊 卸載 (Uninstall)。

安裝最新版本的 WCToSSFSMediationModule.ear

當步驟 1 中卸載完就的 EAR 包後:

點擊 安裝 (Install),頁面會跳轉到安裝頁面。

點擊 Browse,選擇要安裝的 EAR 包。

選擇模塊要安裝到的服務器,然後點擊 下一步 (Next)。

當安裝成功後,點擊 保存 (Save)。

配置 service 的導入綁定

點擊安裝好的 WCToSSFSMediationModule 模塊,進入模塊配置頁面

點擊 導入 (Import)-> 選擇要修改的 service-> 綁定 (Binding)-> service 的鏈接

按上述步驟,修改 InventoryService,OrderServices,PriceService,PromotionServices 和 MemberService 的 endpoint,其值與"構建 mediation module EAR"小節中修改的 endpoint 值相同。如圖 5 所示。

圖 5. 圖 5. 選擇要修改的 service

查看本欄目

如果策略集 WCServicesPolicySet 不存在,導入 WCServicesPolicySet 策略集

下載 WCServicesPolicySet.zip。

在 WESB 集成解決方案控制台中,點擊 服務 (Services)-> 策略集 (Policy set)-> 應用程序策略集 (Application policy sets)。

點擊 導入 (Import)-> 從所選位置 (From selected location),導入下載的 zip 包。如圖 6 所示。

圖 6. 圖 6. 導入策略集

為 service 配置策略集

如步驟 3 中,點擊 service 鏈接,進入 service 配置頁面。

在策略集連接部分,選中 service,點擊 連接 (Attach Client Policy Set),選擇步驟 4 中導入的 WCServicesPolicySet。

選中 service,點擊 指定綁定 (Assign Binding),選擇 WCServicesBinding。如果該綁定不存在,按照 5.4 - 5.8 新建一個。如圖 7 所示。

圖 7. 圖 7. 設置連接的策略集及綁定

 

如果 WCServicesBinding 不存在,則新建一個。如圖 8 所示。設置綁定配置名稱,添加 WS-Security。頁面會跳轉到 WS-Security 的配置頁面。

綁定配置名稱可以自定義,用於在 5.3 步中進行選擇,此處我們填寫為 WCServicesBinding。



圖 8. 圖 8. 新建策略集綁定

點擊 認證和保護 (Authentication and protection),在跳轉後頁面中點擊 and select request:token_auth。

點擊 應用 (Apply),回調處理程序 (Callback handler) 鏈接將變為可用。點擊該鏈接。

填入 wcsadmin 的用戶名和密碼,然後點擊 確定 (OK)。

點擊 保存 (Save)

創建 JMS 隊列連接工廠

在 WESB 集成解決方案控制台中,點擊 資源 (Resources)-> JMS->隊列連接工廠 (Queue Connection Factories)。如果 WCToSSFSMediationModule.SSFSAPIsImport_QCF 和 WCToSSFSMediationModule.SSFSPriceAPIsExport_QCF 不存在,則按照 6.2 – 6.8 進行創建。

點擊 新建 (New)。

選擇 Default Messaging Provider,然後點擊 OK。

填入下面的參數 :

Name:WCToSSFSMediationModule.SSFSAPIsImport_QCF

JNDI Name:WCToSSFSMediationModule/SSFSAPIsImport_QCF

Bus Name:SCA.APPLICATION.CELL_NAME.Bus

Provider Endpoints:WESB_SERVER_HOSTNAME:7276:BootstrapBasicMessaging, WESB_SERVER_HOSTNAME:5557:BootstrapSecureMessaging

點擊 確定 (OK)。

重復 6.2,6.3,填入下面參數

Name:WCToSSFSMediationModule.SSFSPriceAPIsExport_QCF

JNDI Name:WCToSSFSMediationModule/SSFSPriceAPIsExport_QCF

Bus Name:SCA.APPLICATION.CELL_NAME.Bus

Provider Endpoints:WESB_SERVER_HOSTNAME:7276:BootstrapBasicMessaging, WESB_SERVER_HOSTNAME:5557:BootstrapSecureMessaging

點擊 保存 (Save)。

配置 store ID 到 organization code 的映射

修改 <ESB_eardir>/WCToSSFSMediationModule.jar/ValueMap.xml,映射正確的 store ID 和 organization code。如清單 3 所示。

清單 3. 清單 3. 映射 WC 的商店到 SC 的組織

<!-- Maps WC store IDs to SSFS organization codes -->
<mm:Map name= storeIdToOrganizationCode > 
<mm:Entry key= 10001 >MadisonsRoot</mm:Entry> 
</mm:Map>

配置 CSV_DIR 變量

在 WESB 集成解決方案控制台中,點擊 環境 (Environment)-> WebSphere 變量 (WebSphere variables)。

如果 CSV_DIR 變量不存在,則創建該變量,並將值設置為保存 csv 文件的目錄。例如:/opt/ibm/WebSphere/ESB/。

重啟 WESB 服務器

打開 trace

WESB 上默認是關閉了 trace 的,所以不會記錄與 WC 及 SC 之間的消息。如果需要消息記錄來進行 debug,可以手動打開 trace 功能。打開 / 關閉 trace,無需重啟服務器。

登錄 WESB 的集成解決方案控制台 (Integrated Solutions Console)。

點擊 應用程序 (Application)-> SCA 模塊 (SCA modules)-> WCToSSFSMediationModule 模塊 – > 模塊屬性 (Module Properties)。

將需要查看 trace 的流程對應的屬性的值設為 true 。如圖 9 所示。

圖 9. 圖 9. 設置 Trace 屬性

以下各表列舉了庫存、訂單等相關的 trace 的控制屬性,供參考。

配置 Sterling Commerce

Sterling Commerce 的安裝,詳情請參考 Sterling Commerce 信息中心。

在 Application Manager 中進行如下配置:

更新模板文件

進入 SC 服務器目錄:/opt/WebSphere/AppServer/profiles/sterlingApp/installedApps/<CELL_NAME>/Sterling_Application.ear/resources.jar/template/api

更新 getOrderList 模板:

為 <OrderList> 節點添加屬性 TotalNumberOfRecords,值為空:TotalNumberOfRecords="";

為 <Order> 節點添加屬性 MultipleStatusesExist,值為空:MultipleStatusesExist=""。

下載新的 getCompleteOrderDetails.xml 文件,替換舊的模板文件。

在 SC 服務器中,打開文件 /opt/WebSphere/AppServer/profiles/sterlingApp/installedApps/<CELL_NAME>/Sterling_Application.ear/properties.jar/yfs.properties_ysc_ext,按下述配置屬性:

yfs.massageapiinput.registerextnpoint=Y

配置 WC 和 WESB 之間單項 SSL 連接

抽取 WESB 的證書

在 WESB 集成解決方案控制台中,點擊 安全性 (Security)-> SSL 證書和密鑰管理 (SSL certificate and key management)->密鑰庫和證書 (key stores and certificates)

點擊 NodeDefaultKeyStore-> 個人證書 (Personal certificates)。在個人證書頁面選擇 default,然後點擊 抽取 (Extract),填寫文件保存的全路徑,例如:/opt/esbcert.arm,然後點擊 確定 (OK)

將 WESB 的證書導入到 WC

將步驟 1.2 中抽取出的證書上傳到 WC 的服務器上。

在 WC 集成解決方案控制台中,點擊 安全性 (Security)->SSL 證書和密鑰管理 (SSL certificate and key management)->密鑰庫和證書 (key stores and certificates)

點擊 NodeDefaultTrustStore-> 簽署者證書 (Signer certificates)。在簽署者證書頁面點擊 添加 (Add),填寫證書在 WC 服務器上的路徑,然後點擊 確定 (OK)

配置 SC 和 WESB 之間雙向 SSL 連接

在 WESB 安裝 ESB_SC_SSLConfiguration:

在 WESB 集成解決方案控制台中,點擊 安全性 (Security)->SSL 證書和密鑰管理 (SSL certificate and key management)->密鑰庫和證書 (key stores and certificates)

創建證書庫

點擊 新建 (New),在新建頁面中填入各項參數:

名稱 (Name): 可自定義。例如,ESBSCKeyStore。

路徑 (Path): 存儲目錄與 NodeDefaultKeyStore 的證書存儲目錄相同,證書文件的名字可自定義。例如,${CONFIG_ROOT}/cells/cxvm21Node01Cell/nodes/cxvm21Node01/esbsckey.p12。

密碼 (Password): 自定義。

然後點擊 確定 (OK)

創建服務器證書

點擊步驟 1.2 中創建的證書庫,接著點擊 個人證書 (Personal certificates)。在個人證書頁面點擊 創建 (Create),選擇 自簽名證書 (Self Signed Certificates) ,填寫參數:

別名 (Alias):可自定義,表明是服務器證書。例如,esbscserverscert。

公共名 (Common Name):WCIntegrationUser。

然後點擊 確定 (OK)  。

重復步驟 1.3,創建一個客戶端證書。

重復步驟 1.2,創建一個新的證書庫。例如, ESBSCTrustStore 。

點擊 安全性 (Security)->SSL 證書和密鑰管理 (SSL certificate and key management)-> SSL 配置 (SSL Configurations)

在配置頁面點擊 新建 (New) ,填寫各項參數:

名稱 (Name):ESB_SC_SSLConfiguration

信任庫名稱 (Trust store): 選擇步驟 1.5 中創建的庫。

密鑰庫名稱 (Key store): 選擇步驟 1.2 中創建的庫。

點擊密鑰庫名稱右邊的按鈕 獲取證書別名。為缺省服務器證書別名 (default server) 選擇步驟 1.3 中創建的服務器證書,為缺省客戶端證書別名 (default client) 選擇步驟 1.4 中創建的客戶端證書。

然後點擊 確定 (OK)

將 SC 的 NodeDefaultKeyStore 中的 default 證書,導入到步驟 1.5 中創建的 WESB 的信任庫中。

將步驟 1.4 中創建的 WESB 的客戶端證書,導入到 SC 的 NodeDefaultTrustStore 中。

對於 Sterling 9.2,還需要將步驟 1.3 中創建的 WESB 的服務器證書,導入到 SC 的 NodeDefaultTrustStore 中。

查看本欄目

配置 Sterling 應用安全

修改 Web.xml

在下述路徑找到 web.xml 文件:<sterlingInstallDir>/external_deployments/smcfs.ear/smcfs.war/WEB-INF/web.xml

啟用對 AuthorizationOnlyApiServlet 的訪問,在文件中加入清單 4 中的內容,其中 X 是一個自定義的數值,但需要保證改數值在 web.xml 文件中沒有被使用過的。

清單 4. 清單 4. 啟用對 AuthorizationOnlyApiServlet 的訪問

<context-param> 
    <param-name>bypass.uri.X</param-name> 
    <param-value>/interop/AuthorizationOnlyApiServlet</param-value> 
</context-param> 
<context-param> 
    <param-name>request.validation.bypass.uri.yfc.X</param-name> 
    <param-value>/interop/AuthorizationOnlyApiServlet</param-value> 
</context-param> 
<servlet id= Servlet_X > 
    <servlet-name>AuthorizationOnlyApiServlet</servlet-name> 
    <servlet-class>com.yantra.interop.client. 
                           AuthorizationOnlyApiServlet</servlet-class> 
</servlet> 
<servlet-mapping id= ServletMapping_X > 
    <servlet-name>AuthorizationOnlyApiServlet</servlet-name> 
    <url-pattern>/interop/AuthorizationOnlyApiServlet</url-pattern> 
</servlet-mapping>

限制對 AuthorizationOnlyApiServlet 的訪問,在文件中加入清單 5 中的內容:

清單 5. 清單 5. 限制對 AuthorizationOnlyApiServlet 的訪問

<security-constraint> 
    <web-resource-collection> 
       <web-resource-name>AuthorizationOnlyApiServlet</web-resource-name> 
        <url-pattern>/interop/AuthorizationOnlyApiServlet</url-pattern> 
        <http-method>GET</http-method> 
        <http-method>POST</http-method> 
    </web-resource-collection> 
    <auth-constraint> 
        <role-name>WCIntegrationUser</role-name> 
    </auth-constraint> 
</security-constraint> 
<login-config> 
    <auth-method>CLIENT-CERT</auth-method> 
    <realm-name>default</realm-name> 
</login-config> 
<security-role> 
    <role-name>WCIntegrationUser</role-name> 
</security-role>

重新部署 EAR

登錄 SC 的集成解決方案控制台 (Integrated Solutions Console)。

點擊 應用程序 (Application)->應用程序 (Applications)->應用程序類型 (Applications Type)-> WebSphere 企業應用程序 (WebSphere enterprise applications)

選中 Sterling 應用模塊,例如,gemini_20120330,然後點擊 更新 (Update)

在更新頁面選擇 替換整個應用程序 (Replace the entire application)遠程文件系統 (Remote file system),然後浏覽選擇 smcfs.ear 文件。

點擊 下一步 (Next),後面皆應用默認設置。

啟用管理安全性

在 WESB 集成解決方案控制台中,點擊 安全性 (Security)-> 全局安全性 (Global security)。在全局安全性頁面中選擇 啟用管理安全性 (Enable administrative security)

點擊 安全配置向導 (Security Configuration Wizard) 進行配置。在配置的第 2 步中,選擇 Federated repositories;第 3 步中填寫集成解決方案控制台的管理員的用戶及密碼;其他配置采用默認設置。

啟用應用程序安全性

和上面步驟 3 同樣的全局安全性頁面中,選擇 啟用應用程序安全性。如圖 10 所示。

圖 10. 圖 10. 設置全局安全性

查看本欄目

使用 root 用戶重啟服務器

創建用戶,點擊 用戶和組 (Users and Groups)-> 管理用戶 (Manage Users)。創建新的用戶,用戶標識:WCIntegrationUser

創建用戶組,點擊 用戶和組 (Users and Groups)-> 管理組 (Manage Groups)。創建新的組,組名為:WCIntegrationGroup

分配角色。

點擊 應用程序 (Application)-> 應用程序 (Applications)->應用程序類型 (Applications Type)-> WebSphere 企業應用程序 (WebSphere enterprise applications)。點擊 Sterling 應用模塊,例如,gemini_20120330。

點擊 安全角色到用戶 / 組映射 (Security role to user/group mapping),映射用戶選擇步驟 6 中創建的用戶,映射組選擇步驟 7 中創建的組。

設置 (Quality of protection (QoP) settings)。

點擊 安全性 (Security)->SSL 證書和密鑰管理 (SSL certificate and key management)-> SSL 配置 (SSL Configurations)->NodeDefaultSSLSettings-> 保護質量(QoP),將 客戶機認證 (Client Authentication) 設置支持的 (Supported)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved