游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1473|回复: 0

WebLogic UDDI Client API 实例学习(二)wxh zt

[复制链接]

1367

主题

1993

帖子

2118

积分

金牌会员

Rank: 6Rank: 6

积分
2118
发表于 2006-3-17 16:08:00 | 显示全部楼层 |阅读模式

原 作 者:颜承
原 出 处:yesky


  与查询类似,可以发布到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();

 }

}


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-23 22:42

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表