通过普通类写一个简单的Web Service并发布

本篇文章主要是在本地通过普通类编写并发布WebService,通过Web项目来编写WebService在我的下一篇文章中会讲到

Web项目通过Servlet编写一个接口,部署在远程服务器上,供他人调用

接下来回归正题,首先创建一个简单的java项目
这里写图片描述

然后创建三个文件如上图所示(个人习惯把各个方法写在对应的类中,如果你习惯都写在同一个类中,那么也是可以的)

这三个文件分别是

IWebService.java

注意:一定要写 @WebService 注解

package cn.xuzihui.itf;

import javax.jws.WebService;

@WebService
public interface IWebService {
	String sayHello(String name);
}

WebServiceImpl.java

注意:一定要写 @WebService 注解

package cn.xuzihui.impl;

import javax.jws.WebService;

import cn.xuzihui.itf.IWebService;

@WebService
public class WebServiceImpl implements IWebService {
	@Override
	public String sayHello(String name) {
		String hello = name + "Hello World!";
		return hello;
	}
}

WebService.java

package cn.xuzihui.main;

import javax.xml.ws.Endpoint;

import cn.xuzihui.impl.WebServiceImpl;

public class WebService {

	public static void main(String[] args) {
		String address = "http://127.0.0.1:9001/Service/ServiceTest";
		Endpoint.publish(address, new WebServiceImpl());
		System.out.println("service success");
	}

}

Endpoint.publish()方法有两个参数:
第一个参数是测试的 ip+端口号
第二个是实现类(或者说是本类)

然后启动服务: Java Application

在控制台会输出成功的信息

这里写图片描述

我们在浏览器中访问上面定义的测试 ip 地址后面加 ?wsdl

http://127.0.0.1:9001/Service/ServiceTest?wsdl

这里写图片描述

说明发布成功

接下来我们写个 Web Service Client 来调用我们写的WebService

我们在建一个java 项目,命名为 WebServiceTestClient

这里写图片描述

创建 Web Service Client 有不同的方法,我们现在用 eclipse 自带的 Web Service Client 来创建

在新建的java 项目 WebServiceTestClient 上鼠标单击右键->新建->其他->Web Service Client

这里写图片描述

这里写图片描述

service definition 是我们上面的定义的测试地址 ip + ?wsdl

http://127.0.0.1:9001/Service/ServiceTest?wsdl

点击完成,会在我们新建的client项目下自动生成一些类

这里写图片描述

注意:下面的 WebServiceClientTest.java是我下一步要创建的测试类

WebServiceClientTest.java

package cn.xuzihui.test;

import cn.xuzihui.impl.WebServiceImpl;
import cn.xuzihui.impl.WebServiceImplServiceLocator;

public class WebServiceClientTest {

	public static void main(String[] args) throws Exception {
		WebServiceImpl test = new WebServiceImplServiceLocator().getWebServiceImplPort();
		String message = test.sayHello("赛罗");
		System.out.println(message);
	}

}

运行这个类(WebService的发布类 WebService.java 不要停止)

在下面的控制台会输出调用 webservice 后的结果

如果出现下面的警告

这里写图片描述

可能是缺少两个jar包

这里写图片描述

需要下载这两个jar包导入到 Client 项目下

下载地址
https://download.csdn.net/download/bronzehammer/10608421

在项目中新建一个 lib文件夹,把这两个jar包放在lib中,并在项目中添加外部jar

这里写图片描述

这里写图片描述

之后我们重新启动服务,在控制台会输出如下所示

这里写图片描述

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值