`
endual
  • 浏览: 3560890 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JUDDIV3 客户端代码(转载)

 
阅读更多

出处:http://blog.chinaunix.net/u3/117036/showart_2317698.html

环境:juddiv3+tomcat6.0+MySQL5.1+MyEclipse7.5
WSDL在UDDI中的注册:
    我们有两种方法和UDDI进行通信:
    一、用soapui工具直接编写SOAP消息和UDDI进行通信(它是Eclipse的一个插件);
    二、通过编程进行通信。(UDDI4J是一个UDDI编程接口,但是只支持UDDIv2,对v3不支持。所以只能自己编写。)
    下面是自己编写的把一个WSDL文件发布到UDDI注册中心的一段代码:
在该项目下需要加入juddiv3的lib下的jar包(需要在该项目下建一个/META-INF/uddi.xml)。

import junit.framework.Assert;
import org.junit.Test;
import org.apache.juddi.ClassUtil;
import org.apache.juddi.v3.client.config.UDDIClientContainer;
import org.apache.juddi.v3.client.transport.Transport;
import org.uddi.v3_service.UDDISecurityPortType;
import org.uddi.api_v3.GetAuthToken;
import org.uddi.api_v3.AuthToken;
import org.uddi.v3_service.UDDIPublicationPortType;
import org.uddi.api_v3.SaveBusiness;
import org.uddi.api_v3.BusinessEntity;
import org.uddi.api_v3.DiscoveryURLs;
import org.uddi.api_v3.DiscoveryURL;
import org.uddi.api_v3.Name;
import org.uddi.api_v3.BusinessService;
import org.uddi.api_v3.BusinessServices;
import org.uddi.api_v3.BindingTemplate;
import org.uddi.api_v3.BindingTemplates;
import org.uddi.api_v3.AccessPoint;
public class test3 {
     
 @Test
 public void testAuthToken()
 {
  try
  {
   String clazz = UDDIClientContainer.getDefaultTransportClass();
   Class<?>transportClass=ClassUtil.forName(clazz, Transport.class);
      if(transportClass!=null)
      {
       //获得authtoken
       Transport transport=(Transport)transportClass.newInstance();
       UDDISecurityPortType securityService=transport.getUDDISecurityService();
       GetAuthToken getauthToken=new GetAuthToken();
       getauthToken.setUserID("root");
       getauthToken.setCred("root");
       AuthToken authtoken=securityService.getAuthToken(getauthToken);
       String authinfo=authtoken.getAuthInfo();
       System.out.println(authinfo);
       UDDIPublicationPortType publication = transport.getUDDIPublishService();
       SaveBusiness sb = new SaveBusiness();
        
          //添加BusinessEntity
          BusinessEntity be=new BusinessEntity();
          DiscoveryURLs urls=new DiscoveryURLs();
          DiscoveryURL url=new DiscoveryURL();
          url.setValue("http://www.xiaozhu.com");
          urls.getDiscoveryURL().add(url);
          be.setDiscoveryURLs(urls);
          Name name=new Name();
          name.setValue("org.xiaozhan.test");
          be.getName().add(name);
          
          //添加BusinessService;
          BusinessServices bss=new BusinessServices();
          BusinessService bs=new BusinessService();
          Name na=new Name();
          na.setValue("MytestService");
          bs.getName().add(na);
          BindingTemplate bt=new BindingTemplate();
          BindingTemplates bts=new BindingTemplates();
          AccessPoint  ap=new AccessPoint();
          ap.setUseType("en");
          ap.setValue("http://localhost:8080/axis2");
          bt.setAccessPoint(ap);
          bts.getBindingTemplate().add(bt);
          bs.setBindingTemplates(bts);
          bss.getBusinessService().add(bs);
          be.setBusinessServices(bss);
          sb.setAuthInfo(authinfo);          
          sb.getBusinessEntity().add(be);
          publication.saveBusiness(sb);
      }
      else
      {
       Assert.fail();
      }
  }
  catch(Exception e)
  {
   e.printStackTrace();
   Assert.fail("Could not obtain authInfo token.");
  }
 }
 
}
分享到:
评论

相关推荐

    JUDDIV3注册,查询,发布服务

    在本场景中,我们将讨论如何使用**soapUI**工具来对JUDDIV3执行关键操作,如**注册**、**查询**和**发布**服务。 1. **注册服务**: 在JUDDI中注册服务是将Web服务信息存储到JUDDI服务器的过程。首先,你需要创建...

    juddi-dist-3.0.0.rc1.zip

    3. **服务管理**:包括服务的更新、删除、订阅等操作,确保服务信息的准确性和时效性。 4. **安全控制**:支持基于角色的访问控制,确保服务注册和发现的安全性。 5. **互操作性**:遵循WS-Discovery标准,与其他...

    连接uddi所需要的jar包

    对juddiv3进行操作(查询和发布)所需要的类 包含axis.jar、commons-beanutils-1.7.0.jar、commons-beanutils-core-1.7.0.jar、commons-collections.jar、commons-configuration-1.5.jar、commons-digester-1.8.jar、...

    juddiv3.3.4-configuration:服务计算-juddi实验

    服务计算juddi实验一,环境jdk = 1.8(1.6+),maven = 3.0.4,juddi = 3.3.4二,部署进入下载juddi-distro-3.3.4.zip(或tar.gz) ,解压到本地使用内置tomcat juddi-tomcat-3.3.4 cd your / path / juddi-distro-...

    juddi-portal-bundle-3.1.0.zip

    2. **RESTful API**:除了传统的SOAP接口,Juddi还提供了RESTful API,使得非Java环境的客户端也能方便地访问UDDI服务。 3. **插件架构**:Juddi的插件系统允许开发者扩展其功能,例如添加新的数据存储适配器或安全...

    juddi v3 用户指南

    文档详细介绍了如何针对每种数据库进行配置,并提供了在`juddiv3.properties`文件中覆盖默认持久化属性的方法。 ### 五、根种子数据 种子数据是指初始化时预加载的数据,juddi v3提供了种子数据文件,用于填充必要...

Global site tag (gtag.js) - Google Analytics