WebService学习笔记系列(一)
webservice主要是解决两个系统或者两个应用程序之间的远程调用,它提供了一种通过web方式访问的api,调用是跨语言、跨平台的。 在服务端调用webservice服务时,我们可以通过Java jdk自带的一个命令wsimport,根据服务说明书生成本地Java代码,我们直接操作这些Java代码就可以调用webservice. 发布程序,运行main方法,即表示发布: public class PublishService {
public static void main(String[] args) {
//java提供了一个专门的类,用来用来将一个Java应用程序发布成webservice
/** * 两个参数,分别是 * 1.服务类对外的访问地址 * 2.服务类的一个实例 */
Endpoint.publish("http://127.0.0.1:8888/helloService",new HelloService());
}
}
所发布的类: //被发布的类上面必须有@WebService注解
@WebService
public class HelloService {
/** * 被发布的类中必须包含一个非静态的,非final的public方法 */
public void helloWebService(){
System.out.println("hello webservice!");
}
public User getUser(){
return new User("张三","zhangsan");
}
}
User.java public class User {
private String username;
private String nickname;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public User(String username,String nickname) {
this.username = username;
this.nickname = nickname;
}
}
通过wsimport获得服务器端的类: 成功获得服务器端的类,在F盘可以看到这些类,然后新建一个客户端project,把这些类拷贝进去,在客户端直接操作这些类就可以访问服务端程序: 客户端程序: public class MyTest {
public static void main(String[] args) {
HelloService helloService = new HelloServiceService()
.getHelloServicePort();
User user = helloService.getUser();
System.out.println(user.getNickname()+","+user.getUsername());
}
}
客户端输出: 成功拿到服务端数据。 如果调用helloWebService()方法 public class MyTest {
public static void main(String[] args) {
HelloService helloService = new HelloServiceService()
.getHelloServicePort();
helloService.helloWebService();
}
}
则服务端输出: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |