在J ava6 WebServices 服务端 这篇文章中和大家分享了Java6 WebServices 服务端的写法,光有服务端还不行,还要有客户端才行啊。看了一些网友的相关文章,都只给出了服务端的写法,没有说客户端怎么说。经过一番研究,终于搞定了客户端,今天我就和大家分享下。
首先启动 Java6 WebServices 服务端 一文中写好的服务端。
新建个项目webserviceclient。命令行到src目录执行,wsimport -keep http://localhost:5050/HelloService?wsdl
会自动生成以下代码:
package cn.cissco;
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 JAX-WS RI.
* JAX-WS RI 2.1.1 in JDK 6
* Generated source version: 2.1
*
*/
@WebService(name = "Hello", targetNamespace = "http://www.cissco.cn")
@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 cn.cissco;
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;
import javax.xml.ws.WebServiceFeature;
/**
* This class was generated by the JAX-WS RI.
* JAX-WS RI 2.1.1 in JDK 6
* Generated source version: 2.1
*
*/
@WebServiceClient(name = "HelloService", targetNamespace = "http://www.cissco.cn", wsdlLocation = "http://localhost:5050/HelloService?wsdl")
public class HelloService
extends Service
{
private final static URL HELLOSERVICE_WSDL_LOCATION;
static {
URL url = null;
try {
url = new URL("http://localhost:5050/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://www.cissco.cn", "HelloService"));
}
/**
*
* @return
* returns Hello
*/
@WebEndpoint(name = "HelloPort")
public Hello getHelloPort() {
return (Hello)super.getPort(new QName("http://www.cissco.cn", "HelloPort"), Hello.class);
}
/**
*
* @param features
* A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.
* @return
* returns Hello
*/
@WebEndpoint(name = "HelloPort")
public Hello getHelloPort(WebServiceFeature... features) {
return (Hello)super.getPort(new QName("http://www.cissco.cn", "HelloPort"), Hello.class, features);
}
}
然后再写一个测试类ClientTest.java
package cn.cissco;
public class ClientTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
HelloService service = new HelloService();
Hello h = service.getHelloPort();
System.out.println(h.sayHello("Cissco"));
}
}
执行,控制台能输出:"Cissco Say Hello!"
OK 成功,java6编写WebServices就这么简单
分享到:
相关推荐
Java Web Service的客户端实现
WebServices客户端调试工具 wsCaller可执行程序的发布方式为一个wsCaller.jar包,不包含Java运行环境。你可以把wsCaller.jar复制到任何安装了Java运行环境(要求安装JRE/JDK 1.3.1或更高版本)的计算机中,用以下...
webservices客户端开发-java[归纳].pdf
NULL 博文链接:https://zhuchengzzcc.iteye.com/blog/1535745
基于 .NET, Java and MS SOAP Toolkit进行Web Services 的客户端调用程序例子
java webservices例子,文件中包含服务端和客户端,测试通过。 环境:MyEclipse 8.6,jdk:1.6,Tomcat7.x,JBoss 5.x
本文介绍了Java与.NET开发的Web Services相互调用的技术。本文包括两个部分,第一部分介绍了如何用.NET做客户端调用Java写的Web Services,第二部分介绍了如何用Java做客户端调用.NET开发的Web Services。
如Amazon的简单存储服务与Atom发布协议等 ·探讨各种流行编程语言的Web services客户端 ·展示如何用三种流行框架实现RESTful services —— Ruby on Rails、Restlet(基于Java)和Django(基于Python) ·关注实际...
使用gSoap webservice C++客户端调用java 用axis写成的webservices服务端,实现简单功能(加发,乘法,随机数...),使用gsoap的同学可以查看
java调用WebService(客户端)整理.pdf
NULL 博文链接:https://rayoo.iteye.com/blog/1235505
xfire简单实现webservice服务端创建与客户端,实现方法用的代理调用的,不需要服务端的接口。
(五)Java EE 5实现Web服务(Web Services)及多种客户端实例-移动客户端.rar
(四)Java EE 5实现Web服务(Web Services)及多种客户端实例-胖客户端.rar
(三)Java EE 5实现Web服务(Web Services)及多种客户端实例-瘦客户端.rar
(二)Java EE 5实现Web服务(Web Services)及多种客户端实例-实现Web服务.rar
(一)Java EE 5实现Web服务(Web Services)及多种客户端实例-原理.rar
单位刚好有这么一个项目需要于客户端中调用webServices,整理了下资料发上来希望对大家有用。 axis 1.4 一共是三种方式调用: 1传递参数String,得到String 2传递参数String,得到对象Users 3传递对象Users,得到...