转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
UDDI:一种XMLWeb服务         ★★★★

UDDI:一种XMLWeb服务

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1868 更新时间:2009/4/23 11:17:59
    
  
  作者:Chris Lovett
  
  UDDI 查询示例(需要 Internet Explorer 5.x)
  通用描述、发现和集成 (UDDI) 服务(英文)目前可以直接运行于 Microsoft、IBM 和 Ariba。这是一种联机 Web 服务,可在应用程序中用来动态发现其他联机服务。该服务全部被巧妙地打包在一个简单的 XML 接口中。
  
  对于有经验的 XML 读者,在客户端应用程序和中间层服务器之间传递 XML 根本不是什么新鲜事。我们从 1998 年开始就这么做。但是,我们也很高兴能看到行业在这个方向上开发出象 UDDI 一样有用的其他服务。
  
  所以,让我们专注于基本事实。您真正需要了解的是可以向其张贴 XML 的 URL。我们经过努力,找到了以下三个 URL:
  
  http://uddi.microsoft.com/inquire
  http://uddi.ariba.com/UDDIProcessor.aw/ad/process
  http://www-3.ibm.com/services/uddi/inquiryapi
  它们是用于“查询”的 UDDI 入口点。用于更新的入口点与它们不一样,并且通常出于安全原因而使用 HTTPS 地址。
  
  张贴什么样的 XML?
  首先,XML 必须是 UTF-8(由 UDDI 项目精心简化)格式的,并且必须包装在 SOAP 信封中。SOAP 信封看上去如下所示:
  
  <?xml version='1.0' encoding='UTF-8'?>
  <Envelope xmlns='http://schemas.xmlsoap.org/soap/envelope/'>
  <Body>?lt;/Body>
  </Envelope>
  
  元素的内容可以是来自 uddi 架构(英文)的任何查询。例如,以下查询,当置于 SOAP 信封中时将返回有关 Microsoft 的详细信息:
  
  <find_business generic="1.0" xmlns="urn:uddi-org:api">
   <name>Microsoft</name>
  </find_business>
  
  注意:我们将名称空间从 SOAP 名称空间切换到“urn:uddi-org:api”名称空间。在 find_business 查询中还可以执行许多其他操作。
  
  如何张贴 XML?
  您可以在 JScript 文件或 HTML 页面中使用 MSXML 提供的 XMLHTTP 控件,如下所示:
  
   http = new ActiveXObject("Microsoft.XMLHTTP");
   http.open("POST", url, false);
   http.setRequestHeader("Accept","text/xml");
   http.setRequestHeader("Cache-Control","no-cache");
   http.setRequestHeader("SOAPAction",'""');
   http.send(msg);
  
  在本例中,我决定做一个好 SOAP 公民,因而在 HTTP 标头中设置 SoapAction。因为每次我都需要动态结果,所以我还决定只接受 text/xml 结果,并且关闭所有缓存。当然,在附加的示例代码中,我是通过就绪状态变化回叫来异步完成这些操作的。
  
  返回什么内容?
  当然是 XML。在这种情况下,您获得当前为 Microsoft 注册的 <businessInfo> 元素的详细列表,包括有关 UDDI 服务本身的信息。
  
  <businessList generic="1.0" operator="Microsoft Corporation"
   truncated="false" xmlns="urn:uddi-org:api">
   <businessInfos>
   <businessInfo businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3">
   <name>Microsoft Corporation</name>
   <description xml:lang="en">以优秀软件给人力量——随时,随地,在任何
   设备上——这就是 Microsoft 的目标。作为
   全球领先的个人和商务软件厂商,我们致力于
   提供创新的产品和服务,满足我们客户的需求</description>
   <serviceInfos>
   <serviceInfo businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3"
   serviceKey="1FFE1F71-2AF3-45FB-B788-09AF7FF151A4">
   <name>智能搜索 Web 服务</name>
   </serviceInfo>
   <serviceInfo businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3"
   serviceKey="8BF2F51F-8ED4-43FE-B665-38D8205D1333">
   <name>电子商务综合服务</name>
   </serviceInfo>
   <serviceInfo businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3"
   serviceKey="611C5867-384E-4FFD-B49C-28F93A7B4F9B">
   <name>批量授权选择程序</name>
   </serviceInfo>
   <serviceInfo businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3"
   serviceKey="5DE3CE59-923E-42D3-B7FB-34FC3C3CBC16">
   <name>Technet</name>
   </serviceInfo>
   <serviceInfo businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3"
   serviceKey="24E553C3-7E3E-484A-8ECA-80E0D0B4A91F">
   <name>Microsoft 开发人员网络</name>
   </serviceInfo>
   <serviceInfo businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3"
   serviceKey="77DD86E5-CD70-4219-A28C-37231EAF3901">
   <name>联机购物</name>
   </serviceInfo>
   <serviceInfo businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3"
   serviceKey="0860E130-D4AF-4BD5-9F5C-D7F6FA4B1AD8">
   <name>主页</name>
   </serviceInfo>
   <serviceInfo businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3"
   serviceKey="D2BC296A-723B-4C45-9ED4-494F9E53F1D1">
   <name>UDDI Web 服务</name>
   </serviceInfo>
   <serviceInfo businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3"
   serviceKey="A8E4999A-21A3-47FA-802E-EE50A88B266F">
   <name>UDDI Web 站点</name>
   </serviceInfo>
   </serviceInfos>
   </businessInfo>
   </businessInfos>
  </businessList>
  
  在这里,您可以反复查询并获得有关某个特定服务的信息。例如,让我们反复查询 UDDI Web 服务。您可以从上面的结果中获得 businessKey,并且用 <find_service> 来按名称查找一个服务:
  
  <find_service generic='1.0' xmlns='urn:uddi-org:api'
   businessKey='0076B468-EB27-42E5-AC09-9955CFF462A3'>
   <name>UDDI Web 服务</name>
  </find_service>
  
  这将返回有关此服务的信息:
  
  <serviceList generic="1.0" operator="Microsoft Corporation"
   truncated="false" xmlns="urn:uddi-org:api">
   <serviceInfos>
   <serviceInfo businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3"
   serviceKey="D2BC296A-723B-4C45-9ED4-494F9E53F1D1">
   <name>UDDI Web 服务</name>
   </serviceInfo>
   </serviceInfos>
  </serviceList>
  
  然后,您可用 serviceKey 来获得有关这项服务的详细信息:
  
  <get_serviceDetail generic='1.0' xmlns='urn:uddi-org:api'>
   <serviceKey>D2BC296A-723B-4C45-9ED4-494F9E53F1D1</serviceKey>
  </get_serviceDetail>
  
  这将返回下面的 <bindingTemplates>:
  
  <serviceDetail generic="1.0" operator="Microsoft Corporation"
   truncated="false" xmlns="urn:uddi-org:api">
   <businessService businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3"
   serviceKey="D2BC296A-723B-4C45-9ED4-494F9E53F1D1">
   <name>UDDI Web 服务</name>
   <description xml:lang="en">基于 UDDI SOAP/XML 消息的可编程 Web 服务接口。</description>
   <bindingTemplates>
   <bindingTemplate bindingKey="313C2BF0-021D-405C-8149-25FD969F7F0B"
   serviceKey="D2BC296A-723B-4C45-9ED4-494F9E53F1D1">
   <description xml:lang="en">产品 UDDI 服务器,发布接口</description>
   <accessPoint URLType="https">https://uddi.microsoft.com/publish</accessPoint>
   <tModelInstanceDetails>
   <tModelInstanceInfo tModelKey="uuid:64C756D1-3374-4E00-AE83-EE12E38FAE63">
   <description xml:lang="en">UDDI SOAP 发布接口</description>
   </tModelInstanceInfo>
   </tModelInstanceDetails>
   </bindingTemplate>
   <bindingTemplate bindingKey="A9CAFBE4-11C6-4BFE-90F5-595970D3DE24"
   serviceKey="D2BC296A-723B-4C45-9ED4-494F9E53F1D1">
   <description xml:lang="en">产品 UDDI 服务器,查询接口</description>
   <accessPoint URLType="http">http://uddi.microsoft.com/inquire</accessPoint>
   <tModelInstanceDetails>
   <tModelInstanceInfo tModelKey="uuid:4CD7E4BC-648B-426D-9936-443EAAC8AE23">
   <description xml:lang="en">UDDI SOAP 查询接口</description>
   </tModelInstanceInfo>
   </tModelInstanceDetails>
   </bindingTemplate>
   <bindingTemplate bindingKey="3FE6C834-293E-4341-AF6E-41DC68949764"
   serviceKey="D2BC296A-723B-4C45-9ED4-494F9E53F1D1">
   <description xml:lang="en">测试 UDDI 服务器,发布接口</description>
   <accessPoint URLType="https">https://test.uddi.microsoft.com/publish</accessPoint>
   <tModelInstanceDetails>
   <tModelInstanceInfo tModelKey="uuid:64C756D1-3374-4E00-AE83-EE12E38FAE63">
   <description xml:lang="en">UDDI SOAP 发布接口</description>
   </tModelInstanceInfo>
   <tModelInstanceInfo tModelKey="uuid:F372E009-F372-429C-A09A-794113A5C5F9">
   <description xml:lang="en">urn:microsoft-com:test-signature-element 表示这是服务的测试版</description>

[1] [2]  下一页


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台