`
victorKevin
  • 浏览: 13748 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

关于JavaWs 快速发布WebService

阅读更多

   1. 运行环境要求   JDK 6.0 version

   2. 系统环境变量

 当在CMD模式下输入 命令 wsgen

  出现 提示 这说明你的环境安装成功了.

 


 

 

先定义一个Interface  代码如下:    (包名用....代替)

java 代码
  1. package  ....;   
  2.   
  3. import javax.jws.WebMethod;   
  4. import javax.jws.WebService;   
  5.   
  6. @WebService  
  7. public interface HelloJaxWs {   
  8.        
  9. @WebMethod  
  10. public String echoMessage(String mes);   
  11.   
  12. }  

 

接口的实现  代码如下:

 

java 代码
  1. package ....   
  2.   
  3. import javax.jws.WebService;   
  4.   
  5.   
  6. @WebService(endpointInterface=".....HelloJaxWs")   
  7. public class HelloJaxWsImpl implements HelloJaxWs {   
  8.   
  9.     @Override  
  10.     public String echoMessage(String mes) {   
  11.            
  12.         return mes;   
  13.     }   
  14.   
  15. }  

 

编译上述两个java文件,得到 .... *.class 后 利用 JDK6.0自带的 wsgen 工具生成 这里的包 .....为test.ws

命令如下图所示:

 wsgen  -cp .      ...HelloJaxWsimpl

 

wsgen工具在 test.ws目录下生成 javaws\辅助类, 具体作用不详细介绍

 

 

java 代码
  1. import javax.xml.bind.annotation.XmlAccessType;   
  2. import javax.xml.bind.annotation.XmlAccessorType;   
  3. import javax.xml.bind.annotation.XmlElement;   
  4. import javax.xml.bind.annotation.XmlRootElement;   
  5. import javax.xml.bind.annotation.XmlType;   
  6.   
  7. @XmlRootElement(name = "echoMessage", namespace = "http://ws.test/")   
  8. @XmlAccessorType(XmlAccessType.FIELD)   
  9. @XmlType(name = "echoMessage", namespace = "http://ws.test/")   
  10. public class EchoMessage {   
  11.   
  12.     @XmlElement(name = "arg0", namespace = "")   
  13.     private String arg0;   
  14.   
  15.     /**  
  16.      *   
  17.      * @return  
  18.      *     returns String  
  19.      */  
  20.     public String getArg0() {   
  21.         return this.arg0;   
  22.     }   
  23.   
  24.     /**  
  25.      *   
  26.      * @param arg0  
  27.      *     the value for the arg0 property  
  28.      */  
  29.     public void setArg0(String arg0) {   
  30.         this.arg0 = arg0;   
  31.     }   
  32.   
  33. }   

 

 


 

java 代码
  1. import javax.xml.bind.annotation.XmlAccessType;   
  2. import javax.xml.bind.annotation.XmlAccessorType;   
  3. import javax.xml.bind.annotation.XmlElement;   
  4. import javax.xml.bind.annotation.XmlRootElement;   
  5. import javax.xml.bind.annotation.XmlType;   
  6.   
  7. @XmlRootElement(name = "echoMessageResponse", namespace = "http://ws.test/")   
  8. @XmlAccessorType(XmlAccessType.FIELD)   
  9. @XmlType(name = "echoMessageResponse", namespace = "http://ws.test/")   
  10. public class EchoMessageResponse {   
  11.   
  12.     @XmlElement(name = "return", namespace = "")   
  13.     private String _return;   
  14.   
  15.     /**  
  16.      *   
  17.      * @return  
  18.      *     returns String  
  19.      */  
  20.     public String get_return() {   
  21.         return this._return;   
  22.     }   
  23.   
  24.     /**  
  25.      *   
  26.      * @param _return  
  27.      *     the value for the _return property  
  28.      */  
  29.     public void set_return(String _return) {   
  30.         this._return = _return;   
  31.     }   
  32.   
  33. }   

 

然后我们须要编写一个发布WebService的客户类:

代码如下:

java 代码
  1. import javax.xml.ws.Endpoint;   
  2.   
  3. import test.ws.HelloJaxWsImpl;   
  4.   
  5. public class PubWs {   
  6.  public static void main(String[] args){   
  7.      Endpoint.publish("http://localhost:8080/ws/HelloService",new HelloJaxWsImpl());   
  8.  }   
  9. }  

 

到这里发布WebService 的工作已经结束,大家可以运行 PubWs 然后打开浏览器输入 

http://localhost:8080/ws/HelloService?wsdl

假如出现

wsdl 的定义就

 

 

 

表示发布成功

 

接下来的工作就是开发客户端

保持运行PubWs 这个程序

生成wsdl的存根(stud)用很多种方法,可以用Axis 中的wsdl2java;

这里我们就直接用jdk1.6中的wsimport

wsimport   http://localhost:8080/ws/HelloService?wsdl 运行这个命令就可以简单的生成客客端了

 

然后编写TestWs类测试WebService

代码如下:

java 代码
  1. public class TestWs {   
  2.   
  3.     /**  
  4.      * @param args  
  5.      */  
  6.     public static void main(String[] args) {   
  7.           
  8.         HelloJaxWsImplService service = new HelloJaxWsImplService();   
  9.         HelloJaxWs caller =service.getHelloJaxWsImplPort();   
  10.         String mes =(String)caller.echoMessage("victor");   
  11.         System.out.println("message: "+mes);   
  12.   
  13.     }   
  14.   
  15. }   

 

 

输出结果为  message: I am victorkevin

到此快带发布WebService的工作结束

分享到:
评论

相关推荐

    javawsjavaws

    Java Web Start(简称javaws)是Oracle公司推出的一种基于Java技术的应用程序启动工具,它允许用户通过网络浏览器方便地下载和运行Java应用程序。这个技术在Java SE(标准版)环境中被广泛使用,尤其是那些需要跨...

    javaws.jar 包

    javaws.jar 包

    javaws.jar

    javaws.jar

    JAVAWS.JAR

    javaws.jar

    C#调用JavaWebService(客户端)

    本主题将深入探讨如何使用C#作为客户端来调用Java编写的WebService。WebSocket服务提供了平台无关的通信方式,使得不同编程语言间的数据交换变得可能。下面我们将详细讨论这个过程。 首先,了解WebService的基本...

    JavaWSTutorial_javaws_

    Java Web Service教程 (JavaWSTutorial) 是一个深入学习如何构建和使用Web服务的资源,尤其专注于Java技术栈。...在这个教程中,你将学习到如何利用Java平台的特定工具和技术来创建、部署和消费Web服务。...

    一个利用WebService例子

    【标题】:一个利用WebService例子 【描述】:这个例子主要展示了如何使用JavaWS和CXF框架来开发和实现Web服务。JavaWS是Java中用于创建Web服务的标准API,而CXF是一个开源的服务框架,它支持多种Web服务标准,如...

    javaws工具包.rar

    与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何...

    webservice开发实例

    UDDI是WebService的一个目录服务,它允许发布和查找Web Service。服务提供者可以在UDDI注册他们的服务,而服务消费者则可以通过UDDI发现所需的服务。 5. **JavaWs(Java Web Service)开发**: 在Java环境中,...

    java和 javaw 及 javaws的区别解析

    "java和 javaw 及 javaws的区别解析" java和 javaw 及 javaws都是java虚拟机(JVM)的启动装置,但是它们之间存在一些关键的区别。java.exe是一个Win32控制台应用,提供了一种帮助,代替使用jvm.dll执行java ...

    javaws.exe

    javaws.exe

    Windows下java、javaw、javaws以及jvm.dll等进程的区别

    在Windows操作系统中,Java开发和运行涉及多个进程和组件,其中`java.exe`、`javaw.exe`、`javaws.exe`以及`jvm.dll`各自扮演着不同的角色。了解这些区别有助于更好地管理和优化Java应用程序的运行。 1. **java.exe...

    java使用webserver发布服务端和客户端

    Java WebServer是一个轻量级的HTTP服务器,常用于测试和快速部署Java应用程序,尤其是Web服务。JAX-WS(Java API for XML Web Services)是Java平台上的标准,用于创建和消费Web服务。在这个项目中,我们将探讨如何...

    CP2JavaWS-开源

    CP2JavaWS是从Cappuccino到Java的远程服务桥,具有透明的语法,复杂的对象图管理,摘要和ldap身份验证,授权,实时远程数据浏览以及通过单行代码创建主视图/详细视图。 更新:新的Direct2CP项目增加了对php,修复和...

    javafx18压缩包快速下载

    - **bin**目录:包含可执行文件,如`java`和`javaws`,以及用于运行和调试JavaFX应用程序的命令行工具。 - **lib**目录:包含JavaFX的库文件(JARs),这些文件是JavaFX应用程序所依赖的。 - **docs**目录:可能包含...

    corba-javaws-ssl:使用 Web Start 应用程序通过 SSL 测试 CORBA IIOP 的示例应用程序

    corba-javaws-ssl 使用 Web Start 应用程序通过 SSL 测试 CORBA IIOP 的示例应用程序设置该项目需要安装 JacORB 3.5 以进行 IDL 编译和运行 CORBA 命名服务 webapp 应用程序配置为部署在 JBoss EAP 6.3.0 服务器中。...

    javaws:Java契约第一个soap WS示例

    Java Java 契约第一个 Web 服务示例 (SOAP) 安装指南 安装 Java jdk 1.7 安装 Maven 3.x 设置环境变量 JAVA_HOME 设置环境变量 MAVEN_HOME 将 JAVA_HOME\bin 和 MAVEN_HOME\bin 放在环境变量 Path 上 ...

Global site tag (gtag.js) - Google Analytics