根據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命令等;

        


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM