1. 程式人生 > >Java-WebService Client

Java-WebService Client

package com.webservice;

import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;

/**
 * Java WebService Client
 */
public class App {
	
	private static String endPoint = "http://127.0.0.1:8088/xxx-web/webservice/wsOrgMerchant?wsdl";
	public static void main(String[] args) {
		Service service = new Service();
		Object[] object = new Object[1];  
        object[0] = "jianghai";//Object是用來儲存方法的引數
        String result = "no result!"; 
		try {
			// 建立服務方法的呼叫者物件call,設定call物件的屬性
			Call call = (Call) service.createCall();
			call.setTargetEndpointAddress(endPoint);// 設定服務終端地址
			QName opAddEntry = new QName("http://webservice.emoney.com/", "sysHello");// 設定NameSpace和方法
			call.setOperationName(opAddEntry);// 請求物件設定QName物件,這個英文應該是QuestionName
			// 設定引數名:  
            call.addParameter("name", // 引數名  
                    XMLType.XSD_STRING,// 引數型別:String  
                    ParameterMode.INOUT);// 引數模式:'IN' or 'OUT'  
            
            // 設定返回值型別:  
            call.setReturnType(XMLType.XSD_STRING);// 返回值型別:String  
            // Basic Auto 認證
            call.getMessageContext().setUsername("riverjin");
            call.getMessageContext().setPassword("CyberSoft2007");
            result = (String) call.invoke(object);// 遠端呼叫  
			System.out.println("result is " + result);
		} catch (Exception e) {
			e.printStackTrace();
		}

	}
}