加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

GlassFish上开发部署JAX-WS WebService应用( by quqi99 )

发布时间:2020-12-17 02:06:11 所属栏目:安全 来源:网络整理
导读:??????????????????? GlassFish上开发部署JAX-WS WebService应用( by quqi99 ) ? 作者:张华 发表于:2010-01-06 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 ? ? 一、开发服务端 1) 服务端代码如下: package

??????????????????? GlassFish上开发部署JAX-WS WebService应用( by quqi99 )

?

作者:张华 发表于:2010-01-06

版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明

?

?

一、开发服务端

1) 服务端代码如下:

package test;

import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.WebParam;

@WebService()
public class WeatherWS {

??? @WebMethod
??? public String getWeather(@WebParam(name = "city") String city) {
??? ??? return (new StringBuilder(String.valueOf(city))).append(
??? ??? ??? ??? "'s weather is sunny").toString();
??? }
}

注意上面的标签, @WebService(), @WebMethod, @WebParam就不解决了。总之JAX-WS就是一种标准,是

开发webservice程序的一种标准。当然实现生命周期回调时,还有下列标签:

javax.annotation.PostConstruct

javax.annotation.PreDestroy

javax.annotation.PostConstruct

?

2) 使用glassfish的wsgen工具为上述服务端JAVA代码生成WSDL文件

???? bin/wsgen.bat -cp . -wsdl test.WeatherWS

?

3)部署,部署时可以用WAR,也可以用JAR。我是直接把这个目录拷到了glassfish热部署目录下(glassfish/domains/domain1/autodeploy)。

?

4)这样部署成功了,地址为http://quqi99.com:8080//WeatherWS/WeatherWSService?WSDL,你可以通过IE访问

?

二、客户端开发

1)建一个XML文件config.xml,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">
<wsdl location="http://quqi99.com:8080//WeatherWS/WeatherWSService?WSDL" packageName="test">
</wsdl>
</configuration>

?

2)使用glassfish的wscompile.bat命令生成客户端代码:

glassfish/bin/wscompile.bat -gen -keep -d . config.xml

?

3)在客户端代码生成好之后,可以用下列测试应用测试:

package test;
/**
?* @version 0.10 2010-1-6
?* @author Zhang Hua
?*/
public class WeatherClient {

??? public static void main(String[] args) {
??? ??? try {
??? ??? ??? WeatherWSService ws = new WeatherWSService_Impl();
??? ??? ??? WeatherWS stub = ws.getWeatherWSPort();
??? ??? ??? String result = stub.getWeather("bj");
??? ??? ??? System.out.println(result);
??? ??? } catch (Exception e) {
??? ??? ??? e.printStackTrace();
??? ??? }

??? }
}

4)OK

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读