本次实现主要用eclipse 来生成服务
本次的服务生成主要从两方面进行总结,第一是服务的生成,第二是客户段请求服务
服务生成
本次实施主要再eclipse 上执行
(1)生成web 项目
生成一个动态web项目就可以了,不懂查看相应的资料,然后在目录下创建以下文件
package com.java;
public interface FisrtWebService {
String getAddressByPhoneNo(String phoneNo);
}
package com.java;
import javax.jws.WebService;
@WebService
public class FisrtWebServiceImpl implements FisrtWebService {
public String getAddressByPhoneNo(String phoneNo) {
return phoneNo + ": 归属地是上海";
}
package com.java;
import javax.xml.ws.Endpoint;
public class PublishServerTest {
public static void main(String[] args) {
//参数1:服务被访问的url ip+端口号+服务名
//参数2:实现类
Endpoint.publish("http://localhost:9999/getAddress", new FisrtWebServiceImpl());
System.out.println("服务发布成功");
//查看WebService服务是否启动 url+?wsdl
//http://localhost:9999/getAddress?wsdl是否能显示
}
}
(2)运行 main 函数。
(3)访问 实现类中的地址,可以看到
(4) 通过以下指令生成生成class 文件
Microsoft Windows [版本 10.0.17134.885]
(c) 2018 Microsoft Corporation。保留所有权利。
C:\Users\86183\Desktop\ttemp>wsimport -s D:\workspace_java\testwebservice\src -keep http://localhost:9999/getAddress?wsdl
正在解析 WSDL...
正在生成代码...
正在编译代码...
C:\Users\86183\Desktop\ttemp>
服务调用
这里还提供了另外两种调用方式,没验证;
调用时需要引入以上两个文件,不然会报错;
https://www.cnblogs.com/start-fxw/p/7691244.html
运行结果为上图,看到 手机号没有上传到服务,这个以后再检查是怎么回事;
总结
第一次将webservice 进行了发布,并调用成功,主要的坑在 服务调用,不知道怎么调用,查了几个资料才搞明白。