| |
技术文档>>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(); } }
|
|
|
|
相关文档
|