-
當(dāng)前位置:首頁 > 創(chuàng)意學(xué)院 > 營銷推廣 > 專題列表 > 正文
- webservice接口怎么使用
- webservice 怎么調(diào)用
- 如何調(diào)用別人提供的webservice接口
- 怎么調(diào)用webservice服務(wù)
- 使用C#創(chuàng)建webservice及調(diào)用方式?
webservice調(diào)用方式(webservice 調(diào)用方式)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于webservice調(diào)用方式的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,有小程序、在線網(wǎng)頁版、PC客戶端和批量生成器
官網(wǎng):https://ai.de1919.com。
本文目錄:
webservice接口怎么使用
webservice的調(diào)用,常用的大約有3種方式:1、使用axis調(diào)用
2、使用xfire調(diào)用
3、使用cxf調(diào)用
項目中,采用axis進行調(diào)用,記錄如下,備忘:
ps教程:想當(dāng)年的時候是用的xfire方式調(diào)用的,結(jié)果沒做記錄,現(xiàn)在已經(jīng)完全記不得怎么玩了。所以說要多寫博客啊 t_t
版本說明:
aixs版本:axis-bin-1_4.zip
java環(huán)境略
第一步:確保wsdl文件可用,文中為獲取到sendsmsservice.wsdl,當(dāng)然url的也行。
第二步:執(zhí)行生成客戶端代碼的腳本。腳本內(nèi)容為:
set axis_lib=d:axis-1_4lib
set java_cmd=java -djava.ext.dirs=%axis_lib%
set output_path=.
set package=info.jyzh.wap.liaoning.push
%java_cmd% org.apache.axis.wsdl.wsdl2java sendsmsservice.wsdl -o%output_path% -p%package% -t
#查看wsdl2java的使用幫助#%java_cmd% org.apache.axis.wsdl.wsdl2java -help
ok,至此,客戶端代碼就生成出來了。還帶了一個單元測試哦。
實際工作中,碰到以下情況,客戶端不能直接連上webservice服務(wù)器,中間被強大的代理服務(wù)器擋住了。如下圖:
為此,修改生成的代碼,本次是在sendmmsserviceimplservicesoapbindingstub中作修改,如下:
static {
axisproperties.setproperty("http.proxyhost","88.88.88.88");
axisproperties.setproperty("http.proxyport","8080");
axisproperties.setproperty("http.proxyuser","asp教程yy");
axisproperties.setproperty("http.proxypassword","123456");
_operations = new org.apache.axis.description.operationdesc[1];
_initoperationdesc1();
}直接axis調(diào)用遠程的web service我覺得這種方法比較適合那些高手,他們能直接看懂xml格式的wsdl文件,我自己是看不懂的,尤其我不是專門搞這行的,即使一段時間看懂,后來也就忘記了。直接調(diào)用模式如下:import java.util.date;import java.text.dateformat;import org.apache.axis.client.call;import org.apache.axis.client.service;import javax.xml.namespace.qname;import java.lang.integer;import javax.xml.rpc.parametermode; public class caclient { public static void main(string[] args) { try { string endpoint = "http://localhost:8080/ca3/services/casynrochnized?wsdl"; //直接引用遠程的wsdl文件 //以下都是套路
service service = new service(); call call = (call) service.createcall(); call.settargetendpointaddress(endpoint); call.setoperationname("adduser");//wsdl里面描述的接口名稱 call.addparameter("username", org.apache.axis.encoding.xmltype.xsd_date, javax.xml.rpc.parametermode.in);//接口的參數(shù) call.setreturntype(org.apache.axis.encoding.xmltype.xsd_string);//設(shè)置返回類型
string temp = "測試人員"; string result = (string)call.invoke(new object[]{temp}); //給方法傳遞參數(shù),并且調(diào)用方法 system.out.println("result is "+result); } catch (exception e) { system.err.println(e.tostring()); } }}2,直接soap調(diào)用遠程的webservice這種模式我從來沒有見過,也沒有試過,但是網(wǎng)絡(luò)上有人貼出來,我也轉(zhuǎn)過來import org.apache.soap.util.xml.*;import org.apache.soap.*;import org.apache.soap.rpc.*; import java.io.*;import java.net.*;import java.util.vector; public class caservice{ public static string getservice(string user) { url url = null; try { url=new url("http://192.168.0.100:8080/ca3/services/casynrochnized"); } catch (malformedurlexception mue) { return mue.getmessage(); } // this is the main soap object call soapcall = new call(); // use soap encoding soapcall.setencodingstyleuri(constants.ns_uri_soap_enc); // this is the remote object we're asking for the price soapcall.settargetobjecturi("urn:xmethods-casynrochnized"); // this is the name of the method on the above object soapcall.setmethodname("getuser"); // we need to send the isbn number as an input parameter to the method vector soapparams = new vector(); // name, type, value, encoding style parameter isbnparam = new parameter("username", string.class, user, null); soapparams.addelement(isbnparam); soapcall.setparams(soapparams); try { // invoke the remote method on the object response soapresponse = soapcall.invoke(url,""); // check to see if there is an error, return "n/a" if (soapresponse.generatedfault()) { fault fault = soapresponse.getfault(); string f = fault.getfaultstring(); return f; } else { // read result parameter soapresult = soapresponse.getreturnvalue (); // get a string from the result return soapresult.getvalue().tostring(); } } catch (soapexception se) { return se.getmessage(); } }}
3,使用wsdl2java把wsdl文件轉(zhuǎn)成本地類,然后像本地類一樣使用,即可。
webservice 怎么調(diào)用
一、WebService在cs后臺程序中的調(diào)用 A、通過命名空間和類名直接調(diào)用 示例: WebServicews=newWebService(); strings=ws.HelloWorld(); B、通過添加WEB引用的方式調(diào)用,首先添加WEB引用,通過URL指向WEBSERVICE, 指定WEB引用名,假設(shè)為KK; 示例: kk.WebServicen=newkk.WebService(); stringss=n.HelloWorld(); 二、WebService在前臺頁面的JS調(diào)用方法 1、首先通過下面的方法把Webservice在前臺引用進來 2、然后就可以通過JS程序進行調(diào)用,示例如下: ----自寫小例子--- webService---: [WebMethod] publicstringHelloWorld(){ return"HelloWorld,wwg"; } [WebMethod] publicintAddWwg(inta,intb) { returna+b; } exe--- usingCallWebService.localhost;//因為自己沒有定義命名空間 namespaceCallWebService { publicpartialclassForm1:Form { publicForm1() { InitializeComponent(); } privatevoidbutton1_Click(objectsender,EventArgse) { ServiceserviceWwg=newService(); inti1=Int32.Parse(txt1.Text.ToString()); inti2=Int32.Parse(txt2.Text.ToString()); intiResult=serviceWwg.AddWwg(i1,i2); lb1.Text=iResult.ToString(); } privatevoidbutton2_Click(objectsender,EventArgse) { CallWebService.localhost.ServiceserviceWwg=newCallWebService.localhost.Service(); stringstrResult=serviceWwg.HelloWorld(); lb1.Text=strResult.ToString(); } } }如何調(diào)用別人提供的webservice接口
在項目中選擇【控制臺應(yīng)用程序】,點擊項目右鍵,選擇添加->服務(wù)引用。在地址欄中輸入WebServie鏈接地址后回車,點擊確定后在代碼中就可以看到添加的服務(wù)應(yīng)用了,詳細步驟:
1、首先打開VS2013,選擇文件->新建->項目。
2、在項目中選擇【控制臺應(yīng)用程序】,將項目名稱重新命名為【W(wǎng)ebServiceTest】。
3、點擊項目右鍵,選擇添加->服務(wù)引用。
4、在地址欄中輸入WebServie鏈接地址后回車,然后重新命名服務(wù)名稱為【ServiceGetWeather】,點擊確定后在代碼中就可以看到添加的服務(wù)應(yīng)用了。
5、然后在代碼中添加如下代碼,調(diào)用webservice,獲取接口返回的數(shù)據(jù),呈現(xiàn)出來。
6、這是運行的結(jié)果,可以看出接口返回了一個xml格式的數(shù)據(jù)。
怎么調(diào)用webservice服務(wù)
寫一個WINDOWS服務(wù)定期調(diào)用webservice中的方法。1、先建一個WebService(ASP.NET Web 服務(wù)應(yīng)用程序)
2、建這個WebService的虛擬目錄
3、執(zhí)行生成一個文件
{
C:\Program Files\Microsoft Visual Studio 8\VC>wsdl /language:C# /out:c:\myProxyClass.cs http://hostServer:88/ImportData.asmx?WSDL
這個工具(方法)是針對一個webservice生成一個能動態(tài)調(diào)用的類
language:C#-----C#語言輸出
c:\myProxyClass.cs-----這個是生成的文件存在本地的文件名和路徑
http://hostServer:88/ImportData.asmx-----是虛擬目錄運行時的地址
}
4、創(chuàng)建一個windows服務(wù)程序(新建項目->左側(cè)選windows->右側(cè)選windows服務(wù)),然后把生成的文件引入到windows服務(wù)的程序中
5、寫調(diào)用事件(BeginImportUFData)
6、完成后編譯生成一下,這時就會在此windows服務(wù)程序的bin文件夾下生成一個exe文件(如:MyNewService.exe
)
7、按以下方式安裝
安裝:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe 絕對路徑\MyNewService.exe
卸載:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe -u 絕對路徑\MyNewService.exe
例如:(用dos命令窗口執(zhí)行)
安裝:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe E:\chengxu\MyNewService\MyNewService\bin\Debug\MyNewService.exe
【然后顯示:正在安裝程序集,最后顯示:“提交”階段成功完成】
卸載:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe -u E:\chengxu\MyNewService\MyNewService\bin\Debug\MyNewService.exe
【最后提示:卸載完成】
啟動、停止服務(wù)是window操作,找到管理-->服務(wù) 操作
使用C#創(chuàng)建webservice及調(diào)用方式?
1、創(chuàng)建Webservice服務(wù),需要在VS中首先創(chuàng)建一個Web工程,再添加一個Webservice類即可,。
2、編寫Webservice的方法,以下以VS默認的HelloWord為例。
另外在實際使用中,出現(xiàn)過部署到ESB后不識別的情況,后經(jīng)測試發(fā)現(xiàn)需要增加以下內(nèi)容:
3、在Webservice類上點擊右鍵-在瀏覽器中查看,可以查看webservice服務(wù),在原URL地址后增加?wsdl可以查看wsdl文件。
4、對于解決方案內(nèi)的webservice服務(wù),或者網(wǎng)絡(luò)中的webservice服務(wù),可以通過URL地址的方式添加引用。在工程上點擊右鍵-添加服務(wù)引用-高級-添加Web服務(wù),輸入URL地址即可。
5、對于異構(gòu)系統(tǒng)提供的接口地址,或者內(nèi)網(wǎng)環(huán)境,本地?zé)o法訪問的情況,可以通過引用wsdl文件的方式,wsdl文件可以在接口地址后加?wsdl或者有異構(gòu)系統(tǒng)提供。步驟和以上相同,只是最后的URL地址改為本地路徑即可。
以上就是關(guān)于webservice調(diào)用方式相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀:
前端開發(fā)培訓(xùn)一般幾個月(web前端開發(fā)工資一般是多少)
web開發(fā)語言排行榜(web開發(fā)語言排行榜2022)
學(xué)pr還是ps用處大(ai難學(xué)還是ps難學(xué))