java連接webservice

由於項目要求,要實現一個用jsp的客戶端頁面去調用後臺C++的程序。在這個過程中主要涉及到的就是數據的交互。應該怎樣把java的數據傳輸到C++,C++經過處理之後又怎麼樣傳輸到java。在這之間才用了C++的webservice。在這裏網上有很多相關java鏈接webservice。寫寫自己的心得吧。

有很多種方法就能實現這個功能,我是用的axis。網上下載axis的jar包  http://axis.apache.org/axis/   


把下載的包導入工程。

代碼

</pre><p><pre name="code" class="java">import java.rmi.RemoteException;

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

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


public class Test {

	public static void main(String[] args) {
		try {
			String endpoint = "<span style="font-size: 13.3333px;">webservice 的url </span>"; 
			Service service = new Service(); 
			Call call = (Call)service.createCall(); 
			call.setTargetEndpointAddress(endpoint);
		        call.setOperationName(new QName("url的targetNamespace","調用的接口名稱")); 		
			call.addParameter("inputStr", org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN); 
			//接口參數名稱
			call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING); 
			String xmlStr = (String)call.invoke(new Object[] { "輸入參數值"}); //與上面的接口對應
			//xmlStr獲取鏈接的返回值。如果和後臺能對應上就OK
			System.out.print(xmlStr);
		} catch (ServiceException e) {	
			// TODO Auto-generated catch blocke.printStackTrace();
		} catch (RemoteException e) {
			// TODO Auto-generated catch blocke.printStackTrace();
	}
}




發佈了108 篇原創文章 · 獲贊 13 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章