WebLogic UDDI Client API 實例學習(二)

發表于:2007-07-01來源:作者:點擊數: 標簽:
發布 Publish 與查詢類似,可以發布到UDDI 注冊中心的數據模型也有四個:商業實體、商業服務、綁定信息和tModel。對應Publish類中的四個save方法: 四個save方法用于發布或修改UDDI的數據,四個delete方法用于刪除數據。 getAuthToken則可以獲取注冊中心的登


  發布 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("webmaster@sharetop.com");

  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.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97