网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  程序分享:从uddi注册中心查询服务     
  文章作者:未知  文章来源:水木森林  
  查看:95次  录入:管理员--2007-11-17  
 
  查询服务程序的实现过程:创建inquiry对象,并设置查询地址;声明findbusiness对象,并设置查询服务名和相关属性;获得businesslist对象,然后层层向下查询:businesslist->businessinfo->serviceinfo->businessservice->bindingtemplate,最后得到accesspoint对象,调用gettext()方法,就可获得该服务的入口地。得到服务的wsdl之后,可利用wsif调用这个服务的方法。见如下程序的方法:
  
  public void getservicesurl(){
  try{
  inquiry inq=new inquiry();
  inq.seturl("http://huijddn.com/services/uddi/inquiryapi");
  findqualifiers fqs = new findqualifiers();
  findbusiness fb = new findbusiness();
  fb.setfindqualifiers(fqs);
  fb.setname(new name("magazineservices"));//查找服务名magazineservices的服务
  businesslist rbusinesslist = inq.findbusiness(fb);
  businessinfos rbusinessinfos = rbusinesslist.getbusinessinfos();
  vector rbusinessinfovector = rbusinessinfos.getbusinessinfovector();
  businessinfo rbusinessinfo;
  for (int y =0; y < rbusinessinfovector.size(); y++)
  {
  rbusinessinfo = (businessinfo)rbusinessinfovector.elementat(y);
  system.out.println("*********business info********");
  system.out.println("attribute businesskey: "+rbusinessinfo.getbusinesskey());
  name rname = rbusinessinfo.getname();
  system.out.println("name : "+rname.getvalue());
  vector rdesvector = rbusinessinfo.getdescriptionvector();
  description rdes=null;
  printdescriptionvector(rdesvector);
  serviceinfos rserinfos = rbusinessinfo.getserviceinfos();
  vector rserviceinfovector = rserinfos.getserviceinfovector();
  serviceinfo rserviceinfo;
  for (int x =0; x<rserviceinfovector.size();x++)
  {
  system.out.println("*********service info********");
  rserviceinfo = (serviceinfo)rserviceinfovector.elementat(x);
  system.out.println("service info name: "+rserviceinfo.getname().getvalue());
  system.out.println("servicekey : "+rserviceinfo.getservicekey());
  system.out.println("businesskey : "+rserviceinfo.getbusinesskey());
  string magazineserver=rserviceinfo.getservicekey();
  servicedetail rservicedetail = inq.getservicedetail(gsd);
  vector rbusinessservicevector = rservicedetail.getbusinessservicevector();
  businessservice rbs;
  for (int a=0;a<rbusinessservicevector.size();a++)
  {
  system.out.println("*****************business service***************");
  rbs = (businessservice)rbusinessservicevector.elementat(a);
  vector rdesvector = rbs.getdescriptionvector();
  bindingtemplates rbts = rbs.getbindingtemplates();
  if (rbts !=null)
  {
  vector rbtvector = rbts.getbindingtemplatevector();
  bindingtemplate returnbindingtemplate;
  for (int i = 0; i < returnbindingtemplatevector.size(); i++)
  {
  system.out.println("***********binding template*************");
  returnbindingtemplate =(bindingtemplate)returnbindingtemplatevector.elementat(i);
  vector rdesvector = returnbindingtemplate.getdescriptionvector();                  accesspoint rap = returnbindingtemplate.getaccesspoint();
  java.net.url url=new url(rap.gettext());//找到服务的url地址
  }
  }
  }
  }
  }
  }catch(exception e){
  e.printstacktrace();
  }
  }
 
 
上一篇: 怎样用java实现msn messager的功能    下一篇: 如何把一图画变成图形界面的背景
  相关文档
java程序员认证模拟题及详细分析(2) 11-16
在linux 下配置jsp开发环境(一) 11-17
j2se5.0新特性之processbuilder 11-17
java编译、反编译、反反编译 11-17
基于javascript v8引擎 谷歌chrome浏览器 09-03
isrootfolder 属性 11-16
java 6.0 操作脚本语言基础 11-17
使用javascript和ajax发出异步请求(一) 11-17
j2ee项目登录方式的改进设计与实现 11-17
atend 方法 11-16
java学习过程的一些重点(二) 11-17
java 库的建立方法及其实例(6) 11-17
在jini,rmi和applet中如何实现代码签名 11-17
深入浅出基于java的责任链模式 11-17
网络:如何使用java网络启动部署软件 02-26
java编程基础:ejb专用术语的详细解释 04-15
java性能优化之通用篇 11-17
核心api最佳实践——jdk日志分级 11-17
eclipse下有用的包jadclipse和findbugs 11-17
java类中类属性和对象属性的初始化顺序 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息