新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     >>计算机科学论坛<<     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> Web服务(Web Services,WS), 语义Web服务(Semantic Web Services, SWS)讨论区: WSDL, SOAP, UDDI, DAML-S, OWL-S, SWSF, SWSL, WSMO, WSML,BPEL, BPEL4WS, WSFL, WS-*,REST, PSL, Pi-calculus(Pi演算), Petri-net,WSRF,
    [返回] 计算机科学论坛W3CHINA.ORG讨论区 - Web新技术讨论『 Web Services & Semantic Web Services 』 → 在JBoss.net集成的juddi中发布服务的问题 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 2747 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 在JBoss.net集成的juddi中发布服务的问题 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     sandxu 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:0
      积分:59
      门派:XML.ORG.CN
      注册:2005/10/31

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给sandxu发送一个短消息 把sandxu加入好友 查看sandxu的个人资料 搜索sandxu在『 Web Services & Semantic Web Services 』的所有贴子 引用回复这个贴子 回复这个贴子 查看sandxu的博客楼主
    发贴心情 在JBoss.net集成的juddi中发布服务的问题

    我的JBoss版本是jboss-4.0.0DR2
    获取发布代理的代码:

    import java.net.MalformedURLException;
    import org.uddi4j.client.UDDIProxy;
    import org.uddi4j.transport.ApacheSOAPTransport;

    public class ProxyFactory {

     static String DEFAUTL = "http://localhost:8080/jboss-net/services/uddi";
     public static void main(String[] args) {
     }
     public static UDDIProxy createProxy(){
      UDDIProxy proxy = new UDDIProxy();
      try {
       proxy.setInquiryURL(DEFAUTL);
       proxy.setPublishURL(DEFAUTL); 
      } catch (MalformedURLException e) {
       e.printStackTrace();
      }
      return proxy;
     }
     public static UDDIProxy createProxy(String Inquiry,String Publish){
      UDDIProxy proxy = new UDDIProxy();
      try {
       proxy.setInquiryURL(Inquiry);
       proxy.setPublishURL(Publish); 
      } catch (MalformedURLException e) {
       e.printStackTrace();
      }
      return proxy;
                } 
    }

    发布一个服务的代码:
    import java.util.Iterator;
    import java.util.Vector;  

    import org.uddi4j.client.UDDIProxy;
    import org.uddi4j.datatype.Name;
    import org.uddi4j.datatype.business.BusinessEntity;
    import org.uddi4j.datatype.business.Contact;
    import org.uddi4j.datatype.business.Contacts;
    import org.uddi4j.datatype.business.Email;
    import org.uddi4j.response.AuthToken;
    import org.uddi4j.response.BusinessDetail;
    import org.uddi4j.response.BusinessInfo;
    import org.uddi4j.response.BusinessList;
    import org.uddi4j.response.ServiceInfo;
    import org.uddi4j.response.ServiceInfos;
    import org.uddi4j.util.FindQualifier;
    import org.uddi4j.util.FindQualifiers;

    public class BusinessEntityClient {

     public static void main(String[] args) throws Exception {
      BusinessEntityClient client = new BusinessEntityClient();
      client.SaveBusiness(client.createBusinessEntity(),ProxyFactory.createProxy());
      Vector bkeys = client.findBusinessKeys("liuyang",ProxyFactory.createProxy());
      System.out.println("查询到的businessKey :");
      for(Iterator it = bkeys.iterator();it.hasNext();){
       System.out.println(it.next());
      }
     }
     
     public void SaveBusiness(BusinessEntity entity,UDDIProxy proxy)throws Exception {
      String login = "user1";
      String password = "pass1";  
      AuthToken token = proxy.get_authToken(login, password); 
      
      Vector businessEntityVector = new Vector();
      businessEntityVector.addElement(entity);
      String ts = token.getAuthInfoString();
      System.out.println("ts:"+ts);
      BusinessDetail businessDetail = proxy.save_business(ts, businessEntityVector);
      Vector businessEntities = businessDetail.getBusinessEntityVector();
      if (businessEntities.size() > 0) {
        BusinessEntity returnedBusinessEntity =
       (BusinessEntity)(businessEntities.elementAt(0));
       String businessKey = returnedBusinessEntity.getBusinessKey();
       System.out.println("创建的businessKey : "+businessKey);
      }
     }
     
     public Vector findBusinessKeys(String bename,UDDIProxy proxy) {
      Vector names = new Vector();
      names.add(new Name(bename));  //Represents the name element within the UDDI version 2.0 schema
      FindQualifiers findQualifiers = new FindQualifiers();  //Represents the findQualifier element within the UDDI version 2.0 schema
      Vector qualifier = new Vector();
      qualifier.add(new FindQualifier("exactNameMatch"));
      findQualifiers.setFindQualifierVector(qualifier);
      BusinessList list;
      Vector bkeys = new Vector();
      try {
       list = proxy.find_business(names,null,null,null,null,findQualifiers,5);
       Vector bis = list.getBusinessInfos().getBusinessInfoVector();
       for(Iterator it = bis.iterator();it.hasNext();){
        BusinessInfo bi = (BusinessInfo) it.next();
        String bkey = bi.getBusinessKey();
        showServiceInfos(bi.getServiceInfos());
        System.out.println(bkey);
        bkeys.add(bkey);
       }      
      } catch (Exception e) {
       e.printStackTrace();
      }
      return bkeys;
     } 
     
     public BusinessEntity createBusinessEntity() {
       BusinessEntity businessEntity = new BusinessEntity("", "testHello");
       businessEntity.setAuthorizedName("testHello");
       businessEntity.setDefaultDescriptionString("xmessenger 消息服务 ");
       Contact contact = new Contact ("liuyang");
       Email email = new Email("jdcyang@sina.com");
       Vector emailVector = new Vector();
       emailVector.addElement(email);
       contact.setEmailVector(emailVector);
       Contacts contacts = new Contacts();
       Vector contactvt = new Vector();
       contactvt.addElement(contact);
       contacts.setContactVector(contactvt);
       businessEntity.setContacts(contacts);
       return businessEntity;
     }
     public void showServiceInfos(ServiceInfos sifs){
      Vector sivt = sifs.getServiceInfoVector();
      for(Iterator it = sivt.iterator();it.hasNext();){
       ServiceInfo si = (ServiceInfo) it.next();
       System.out.println("服务名称 : "+si.getName().getText());
       System.out.println("服务的ServiceKey    : "+ si.getServiceKey());    
       System.out.println("服务供应商的BusinessKey : "+si.getBusinessKey());
      }  
     } 
    }

    运行提示:
    Try to insert null into a non-nullable column in statement [INSERT INTO BUSINESS_ENTITY (BUSINESS_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,LAST_UPDATE) VALUES ('CADEC0B0-BE09-11DA-A492-BCB2AB5E2344',NULL,'user1','J.B.Oss','2006-03-28 11:22:04.0')]
    将null值插入到非空的authorized_name列中

    请问怎么处理?

    BUSINESS_KEY、authorized_name、OPERATOR不是都由uddi提供的吗?
    谢谢


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/3/28 12:10:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 Web Services & Semantic Web Services 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2025/7/18 12:12:03

    本主题贴数1,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    46.875ms