用户操作
[即时聊天] [发私信] [加为好友]
付江ID:java060515
261152次访问,排名237好友49人,关注者257
关注软件开发和互联网业界
java060515的文章
原创 29 篇
翻译 37 篇
转载 42 篇
评论 501 篇
付江的公告
最近评论
yuduishuishuo:太好了哦
wlng8213:good very well
wlng8213:good very well
wlng8213:good very well
wlng8213:good very well
文章分类
    收藏
      相册
      存档
      软件项目交易
      订阅我的博客
      XML聚合  FeedSky
      订阅到鲜果
      订阅到Google
      订阅到抓虾
      订阅到BlogLines
      订阅到Yahoo
      订阅到GouGou
      订阅到飞鸽
      订阅到Rojo
      订阅到newsgator
      订阅到netvibes

      原创 NetBeans下用于Open Calais的SOAP客户机(一)收藏

      新一篇: NetBeans下用于Open Calais的SOAP客户机(二) | 旧一篇: Netbeans 6.0 CLDC/MIDP开发快速入门指南(二)

      本文将介绍如何编写一个简单的、基于控制台的Java SOAP客户机以访Open Calais Web服务。本教程所介绍的概念同样适用于为任何其它Web服务编写SOAP客户机。


      目录

      »

      §                     用于Open CalaisSOAP客户机

      §                     简介:Calais Web服务  

      §                     运行原理  

      §                     前提条件  

      §                     Open Calais创建SOAP客户机  

      §                     使用Open Calais API构造和发送SOAP请求  

      §                     RDF中获取和显示结果  

      §                     更多练习  

      §                     结束语

      §                     参考资料  

       

      简介:Calais Web服务

      根据 http://opencalais.mashery.com/Overview 的定义,Calais Web服务可以自动将富语义元数据附加到所提交的内容中,整个过程不会超过1秒钟。通过自然语言处理、机器学习和其它方法,Calais能够对文档进行分类并将它们与实体(人、位置、组织等)、事实(在‘y’公司工作的职员‘x’)和事件(职员‘z’‘x’日被任命为‘y’公司的主席)相链接。元数据结果将集中保存,并以行业标准的RDF结构随全局唯一标识符(GUID)一并返回给用户。借助Calais GUID,任何下游用户都可以通过简单的Calais调用来获取该元数据。

      通过该元数据,您可以建立文档与人、公司、地点、产品、事件以及地理等任何事物之间的链接映射(或者图表、网络)。您可以使用这些映射改善站点的导航,提供上下文联合,标记和组织内容,创建结构化的folksonomies,筛选并去除重复新闻资料或分析内容中是否包含您所关心的主题。此外,还可以与内容生态系统中的任何人共享这些映射。

      运行原理

      以编程人员的观点来看,您可以构建SOAP请求并将其发送给Web服务的远程端点。Web服务以 资源描述框架 的输出作为响应。

      前提条件

      NetBeans IDE最好6.0以上WebJava EE安装包

      JDK 1.6.0以上

      了解RDF的基础知识

      了解语义Web的基础知识

      了解Web服务的基础知识

      Open Calais创建SOAP客户机

      创建Java应用程序项目。在该项目中,创建一个Web服务客户机来使用Open Calais enlighten服务。

      在新建项目向导中,创建一个Java应用程序项目。将其命名为contextualizer接受所有的默认设置,然后创建一个Main类。

      右键单击项目节点。这将弹出上下文菜单。

      选择新建->Web服务客户机。

      添加enlighten WSDLURLhttp://api.opencalais.com/enlighten/?wsdl

      现在代码将通过WSDL获取Web服务相关信息。

      信息获取完成后,展开项目浏览器中“Web服务引用节点。可以看到Web服务中可用的SOAP函数。

      使用Open Calais API构造和发送SOAP请求

      Open Calais APISOAP 1.1SOAP 1.2都提供了一个名称为”enlighten”的函数。我们将在客户机中使用SOAP 1.1函数。

      单击左侧的"enlighten"节点,并将其拖拽到"contextualiser.Main"类中。以下代码将添加到主函数的已有类中:

      try { // Call Web Service Operation
                  contextualiser.Calais service = new contextualiser.Calais();
                  contextualiser.CalaisSoap port = service.getCalaisSoap();
                  // TODO initialize WS operation arguments here
                  java.lang.String licenseID = "";
                  java.lang.String content = "";
                  java.lang.String paramsXML = "";
                  // TODO process result here
                  java.lang.String result = port.enlighten(licenseID, content, paramsXML);
                  System.out.println("Result = "+result);
              } catch (Exception ex) {
                  // TODO handle custom exceptions here
              }
       

      要了解调用API的各种参数,请参阅Open Calais API指南。

      特别地我们必须通过SOAP请求发送以下信息

      许可ID,或开发人员密钥(注册Open Calais网站获得)

      希望获取的语义元数据文本

      ParamsXML预定义XML格式的字符串

      使用"water"作为文本。ParamsXML就是Open Calais API文档中说明的那个。 现在源代码应如下所示

      /*
       * To change this template, choose Tools | Templates
       * and open the template in the editor.
       */
       
      package contextualiser;
       
      import java.io.BufferedReader;
      import java.io.FileReader;
      import java.io.IOException;
       
       
      /**
       *
       * @author amit
       */
      public class Main {
       
          /**
           * @param args the command line arguments
           */
          public static void main(String[] args) {
              // TODO code application logic here
              
      try { // Call Web Service Operation
                  contextualiser.Calais service = new contextualiser.Calais();
                  contextualiser.CalaisSoap port = service.getCalaisSoap();
       
                  // TODO initialize WS operation arguments here
                  java.lang.String licenseID = "1234567890134"; //replace this with your own license key
                  java.lang.String content = "water";
                  java.lang.String paramsXML="";
                  
                  String line;
                  try{
                  FileReader input = new FileReader("paramsXML.xml");
                  BufferedReader bufRead = new BufferedReader(input);
                  
                  while((line=bufRead.readLine())!=null){
                      paramsXML+= line;
                      System.out.println(line);
                      
                  }
                  
       
                  }catch(IOException e){
                      System.out.println(e);
                  }
                              
                  // TODO process result here
                  
                  java.lang.String result = port.enlighten(licenseID, content, paramsXML);
                  System.out.println("Result = "+result);
              } catch (Exception ex) {
                  // TODO handle custom exceptions here
              }
              
              
              
          }
       
      }

      发表于 @ 2008年04月30日 14:25:03|评论(loading...)|编辑

      新一篇: NetBeans下用于Open Calais的SOAP客户机(二) | 旧一篇: Netbeans 6.0 CLDC/MIDP开发快速入门指南(二)

      评论:没有评论。

      发表评论  


      当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
      Csdn Blog version 3.1a
      Copyright © 付江