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. 调用外部webservice示例

    2024-01-31 16:32:02       33 阅读
  2. Webservice调用方式解析!

    2024-01-31 16:32:02       57 阅读
  3. 使用.net core 调用C#WebService三种方式

    2024-01-31 16:32:02       34 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-31 16:32:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-31 16:32:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-31 16:32:02       82 阅读
  4. Python语言-面向对象

    2024-01-31 16:32:02       91 阅读

热门阅读

  1. Android Studio六大基本布局详解

    2024-01-31 16:32:02       41 阅读
  2. 内容运营常用的ChatGPT通用提示词模板

    2024-01-31 16:32:02       50 阅读
  3. 【C语言】(8)宏定义

    2024-01-31 16:32:02       56 阅读
  4. 第十二章 软件工程(上午题)

    2024-01-31 16:32:02       41 阅读
  5. IO

    2024-01-31 16:32:02       59 阅读
  6. Vue之初识路由

    2024-01-31 16:32:02       53 阅读
  7. Nacos 知识总结

    2024-01-31 16:32:02       58 阅读
  8. 民安智库-垃圾分类宣传满意度调研

    2024-01-31 16:32:02       54 阅读