学习Java6(一) WebServices (2)客户端

Java6 WebServices (一)服务端这篇文章中和大家分享了Java6 WebServices 服务端的写法,光有服务端还不行,还要有客户端才行啊。看了一些网友的相关文章,都只给出了服务端的写法,没有说客户端怎么说。经过一番研究,终于搞定了客户端,今天偶就和大家分享下。
首先启动 Java6 WebServices (一)服务端一文中写好的服务端。
新建个项目。命令行到src目录执行,
wsimport -keep  http://localhost:8080/HelloService?wsdl
会自动生成一些代码。


package  org.hermit.study.jdk.client;

import  javax.jws.WebMethod;
import  javax.jws.WebParam;
import  javax.jws.WebResult;
import  javax.jws.WebService;
import  javax.jws.soap.SOAPBinding;


/**
 * This class was generated by the JAXWS SI.
 * JAX-WS RI 2.0_02-b08-fcs
 * Generated source version: 2.0
 * 
 
*/
@WebService(name 
=   " Hello " , targetNamespace  =   " http://jdk.study.hermit.org/client " )
@SOAPBinding(style 
=  SOAPBinding.Style.RPC)
public   interface  Hello {


    
/**
     * 
     * 
@param  arg0
     * 
@return
     *     returns java.lang.String
     
*/
    @WebMethod
    @WebResult(partName 
=   " return " )
    
public  String sayHello(
        @WebParam(name 
=   " arg0 " , partName  =   " arg0 " )
        String arg0);

}

package  org.hermit.study.jdk.client;

import  java.net.MalformedURLException;
import  java.net.URL;
import  javax.xml.namespace.QName;
import  javax.xml.ws.Service;
import  javax.xml.ws.WebEndpoint;
import  javax.xml.ws.WebServiceClient;


/**
 * This class was generated by the JAXWS SI.
 * JAX-WS RI 2.0_02-b08-fcs
 * Generated source version: 2.0
 * 
 
*/
@WebServiceClient(name 
=   " HelloService " , targetNamespace  =   " http://jdk.study.hermit.org/client " , wsdlLocation  =   " http://localhost:8080/HelloService?wsdl " )
public   class  HelloService
    
extends  Service
{

    
private   final   static  URL HELLOSERVICE_WSDL_LOCATION;

    
static  {
        URL url 
=   null ;
        
try  {
            url 
=   new  URL( " http://localhost:8080/HelloService?wsdl " );
        } 
catch  (MalformedURLException e) {
            e.printStackTrace();
        }
        HELLOSERVICE_WSDL_LOCATION 
=  url;
    }

    
public  HelloService(URL wsdlLocation, QName serviceName) {
        
super (wsdlLocation, serviceName);
    }

    
public  HelloService() {
        
super (HELLOSERVICE_WSDL_LOCATION,  new  QName( " http://jdk.study.hermit.org/client " " HelloService " ));
    }

    
/**
     * 
     * 
@return
     *     returns Hello
     
*/
    @WebEndpoint(name 
=   " HelloPort " )
    
public  Hello getHelloPort() {
        
return  (Hello) super .getPort( new  QName( " http://jdk.study.hermit.org/client " " HelloPort " ), Hello. class );
    }

}

下面我们再写个测试,看看能不能用:
package  org.hermit.study.jdk.client.test;

import  org.hermit.study.jdk.client.Hello;
import  org.hermit.study.jdk.client.HelloService;


public   class  TestClient {
    
public   static   void  main(String[] args) {
        HelloService service 
=   new  HelloService();
        Hello _hello 
=  service.getHelloPort();
        System.out.println(_hello.sayHello(
" hermit " ));
    }
}
执行。
控制台输出:
hello:hermit

ok!搞定。
java6搞定web service就这么简单。。。。。。。。。。。。。。。。。。。。。。。。。。

xfire危险了。。。。。。。。。。。。。。。。。。。。。。。。
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值