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

    wsgen是一个命令行功能用来生成合适的JAX-WS。它读取WebService的终端类文件,在我们的例子中就是com.techyatra.hellows.HelloServer,同时生成所有用于WebService发布的源代码文件和经过编译过的二进制类文件。它还随意生成WSDL和符合规范的HelloServer类WebService。wsgen从资源文件生成一个完整的操作列表是合法的。

    为了方便,这篇文章的源代码mustangws文件夹中包含了一个wsgenHello.bat批处理文件,里面包含了我们的Server项目中所需要的wsgen命令行的操作。

    运行mustangws中的mustangws/wsgenHello.bat文件产生HelloExceptionBean源文件和编译过的class文件放入com.techyatra.hellows.jaxb文件夹中。这些类绑定了关于Java-XML的所有操作。

     现在我们有了发布WebService的所有需要的条件,在我们发布这个服务之前,让我们再看一看将运行过程加入到WebService的调用队列。这个相当敏捷万一所有的通用过程都是调用这些服务所需要的过程,如此执行过程对所有的操作者来说都是合法的。操作者允许应用程序介绍自定义和核心商业需求域之外的特殊处理。这个操作者同样会执行安全检查,据使用统计,编码和解码数据,提供给其它模块开发者使用。

Handlers
    从客户端(服务消费者)发送到服务端(服务提供者)的SOAP消息通过Java SE6中的JAX-WS处理管道来完成。Java SE 6提供了一个位于javax.xml.ws.handler包内的名为Handler的操作者解释器,能够插入到执行管道用来执行自定义、特殊应用程序程序传送绑定或者没有绑定的消息。两种Handler的类型都是合法的:logical和SOAP。SOAP操作者能够操作所有完整的SOAP消息,包括SOAP头部和SOAP的主体,而logical操作者仅仅能够操作SOAP主体有负载的部分。

    我们的服务器包括了com.techyatra.hello.TraceHandler SOAP 操作者。它解释了没有绑定和经过绑定的SOAP消息,而且将内容输出在System.out显示出来:

/*
* TraceHandler.java
* @author shahga
*/
package com.techyatra.hellows;
...
public class TraceHandler implements SOAPHandler<SOAPMessageContext>
{
...    
    public boolean handleMessage(SOAPMessageContext messageContext)
    {
        trace(messageContext);
        return true;
    }
    
    public boolean handleFault(SOAPMessageContext messageContext)
    {
        trace(messageContext);
        return true;
    }
   ...
    
    private void trace(SOAPMessageContext messageContext)
    {
        Boolean outMessageIndicator = (Boolean)        
        messageContext.get (MessageContext.MESSAGE_OUTBOUND_PROPERTY);
        
        if (outMessageIndicator.booleanValue())
        {
            System.out.println("\nOutbound SOAP:");
        }
        else
        {
            System.out.println("\nInbound SOAP:");
        }
        
        SOAPMessage message = messageContext.getMessage();
        try
        {
            message.writeTo(System.out);
            System.out.p

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


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