编写并发布webService接口
1. 编写webService接口
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService(name = "Login",// Port名称
serviceName = "testService", // WebService服务名称
targetNamespace = "http://webService.test.com" // 命名空间,默认为倒置的包名
)
public interface TestService {
// 提供一个对外公开的服务
@WebMethod(operationName = "loginPass")
// 修改方法名
String loginPass(@WebParam(name = "userId") String userId,@WebParam(name = "password") String password);
}
2. 编写接口实现类
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
/**
1. 实现类
*/
@WebService(endpointInterface = "com.thinkgem.jeesite.common.webService.MyService",//接口路径
name = "Login",// Port名称
serviceName = "testService", // WebService服务名称
targetNamespace = "http://webService.test.com" // 命名空间,默认为倒置的包名(如果调用时生成代码,则com.test.webService为代码的包路径)
)
public class TestServiceImpl implements TestService {
@WebMethod(operationName = "loginPass" // 修改方法名
)
@Override
public String loginPass(
@WebParam(name = "userId") String userId,
@WebParam(name = "password") String password) {
if ("admin".equals(userId) && "123".equals(password)) {
return "success";
}
return "error";
}
}
3. 发布webService接口服务
import javax.xml.ws.Endpoint;
public class TestPublisher {
public static void main(String[] args) {
//指定服务url
String url = "http://localhost:8089/testservice";
//指定服务实现类
TestService server = new TestServiceImpl();
//采用命令行发布者Endpoint发布服务
Endpoint.publish(url, server);
}
}
4. 测试看webService接口服务是否发布成功
浏览器访问发布时设置的url + ?wsdl,如:http://localhost:8089/testservice?wsdl
如果显示:
5. webService接口调用