zoukankan      html  css  js  c++  java
  • 根据wsdl文件,Web工程自动生成webservice客户端调用

    根据wsdl文件,Web工程自动生成webservice客户端调用

    1,工具:带有webservice插件的eclips

    注意:在生成客户端代码的同时,必须保证wsdl地址可以访问;

    2,步骤:

    (1),新建一个Web工程:WSDLTest

    (2),浏览器访问WSDL页面:http://192.168.28.80:8006/rzzxservices/WebService?wsdl,并另存为WebService.wsdl,将其拷贝到WSDLTest工程的根目录下,如图:

    (3)在eclipse的新建工程中的“其他“中找到webservice client,点击其上的browse按钮,选择之前的wsdl文件,点击完成,代码就生成了。

     

    生成代码,如下图:

    生成的文件中,作为接口来使用的文件名为:####Stub.java。####因webservice的类名不同而不同。这个文件中就包含了webservice的所有方法。

    (4),调用服务端的代码:

    /** 
     * Project Name:WSDLTest 
     * File Name:Client.java 
     * Package Name:com.xyzq.test 
     * Date:2017年12月4日下午3:59:31 
     * Copyright (c) 2017 All Rights Reserved. 
     * 
    */  
    package com.xyzq.test; 
    import java.net.MalformedURLException;
    import nc.xyzq.uuib.service.impl.FrServiceImplPortBindingStub;
    import nc.xyzq.uuib.service.impl.FrServiceImplServiceLocator;
    import nc.xyzq.uuib.service.impl.SysTokenBean;
    import nc.xyzq.uuib.service.impl.UserBean;
    
    /** 
     * ClassName:Client 
     * Function: TODO
     * Reason:   TODO 
     * Date:     2017年12月4日 下午3:59:31 
     * @author   lizm  
     * @since    JDK 1.6 
     *       
     */
    public class Client {
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            FrServiceImplServiceLocator service = new FrServiceImplServiceLocator();
            java.net.URL url;
            try {
                url = new java.net.URL("http://192.168.28.80:8006/rzzxservices/WebService?wsdl");
                FrServiceImplPortBindingStub stub = new FrServiceImplPortBindingStub(url, service);
                SysTokenBean sysTokenBean = new SysTokenBean();
                UserBean userBean= new UserBean();
                userBean.setClientIp("192.168.28.81");
                userBean.setTs("");
                userBean.setUserid("admin");
                userBean.setVef("1");
                sysTokenBean = stub.getSysToken(userBean);
                System.out.println("sysTokenBean>>>"+sysTokenBean.getToken());
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

     在调用##Stub.java中的方法之前,必须要实例化,具体如下:

    ServiceLocator service = new ServiceLocator();
    java.net.URL url = new new java.net.URL(wsdl地址);
    ServiceStub stub = new ServiceStub(url, service);

    自动生成WSDL客户端还有其他方法,这只是其中一种;

    例如:采用插件axis2-1.6.1、JDK自带插件wsdl2命令等;

            

  • 相关阅读:
    二叉排序树 常用函数小结
    二叉树的应用:二叉排序树的删除
    剑指 Offer 32
    剑指 Offer 32
    剑指 Offer 68
    剑指 Offer 28. 对称的二叉树 做题小结
    正则表达式不要背
    剑指 Offer 55
    LeetCode226. 翻转二叉树 做题小结
    Tools | 编程IED/编译器
  • 原文地址:https://www.cnblogs.com/lizm166/p/7977684.html
Copyright © 2011-2022 走看看