您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页webservice简单应用

webservice简单应用

来源:爱go旅游网
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;

/**
 *
 * 基于soap协议(http+xml)的服务
 */
@WebService(name = "Login",// 定义Port名称
        serviceName = "MyService", // 修改WebService服务名称
        targetNamespace = "http://com.jhb.webService" // 定义命名空间,默认为倒置的包名
)
public interface MyService {
    // 提供一个对外公开的服务
    @WebMethod(operationName = "authorization")
    // 修改方法名
    String authorization(@WebParam(name = "userId") String userId,
                         @WebParam(name = "password") String password);

    // 提供一个对外公开的服务
    @WebMethod(operationName = "authorization1")
    // 修改方法名
    String authorization1(@WebParam(name = "userId") String userId);
}

  1. 实现服务接口
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;

/**
 * 服务实现类
 */
@WebService(endpointInterface = "com.jhb.webService.MyService",
        name = "Login",// 定义Port名称
        serviceName = "MyService", // 修改WebService服务名称
        targetNamespace = "http://com.jhb.webService" // 定义命名空间,默认为倒置的包名
//服务实现类和接口的注解要一样全
)
public class MyServiceImpl implements MyService {

    @WebMethod(operationName = "authorization" // 修改方法名
    )
    @Override
    public String authorization(@WebParam(name = "userId") String userId,
                                @WebParam(name = "password") String password) {
        if ("admin".equals(userId) && "123456".equals(password)) {
            return "success";
        }
        return "error";
    }

    @Override
    public String authorization1(@WebParam(name = "userId") String userId) {
        return null;
    }
}

  1. 运行main方法发布服务,看到控制台打印出 :发布服务成功
  2. 在浏览器上输入地址查看服务接口
  3. 编写原生客户端
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import java.net.URL;

/**
 * 原生客户端调用
 */
public class WsClient {

    public static void main(String[] args) throws Exception {
        URL url = new URL("http://localhost:80/myservice?wsdl");
        // 指定命名空间和服务名称
        QName qName = new QName("http://com.jhb.webService", "MyService");
        Service service = Service.create(url, qName);

        // 通过getPort方法返回指定接口
        MyService myServer = service.getPort(new QName("http://com.jhb.webService",
                "LoginPort"), MyService.class);

        // 调用方法 获取返回值
        String result = myServer.authorization("admin", "123456");

        System.out.println(result);
    }
}
  1. 运行客户端main方法 返回 success 表示调用成功

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务