首页产品库评测行情新闻|手机数码笔记本台式机DIY硬件数字家庭数码相机办公外设|软件下载游戏开发|社区

更多

数码相机
MP4
LCD
机箱
音箱

天极网 > 开发频道>WebLogic UDDI Client API 实例学习(二)

WebLogic UDDI Client API 实例学习(二)

2002-12-31 10:32作者:颜承出处:yesky责任编辑:方舟

  发布tModel

  tModel用于描述了WebService的技术规范信息。它本身并没有和某个BusinessEntity绑定在一起,所以可以直接发布。

  构建一个新的TModel对象,设置需要的参数,如Name、Description、Operator、OverviewDoc等。

  同样也必须设置它的TModelKey,如果是发布则为””。


  加入TModel的代码示例如下:

void addTModel(){

 try {

  file://登录

  … …

  file://构建TModel对象

  TModel tModel = new TModel();

  tModel.setName(new Name("TestXType tModel"));

  tModel.addDescription("complex datatype tmodel");

  tModel.setTModelKey("");

  OverviewDoc oDoc = new OverviewDoc();

  oDoc.setOverviewURL("http://sharetop:7001/TestXType/TestXTypeEJB?WSDL");

  tModel.setOverviewDoc(oDoc);

  file://构建SaveTModel对象

  SaveTModel st = new SaveTModel();

  st.setAuthInfo(aInfo);

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

  st.addTModel(tModel);

  file://发布

  publisher.saveTModel(st);

 }

 catch (Exception ex) {

  ex.printStackTrace();

 }

}


  发布商业服务

  发布商业服务及其相关的绑定信息是发布WebService最重要的一环。在已经成功发布BusinessEntity和tModel之后,需要把实现的Web Service发布到Internet上。可以只发布一个空的BusinessService而不带任何绑定模板,同时,也可以连同绑定模板一起发布。


  发布BusinessService的方法与前面讨论的其它发布方法基本相同。

  要注意的是在发布一个BusinessService时,必须要为它指定一个BindingTemplates,如果暂时不发布BindingTemplate的话,也需要提供一个空的BindingTemplates作为参数。

  示例代码如下:

void addService(){

 try {

  file://登录

  … …

  file://取已发布的商业实体信息

  GetRegisteredInfo gri = new GetRegisteredInfo();

  gri.setAuthInfo(aInfo);

  Vector vBusinessInfo =

   publisher.getRegisteredInfo(gri).getBusinessInfos().getBusinessInfoVector();

  BusinessInfo bInfo = (BusinessInfo)vBusinessInfo.elementAt(0);

  String bKey=bInfo.getBusinessKey();
 
  file://构建BusinessService

  BusinessService bService = new BusinessService();

  bService.setBusinessKey(bKey); file://它挂在哪个商业实体下

  bService.setServiceKey("");

  bService.setName(new Name("TestXType"));

  bService.addDescription("Test Complex DataType");

  file://为BusinessService加入空的BindingTemplates

  BindingTemplates bTemplates = new BindingTemplates();

  bService.setBindingTemplates(bTemplates);

  file://构建SaveService

  SaveService ss = new SaveService();

  ss.setAuthInfo(aInfo);

  ss.addBusinessService(bService);

  file://发布

  publisher.saveService(ss);

 }

 catch (Exception ex) {

  ex.printStackTrace();

 }

}

  发布绑定模板及tModel实例对象

  可以为一个存在的BusinessService加上新的绑定模板。不同的绑定模板代表了这个商业服务的不同入口。发布的方法与其它基本相同,不再赘述。

void addBinding(){

 try {

  file://登录

  … …

  file://取已存在的商业实体及商业服务信息(也可以根据Key直接定位)

  BusinessInfo bInfo =
   (BusinessInfo)publisher.getRegisteredInfo(gri).
    getBusinessInfos().getBusinessInfoVector().elementAt(0);

  String bKey=bInfo.getBusinessKey();

  ServiceInfo sInfo =
   (ServiceInfo)bInfo.getServiceInfos().getServiceInfoVector().elementAt(0);
  
  String sKey = sInfo.getServiceKey();

  file://取已存在的tModel信息(同样也可以根据Key直接定位)

  TModelInfo tInfo =
   (TModelInfo)publisher.getRegisteredInfo(gri).getTModelInfos()
    .getTModelInfoVector().elementAt(2);

  String tKey = tInfo.getTModelKey();

  file://创建InstanceDetails对象

  InstanceDetails iDetails = new InstanceDetails();

  iDetails.addDescription("Instance Details");

  OverviewDoc oDoc = new OverviewDoc();

  oDoc.setOverviewURL("http://sharetop:7001/TestXType/TestXTypeEJB?WSDL");

  iDetails.setOverviewDoc(oDoc);

  file://创建TModelInstanceInfo

  TModelInstanceInfo tmInstanceInfo = new TModelInstanceInfo();

  tmInstanceInfo.addDescription("tModel Instance Info");

  tmInstanceInfo.setTModelKey(tKey);

  tmInstanceInfo.setInstanceDetails(iDetails);

  file://创建TModelInstanceDetails

  TModelInstanceDetails tmInstanceDetails = new TModelInstanceDetails();

  tmInstanceDetails.addTModelInstanceInfo(tmInstanceInfo);

  file://创建BindingTemplate

  BindingTemplate bTemplate = new BindingTemplate();

  bTemplate.setBindingKey("");

  bTemplate.setServiceKey(sKey);

  bTemplate.setAccessPoint(new AccessPoint("http://www.superfeel.net","http"));

  bTemplate.addDescription("add new binding template 3");

  bTemplate.setTModelInstanceDetails(tmInstanceDetails);

  file://创建SaveBinding

  SaveBinding sb = new SaveBinding();

  sb.setAuthInfo(aInfo);

  sb.addBindingTemplate(bTemplate);

  file://发布

  publisher.saveBinding(sb);

 }

 catch (Exception ex) {

  ex.printStackTrace();

 }

}

共2页。 9 7 1 2

关注此文的读者还看过:

返回开发频道首页

共2页。 上一页12

软件频道最新更新

热点推荐

天极服务|关于我们|About us|网站律师|RSS订阅|友情合作|加入我们|天极动态|网站地图|意见反馈|MSN/QQ上看天极
Copyright (C) 1999-2012 Yesky.com, All Rights Reserved 版权所有 天极网络