`

jee6 学习笔记 7.2 - use "wsimport" to create a command line web service client

    博客分类:
  • JEE
阅读更多
"wsimport" is a tool from the JAX-WS module. Sine from version 2.0, JAX-WS is a standard part of the JDK, it should be installed already and available to you if you have JDK1.6 installed on your box.

"wsimport" helps to generate the classes to consume a web service. the only required information is the wsdl file. it would generate the java classes for "marshalling/unmarshalling" the SOAP request/response payload. That is, from xml to Java classes and vice versa.

Here's its usage:
Usage: wsimport [options] <WSDL_URI>

Examples:
  wsimport stock.wsdl -b stock.xml -b stock.xjb
  wsimport -d generated http://example.org/stock?wsdl


There're two options that are quite useful:

-p: this option let you define the package name for the generated stuff.
-keep: this option signals the tool to keep the generated source code.

Here's the command line used to invoke the tool:
wsimport -p test.jxee.ws.gen -keep http://localhost:8180/ProJee6/StudentDAOImp?wsdl


Screen shot of invoking "wsimport"



The generated java classes can then be used to create web service client:

StudentWsClient.java
package test.jxee.ws.client;

import java.util.List;

import test.jxee.ws.gen.Student;
import test.jxee.ws.gen.StudentDAOImp;
import test.jxee.ws.gen.StudentDAOImpService;

/**
 *  command line tester client for the StudentDAOImpService 
 */
public class StudentWsClient {

  public static void main(String[] a) {
    System.out.println(">>> testing the StudentDAOImpService......");
    
    // get the service port
    StudentDAOImpService service = new StudentDAOImpService();
    StudentDAOImp port = service.getStudentDAOImpPort();
    
    System.out.println(">>> calling StudentDAOImp service...");
    
    // call the service operation find
    String namefilter = "jason";
    List<Student> studentList = port.find(namefilter, 10);
    
    int listsize = (studentList != null ? studentList.size() : 0);
    System.out.println(">>> printing returned student list, size: " + listsize);
    for(Student s : studentList) {
      System.out.println("-------------------------------");
      System.out.println("name: " + s.getName());
      System.out.println("age: " + s.getAge());
      System.out.println("mobile: " + s.getMobile());
      System.out.println("created date: " + s.getCreatedDate());
    }
    
    System.out.println(">>> testing the StudentDAOImpService..done");
  }
}



Here's the result running the web service client:

C:\tmp\wstest\jwtest2>java -cp C:\JwangDev\ProJee6\build\classes test.jxee.ws.client.StudentWsClient
>>> testing the StudentDAOImpService......
>>> calling StudentDAOImp service...
>>> printing returned student list, size: 1
-------------------------------
name: jason
age: 11
mobile: 02189898
created date: 2012-07-19T15:39:03+12:00
>>> testing the StudentDAOImpService..done

C:\tmp\wstest\jwtest2>
C:\tmp\wstest\jwtest2>

  • 大小: 26.1 KB
分享到:
评论

相关推荐

    开发工具 eclipse-jee-mars-2-win32

    开发工具 eclipse-jee-mars-2-win32开发工具 eclipse-jee-mars-2-win32开发工具 eclipse-jee-mars-2-win32开发工具 eclipse-jee-mars-2-win32开发工具 eclipse-jee-mars-2-win32开发工具 eclipse-jee-mars-2-win32...

    eclipse-jee-mars-1-win32-x86_64.7z

    eclipse-jee-mars-1-win32-x86_64.7z eclipse-jee-mars-1-win32-x86_64.zip 我打的 7z 压缩包 关于有 Alt + / 不起作用解决办法: window -&gt; General -&gt; Keys -&gt; Content Assist -&gt; Binding: 改为 Alt + / When:...

    eclipse-jee-2023-09-R-linux-gtk-x86-64.tar.gz

    "eclipse-jee-2023-09-R-linux-gtk-x86_64.tar.gz" 文件是Eclipse专为Java企业版(Java EE)开发者设计的2023年9月版本,适用于64位的Linux操作系统。这个版本包含了对Java EE开发所需的全部工具和功能,如Web服务器...

    eclipse-jee-2021-12-R-win32-x86_64.zip

    Eclipse IDE for Enterprise Java and Web Developers (eclipse-jee-2021-12-R-win32-x86_64.zip)适用于Windwos x86_64

    eclipse-jee-2022-06-R-win32-x86_64.zip

    在解压eclipse-jee-2022-06-R-win32-x86_64.zip后,我们会得到一个名为“eclipse”的文件夹,这个文件夹包含了整个IDE的所有组件和配置。启动Eclipse IDE,用户会看到熟悉的界面,包括工作区(Workspace)、透视图...

    eclipse-jee-mars-R-win32-x86_64位官方绿色版.zip

    Eclipse-jee-mars-R-win32-x86_64位官方绿色版.zip是一个针对Windows平台的64位版本的Eclipse集成开发环境(IDE)的压缩包,特别为Java企业级(J2EE)应用程序开发设计。该版本发布于2015年6月30日,是当时Eclipse ...

    jee6 学习笔记 6.3 - @Asynchronous

    在Java企业版(Java EE)6中,`@Asynchronous`注解是一个非常重要的特性,它使得开发者可以方便地在应用程序中实现异步处理。这个注解是Java EE并发编程的一部分,主要应用于EJB(Enterprise JavaBeans)环境,用于...

    eclipse-jee-2020-09-R-win32-x86_64.zip

    标题中的“eclipse-jee-2020-09-R-win32-x86_64.zip”指的是Eclipse IDE for Java EE Developers的2020年9月版本,适用于Windows 32位和64位系统的安装包。Eclipse是一款著名的开源集成开发环境(IDE),广泛用于...

    eclipse-jee-2021-12-R-win32-x86_64

    eclipse-jee-2021-12-R-win32-x86_64 eclipse-jee-2021-12-R-win32-x86_64 eclipse-jee-2021-12-R-win32-x86_64

    eclipse-jee-neon-1a-win_64

    eclipse-jee-neon-1a-win_64

    eclipse-jee-2020-12-R-win32-x86_64

    《Eclipse IDE for Java开发者:深入解析eclipse-jee-2020-12-R-win32-x86_64》 Eclipse IDE,全称集成开发环境(Integrated Development Environment),是全球广泛使用的开源Java开发工具。该版本"eclipse-jee-...

    eclipse-jee-2018-09-win32-x86_64.zip

    标题 "eclipse-jee-2018-09-win32-x86_64.zip" 提供的信息表明这是一款针对Java企业级开发的Eclipse集成开发环境(IDE)的2018年9月版本,适用于Windows 32位操作系统、x86_64架构的计算机。Eclipse是一个开源的、跨...

    eclipse-jee-2023-09-R-win32-x86-64.zip

    "eclipse-jee-2023-09-R-win32-x86_64.zip" 是Eclipse针对2023年9月发布的一个更新版,专为Windows 64位操作系统设计。 在Windows系统上安装和使用Eclipse-JEE,你需要了解以下关键知识点: 1. **安装步骤**: - ...

    eclipse-jee-2023-06-R-win32-x86-64.zip

    在Eclipse JEE版本中,这些功能得到了进一步增强,特别是对于Java EE应用程序的开发,如Web服务、Java服务器页面(JSP)、JavaServer Faces(JSF)以及Enterprise JavaBeans(EJB)等,提供了全面的工具集和模板。...

    eclipse-jee-2019-03-R-win32-x86-64.zip

    Eclipse-JEE-2019-03-R-win32-x86-64.zip 是一个专门为Windows 64位系统设计的Eclipse版本,包含了Web开发所需的插件。 这个版本是2019年的第三个发布版(Release),通常每个版本都会带来性能优化、新功能和修复...

    eclipse-jee-2023-09-R-macosx-cocoa-x86-64.dmg

    eclipse-jee-2023-09-R-macosx-cocoa-x86_64.dmg 适用于macOS Intel芯片系统

    jee6 学习笔记 1 - 开发环境的配置

    NULL 博文链接:https://jxee.iteye.com/blog/1575432

    jee6 学习笔记 5 - Struggling with JSF2 binding GET params

    这篇"jee6 学习笔记 5 - Struggling with JSF2 binding GET params"主要探讨了开发者在使用JSF2绑定GET参数时可能遇到的挑战和解决方案。 JSF2是一个基于MVC(模型-视图-控制器)设计模式的Java框架,用于创建交互...

    eclipse-jee-2022-09-R-win32-x86-64.zip

    开始使用Eclipse JEE 2022-09 R,首先需要下载"eclipse-jee-2022-09-R-win32-x86_64.zip"压缩包,解压后运行“eclipse.exe”。初次启动,用户需要配置工作空间,选择Java开发工具,以及根据项目需求添加服务器...

    eclipse-jee-oxygen-3-win32.rar

    "eclipse-jee-oxygen-3-win32.rar" 是一个针对Windows 32位系统的Eclipse版本,专为Java企业级开发(JEE)设计。这个版本是Eclipse Oxygen系列的第三个发布版,它包含了众多开发者所需的工具和特性,旨在提升开发...

Global site tag (gtag.js) - Google Analytics