WebService接口的调用

WebService接口的调用

首先看看地址是否可以调通如下:
在这里插入图片描述

1.需要生成基础代码

1.创建Web Service Project,命名为TheClient2.在dos命令下输入 wsimport -s “src目录” -p “生成类所在包名” -keep “wsdl发布地址”
示例:wsimport -s G:\workspace\webService\webService_Project\src -p com.pcm.ws.jws -keep http://192.168.1.17:8189/Service/ServiceHello?wsdl
3.成功则返回 parsing WSDL…
generating code…
compiling code…
4.刷新项目,生成类;



5.●  wsimport常用参数
-d:默认参数,用于生成.class文件
-s:生成.java文件
-p:指定生成java文件的包名,不指定则为WSDL说明书中namespace值得倒写

2.将生成的代码copy到客户端工程中

如下:
在这里插入图片描述
3.自己创建测试类代码如下:


public class TestSendSMS {


    @SneakyThrows
    public static void main(String[] args) throws MalformedURLException {
        String url = "http://**/SGIN.wsdl.ws";
        RbjkSmsService_Service s = new RbjkSmsService_Service(new URL(url));
        //登陆获取登陆sessionId
        SY_ORG_LOGINService ser = s.getRbjkSmsServicePort();
        String sessionId = ser.login("7", "cesh", "22");
        System.out.println("SESSION ID" + sessionId);
        String url1 = "http://**/PNC.wsdl.ws";
        PTSYNCService s2 = new PTSYNCService(new URL(url1));
        System.out.println("PTSYNCService创建完成");
        PT_SYNC ptsyncPort = s2.getPTSYNCPort();
        System.out.println("PT_SYNC创建完成");
        部门和用户增量数据-测试-生产
        String s3 = ptsyncPort.sync(sessionId, "0cjknasdl", 1);
        System.out.println(s3);
        //解析xml
        String replace = s3.replace("<![CDATA[", "");
        String replace1 = replace.replace("]]", "");
        SAXReader reader = new SAXReader();

        Document doc1 = reader.read((new ByteArrayInputStream(replace1.getBytes("UTF-8"))));//转换为文件
        //获取根节点
        Element root = doc1.getRootElement();
        ArrayList<SendUserParam> user = new ArrayList<>();
        List<Element> list = root.selectNodes("/result/_DATA_/_DATA_/USERS/USER");
        for (int i = 0; i < list.size(); i++) {
            SendUserParam users = new SendUserParam();
            //登录名
            Element user_login_name = list.get(i).element("USER_NAME");
            //email
            Element user_email = list.get(i).element("USER_EMAIL");
            //部门名称
            Element dept_name = list.get(i).element("DE_NAME");
            //职务
            Element user_post = list.get(i).element("US_POST");
            //用户姓名
            Element user_name = list.get(i).element("US_NAME");


            String userLoginName = user_login_name.getStringValue();
            String userEmail = user_email.getStringValue();
            String deptName = dept_name.getStringValue();
            String userPost = user_post.getStringValue();
            String userName = user_name.getStringValue();


            users.setUserName(userLoginName);
            users.setRoomName(deptName);
            users.setEmail(userEmail);
            users.setJobTitle(userPost);
            users.setName(userName);
            user.add(users);
        }

        System.out.println(user);

    }

注意⚠️

该测试类并不可以直接运行,需要根据需要改成自己的接口地址和逻辑,但是解析流程可以按照自己的需求跟据需要使用

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值