易截截图软件、单文件、免安装、纯绿色、仅160KB

Java Web服务之“从WSDL文档中生成客户端支持代码”


本文节选自《Java Web服务:构建与运行》2.1.1节
从WSDL文档中生成客户端支持代码(Generating Client-Support Code from a WSDL)
通过Java提供的“wsimport”工具可以很容易完成基于SOAP协议的Web服务客户端生成工作。这个工具可以从对应的WSDL文档的服务描述中生成客户端支持代码或其他相关资源。输入并执行如下命令:
% wsimport
执行后,将会打印出该命令程序的使用帮助。下面我们将通过此命令工具为TimeServer服务产生客户端开发的相关支持代码。
启动ch01.ts.TimeServerPublisher程序后,执行如下命令:
% wsimport -keep -p client http://localhost:9876/ts?wsdl
执行后将会在“client”子目录下面产生两个源代码文件和两个与之对应的已经编译好的Class文件。命令行最后面的URL地址,和前面最初由Perl、Ruby和Java语言编写的客户端请求Web服务对应的WSDL文档时所给出的服务契约地址一样。“-p”选项用来指定生成的Java包名称,此处使用“client”作为包名称。包名称可以是符合Java包命名规则的任何名称,wsimport工具通过指定的包名称创建包对应子目录。“-keep”选项用来指示是否保留编译后的源文件,这个例子中,我们保留源文件留作验证。“-p”选项是比较重要的,这是由于wsimport命令产生的TimeServer.class文件名称同先前编译的服务端点接口(SEI,Service Endpoint Interface)拥有同样的名字。如果没有指定包名称,wsimport默认使用服务实现的包名称作为客户端代码包名称,此处将会默认使用“ch01.ts”作为包名称。简单来说,使用“-p”选项可以防止编译好的SEI文件不被wsimport工具产生的文件覆盖。如果已经将WSDL文档保存在本地(比如,文件被命名为ts.wsdl),那么,wsimport可以写成:
% wsimport -keep -p client ts.wsdl
示例2-2和示例2-3是由wsimport所生成的两个Java源文件,不过这里删除了wsimport工具生成的注释内容。
示例2-2:由wsimport生成的TimeServer服务接口
package client;
 
import javax.jws.WebMethod;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
 
@WebService(name = "TimeServer", targetNamespace = "http://ts.ch01/")
@SOAPBinding(style = SOAPBinding.Style.RPC)
public interface TimeServer {
    @WebMetho


相关文档:

java的发射机制

Person p=new Person();
这是什么?当然是实例化一个对象了.可是这种实例化对象的方法存在一个问题,那就是必须要知道类名才可以实例化它的对象,这样我们在应用方面就会受到限制.那么有没有这样一种方式,让我们不知道这个类的类名就可以实例化它的对象呢?Thank Goodness!幸亏我们用的是java, java就提供了这样的机制.
1).ja ......

在Java中实现浮点数的精确计算

标题     在Java中实现浮点数的精确计算    AYellow(原作) 修改   
关键字     Java 浮点数 精确计算  
问题的提出:
如果我们编译运行下面这个程序会看到什么?
public class Test{
    public static void mai ......

JAVA中防止SQL注入攻击类的源代码

JAVA-字符串过滤类
package cn.com.hbivt.util;
/**
* Title:
*
* Description:
*
* Copyright: Copyright (c) 2005
*
* Company:
*
* @author not attributable
* @version 1.0
*/
public class StringUtils {
   ......

MonoRail 09/12/2(java TO .Net)

MonoRail是经典的MVC模式,所以其中也具有三个元素Model,Controller,View,其中MonoRail是通过Url地址来解析
相应的操作的,如当你访问:/home/index.rail,对应会执行HomeController类中的Index方法,而且可以自动绑定参数和
Request的数据,如访问:/home/index.rail?id=1,你可以在HomeController类中的Index方法中定义一个参数 ......

理解Java类加载原理

第一部分. 提示
我需要读这篇文章吗?
Java类加载器对Java系统的运行是至关重要的,但是却常常被我们忽略。Java类加载器负载
在运行时查找和加载类。自定义类加载器可以完全改变类的加载方式,以自己喜欢的方式来
个性化你的Java虚拟机。本文简要的介绍Java类加载器,然后通过一个构造自定义类加载器
的例子来说明,这 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号