資源描述:
《delphi調(diào)用webservice總結(jié)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、Delphi調(diào)用webservice總結(jié)2011-12-0612:44:45
2、分類:delphi
3、字號(hào)訂閱Delphi調(diào)用C#寫的webservice用delphi的THTTPRIO控件調(diào)用了c#寫的webservice。下面是我調(diào)試時(shí)遇到的一些問題:1:導(dǎo)入wsdl文件:file--new----other----webservice---WSDLimporter---輸入wsdl地址:如下:http://127.0.0.1/WebService/WebServiceCall.asmx?wsdl注意末尾的:'?wsdl'
4、不能少。要不可能會(huì)說找不到。2:設(shè)置THTTPRIO控件的屬性:把http://127.0.0.1/WebService/WebServiceCall.asmx?wsdl賦給URL屬性,而不是賦給wsdlLocation屬性。3:傳遞參數(shù)是web服務(wù)端總為空:在導(dǎo)入的接口單元的聲明部分添加如下代碼:InvRegistry.RegisterInvokeOptions(TypeInfo(Service1Soap),ioDocument);//其中紅色部分為導(dǎo)入接口名稱。在IIS中配置C#寫的webservice,有時(shí)候會(huì)出現(xiàn)如
5、下的錯(cuò)誤:--------------------------------------------------------分析器錯(cuò)誤消息:在應(yīng)用程序級(jí)別之外使用注冊(cè)為allowDefinition='MachineToApplication'的節(jié)是錯(cuò)誤的。如果在IIS中沒有將虛擬目錄配置為應(yīng)用程序,則可能導(dǎo)致此錯(cuò)誤。源錯(cuò)誤:安全身份驗(yàn)證模式。-->選中你要發(fā)布的虛擬目錄-->右鍵單擊-->屬性-->目錄(選項(xiàng)卡)-->應(yīng)用程序名-->創(chuàng)建-->確定。然后再重新訪問頁面,應(yīng)該就OK了。Delphi7建立測試程序1、新建一個(gè)應(yīng)用程序:2、拖一個(gè)button一個(gè)edit和一個(gè)HTTPRIO(在webservices頁上)到窗體上;3、接下來:File->new->other->webservices->WSDLimpor
7、ter輸入wsdl文件地址,點(diǎn)擊next導(dǎo)入保存unitService14、在unit1(form1的單元文件)中引用Service15、HTTPRIO1的URL屬性設(shè)置為'http://localhost/WebService1/Service1.asmx?WSDL'6、添加form1的代碼如下:unitUnit1;interfaceusesWindows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,StdCtrls,InvokeR
8、egistry,Rio,SOAPHTTPClient;typeTForm1=class(TForm)Button1:TButton;Edit1:TEdit;HTTPRIO1:THTTPRIO;procedureButton1Click(Sender:TObject);private{Privatedeclarations}public{Publicdeclarations}end;varForm1:TForm1;implementationusesService1;{$R*.dfm}procedureTForm1.Butt
9、on1Click(Sender:TObject);beginEdit1.Text:=(HTTPRIO1asService1Soap).HelloWorld;end;end.如果有時(shí)候測試發(fā)現(xiàn),還是不行.......可能有下面的問題,在用VS2005寫的WebService的類屬性中加入SoapRpcServiceAttribute屬性就可以了。如下:[SoapRpcService(RoutingStyle=SoapServiceRoutingStyle.SoapAction)]Delphi開發(fā)和調(diào)用的webservice下
10、面說明如何編寫用于IIS發(fā)布的ISAPI類型的WebService。1、New
11、Other
12、WebServices
13、SOAPServerApplication
14、這里先選擇建立WebAppDebugger類型的WebService,因?yàn)檫@種類型的WebService便于調(diào)試,當(dāng)我們調(diào)試好它,準(zhǔn)備發(fā)布時(shí)再將