第四種使用java語言調用webservice方法如下:
第四種方法引入的包為axis的包
import org.apache.axis.*
下面是測試代碼:
public String test() throws Exception 
 {
//接收返回值
 String result ="";
//實例化訪問對象
 Service service = new Service();    
//實例化調用對象
    Call call = (Call) service.createCall();
//在調用對象中添加webservice地址
    call.setTargetEndpointAddress(new java.net.URL(webServiceURL));   
//在調用對象中添加webservice對應的命名空間,以及將要調用的函數名
    call.setOperationName(new QName(namespace,operationName)); 
//設置入參,第一個參數是命名空間以及參數名,這兩個參數是采用一個Qname變量打包傳入的,第二個參數是入參的類型(字符或者數字)第三個參數是入參種類
//“IN”的含義代表入參
    call.addParameter(new QName(namespace,"para1"), 
           org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
//第二個參數與前面一樣
    call.addParameter(new QName(namespace,"para2"), 
           org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
//是否是soapaction這里需要看webservice是否要求如下格式,如果沒有要求可以不添加此設置
call.setUseSOAPAction(true);
//設置返回值格式(字符串或者組裝對象)
    call.setReturnType(org.apache.axis.encoding.XMLType.SOAP_STRING); 
//如果前面要求是soapaction的話需要添加下面這句話,用來之中是訪問那個命名空間上的那個方法
    call.setSOAPActionURI(namespace + "/" + operationName); 
//調用,參入兩個入參para1和para2的值,並且將返回值轉換為String類型
    result = call.invoke(new Object[]{para1,para2}).toString();
    return result;
 }
下面是前三種調用方式的傳送門:
http://www.cnblogs.com/Sabasdian/p/JavaAndWebservice_3.html
http://www.cnblogs.com/Sabasdian/p/JavaAndWebservice_2.html
http://www.cnblogs.com/Sabasdian/p/JavaAndWebservice_1.html
