微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

                    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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐