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

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

2,步骤:

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

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

图片[1]-根据wsdl文件,Web工程自动生成webservice客户端调用-岸边IBIAN

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

图片[2]-根据wsdl文件,Web工程自动生成webservice客户端调用-岸边IBIAN

生成代码,如下图:

图片[3]-根据wsdl文件,Web工程自动生成webservice客户端调用-岸边IBIAN

生成的文件中,作为接口来使用的文件名为:####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命令等;

THE END
点赞0赞赏 分享
抢沙发
头像
提交
头像

昵称

取消
昵称表情

    暂无评论内容