top
Loading...
WebLogicUDDIClientAPI實例學習(二)

發布 Publish

與查詢類似,可以發布到UDDI 注冊中心的數據模型也有四個:商業實體、商業服務、綁定信息和tModel。對應Publish類中的四個save方法:

四個save方法用于發布或修改UDDI的數據,四個delete方法用于刪除數據。

getAuthToken則可以獲取注冊中心的登錄信息,得到的AuthInfo需要在對UDDI的數據進行發布、修改或刪除時作為身份驗證的參數提供。


登錄注冊中心

對UDDI注冊中心的數據進行操作時需要提供用戶注冊信息或(及)操作員的信息。Publish的getAuthToken方法得到AuthToken,而后再由它得到AuthInfo對象。AuthInfo在后面的操作中是必需的參數之一。

下面是一段示例的登錄代碼:

GetAuthToken gat = new GetAuthToken();

gat.setUserID("yancheng");

gat.setCred("12345678");

AuthInfo aInfo = publisher.getAuthToken(gat).getAuthInfo();

log("AuthInfo is "+aInfo.getValue());

發布商業實體

通過Publish類的saveBusiness方法可以向注冊中心發布一個新的BusinessEntity或是修改原有的(需要知道它的BusinessKey)。

Publish的saveBusiness方法需要提供一個SaveBusiness對象作為參數。需要發布的BusniessEntity加入這個對象中即可。有兩個方法比較重要,一個是addUploadRegister方法,提供是誰發布,另一個是繼承自request包下的UpdateRequest類的setAuthInfo, 設置前面登錄步驟得到的注冊信息AuthInfo對象。

BusinessEntity類曾經在查詢操作中出現過,下邊的圖示只列出它的set方法(同樣的在介紹查詢的時候我們只列出了它的get方法)。


可以為它加入Name、Description、Contact、Operator、DiscoveryURL、Category等信息。以及它所包含的商業服務BusinessService。

注意的是必須設置它的BusinessKey,但是因為是新發布,所以可以設置為””。

下面用一段代碼說明如何加入一個新的BusinessEntity對象:

void addBusiness(){

try {

file://登錄

… …

file://創建聯系信息

Contact contact = new Contact();

contact.addDescription("yancheng contact");

contact.addEmail("[email protected]");

contact.addPhone("1012032");

contact.setPersonName("yan cheng");

Contacts contacts = new Contacts();

contacts.addContact(contact);

file://創建商業實體

BusinessEntity bEntity = new BusinessEntity();

bEntity.setName(new Name("sharetop.com"));

bEntity.addDescription("sharetop software studio");

bEntity.setAuthorizedName("yancheng");

bEntity.setOperator("yancheng");

bEntity.setBusinessKey("");

bEntity.setContacts(contacts);

file://創建SaveBusiness作為參數

SaveBusiness sb = new SaveBusiness();

sb.setAuthInfo(aInfo);

sb.addUploadRegister(new UploadRegister("yancheng"));

sb.addBusinessEntity(bEntity);

file://發布

publisher.saveBusiness(sb);

}

catch (Exception ex) {

ex.printStackTrace();

}

}

作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗