Java编程中纯jdk java方式编写webservice服务(server)和客服端(client)
1.server
编写一个简单的server接口
package com.leftso.ws;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService
public interface CommService {
// 使用@WebMethod注解标注WebServiceI接口中的方法
@WebMethod
String sayHello(String name);
}
编写接口实现:
package com.leftso.ws;
import javax.jws.WebService;
/**
* 使用@WebService注解标注WebServiceI接口的实现类WebServiceImpl
*
* @author leftso
*
*/
@WebService
public class CommServiceImp implements CommService {
@Override
public String sayHello(String name) {
return "Hello ," + name;
}
}
将该接口以webservice方式发布出去:
package com.leftso.ws;
import javax.xml.ws.Endpoint;
public class WebServicePublish {
public static void main(String[] args) {
// 定义WebService的发布地址,这个地址就是提供给外界访问Webervice的URL地址,URL地址格式为:http://ip:端口号/xxxx
// String address = "http://192.168.1.100:8989/";这个WebService发布地址的写法是合法的
// String address =
// "http://192.168.1.100:8989/Webservice";这个WebService发布地址的是合法的
String address = "http://127.0.0.1:9000/WS_Server/Webservice";
// 使用Endpoint类提供的publish方法发布WebService,发布时要保证使用的端口号没有被其他应用程序占用
Endpoint.publish(address, new CommServiceImp());
System.out.println("发布webservice成功!");
System.out.println("请使用:"+address+"?wsdl 访问");
}
}
运行main方法,访问地址http://127.0.0.1:9000/WS_Server/Webservice?wsdl
可以看见wsdl文档如下
2.client
调用,可以用最简单的jdk自带的工具wsimport生成本地Java代码,以类的方式直接调用方法就行
wsimport -keep url_wsdl(自己的wsdl地址)
https://www.leftso.com/article/143.html