JAX-WS 学习二:创建客户端

上一节中介绍了怎么基于JAX-WS的API创建服务端,这一节介绍一下创建一个客户端调用WebService服务。

 

要创建一个Client端也相当简单,不过需要知道几个东西:

 

1. wsdl文件路径

 

需要读取服务端提供的wsdl定义文件。例如:

URL url = new URL("http://localhost:8088/calculate?wsdl");

 

2. 要调用的Service的QName

 

一个wsdl中可能定义了多个Service,所以需要指定要调用的service名。例如:

QName qName = new QName("http://test/",
				"CalculatorImplService");

 

 

3. 创建Service

 

有了wsdl的service的qname以后,就可以创建对应的service对象了:

Service service = Service.create(url, qName);

 

4. 取得相应的Port

 

有了Service,然后就可以取得Service中的某个Port,例如:

Calculator port = service.getPort(Calculator.class);

 这里有几点可能需要说明:

  1.  
    1. getPort()方法的参数:这个方法总是需要指定一个serviceEndpointInterface的类对象serviceEndpointInterface类需要加@WebService的annotation
    2. serviceEndpointInterface的targetNamespace需要匹配对应的portType的namespace。默认是"http://包名/",必要时需要定义@WebService的targetNamespace属性加以改变
    3. serviceEndpointInterface的name总是需要匹配要调用的PortType的name。默认是类名,必要时需要指定@WebService的name属性加以改变
    4. serviceEndpointInterface中需要有对应于要调用的operation的方法定义
    5. 最后调用方法

5. 调用方法

 

最后相应的信息都取到以后,就可以调用希望的方法了,例如:

System.out.println(port.add(1, 2));

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值