webService調用淺談(四)


第四種使用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

 


免責聲明!

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



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