岁月联盟 · 中国技术网 本站主页 | 安全认证 | 用户服务 | 技术论坛
新闻快报 | 新手学堂 | 黑客特区 | 程序语言 | 数 据 库 | 防 火 墙 | 路由交换 | 系统集成 | 服 务 器 | 存储备份 | 考试认证
Windows | Linux | Java | 协议分析 | 问题解答 | 进程大全 | 网页设计 | 多 媒 体 | 图库资料 | 软件下载 | 站内下载
  您现在的位置: 岁月联盟 >> Java >> XML >> WebServices >> Java正文
Java SE 6 Web Service 之旅
作者:未知 文章来源:本站整理 点击数: 更新时间:2007-7-23 0:05:23
rintln("");  
        }
        catch (Exception exp)
        {
         System.out.println("Exception in TraceHandler:trace(messageContext) : "
+ exp);
        }
    }
}



    TraceHandler实现了javax.xml.ws.handler.SOAPHandler< c extends MessageContext> 接口。方法handleMessage()和handleFault()将未绑定和没有绑定的SOAP消息传输到System.out管道。这个功能提供给SOAPMessageContext,这部分聚合了所有SOAP消息,它包含了各种消息属性和SOAP消息本身。

上一页  [1] [2] [3] 下一页  

     现在我们有一个准备好了操作者的WebService,我们应该如何包装和部署这样的服务呢?这个服务打包成下边我们要讨论的一个jar文件,但是看起来更加兴奋。

Boostrap

    在JavaSE6种,你将会看到javax.xml.ws包里面包含了终端类,这些专门用来在JVM中部署WebService。当然,听起来很正确!不需要任何服务器。正好利用终端类创建一个服务实例,就像下边显示的Bootstrap类一样。终端是用于小的应用程序的,应用服务器消耗是不合理的,这里是仅仅用作发布目的。

package com.techyatra.hellows;
...
public class Bootstrap
{
    ...
    public static void main (String [] args) throws Exception
   {
        HelloServer server = new HelloServer();
          
        Endpoint endpoint = Endpoint.publish(http://localhost:9090/HelloServer,
server);
        
        Binding binding = endpoint.getBinding();      
        List<Handler> handlerChain = new LinkedList<Handler>();
        handlerChain.add(new com.techyatra.hellows.TraceHandler());
        binding.setHandlerChain(handlerChain);
   }  
}


    这个Bootstrap类是一个便利的类用来聚合HelloServer WebService中的各个块。它发布这个服务器到一个URL地址而且将TraceHandler这个追踪操作者添加到这个WebService运行管道中。

服务应用jar文件

    运行Apache Ant中的命令创建编译过的JAR。这个dist任务创建一个MustangWS.jar文件用来标志com.techyatra.hellows.Bootstrap 类作为一个类包含了main()的入口点。

    现在执行Apache Ant的run命令。这个将调用Bootstrap中的main()方法用来将WebService发布到http://localhost:9090/HelloServer。在你的浏览器里面输入http://localhost:9090/HelloServer?WSDL用来显示动态生成的WSDL文档的内容。让我们看看WebService Metadata Annotation在WSDL中如何来提供各种服务的。

“野马”WebSerice客户端
   现在我们将HelloServer发布成为了一个WebService,让我们看看如何来调用它。当然这里有很多方法来完成这个工作,我们将使用JavaSE 6中的JAX-WS2.0中的功能来调用HelloServer这个WebService。

这个客户端应用程序在mustangwsclient 文件夹中可以找到。除开我们熟悉的src目录和build.xml文件以外,mustangwsclient目录中还包含了wsimportHello.bat批处理文件,用来生成JAXB的绑定存根。客户端通过存根能够很方便地调用这个服务。Java SE 6利用wsimport功能绑定生成这个存根,wsimportHello.bat使用这些功能为HelloService生成存根。

wsimport

    wsimport能够检查WSDL文件中的特别URL是否合法然后生成所有的class用来让客户端更加清晰和容易懂得。有些人想使用SAAJ,JAXB或者straight-up XML用来调用WebService,可是需要小心的是,基于的wsimport的存根提供了一个方便的层次来管理WebService。它用来生成合适的JAX-WS机制,标识这些类可以和比较规范的应用程序服务器和JVM来工作。

    当你运行mustangwsclient文件夹中的wsimportHello.bat批处理文件,它将为Mustang WebService客户端项目生成构建文件夹然后能够使用关键的参数运行wsimport,这些用来生成存

上一页  [1] [2] [3] [4] [5] [6] 下一页


  • 上一个Java:
  • 下一个Java:
  •  
    热门文章
    推荐文章
    关于我们 | 发展历程 | 网站地图 | 广告服务 | 招贤纳士 | 战略合作 | 友情链接 | 著作声明 | 联系我们
    Copyright © 2002-2007 SYUE All rights reserved.
    E_mail:WebSyue@163.Com 皖ICP备05004589号
    未经授权禁止转载、摘编、复制或建立镜像.如有违反,追究法律责任.
    惊天动地私服 天龙八部私服 天龙八部私服 热血江湖私服 天龙八部私服 bet365 bet365 传世私服 传奇世界私服