發布 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.kjueaiud.com/