用delphi的THTTPRIO控件調用c#寫的webservice。

用delphi的THTTPRIO控件調用c#寫的webserviceweb

下面是我調試時遇到的一些問題:c#

1,導入wsdl文件:file--new----other----wenservice---WSDLimporter---輸入wsdl地址:以下:http://10.0.1.128:7777/ShineMediaPublish/WebService/WebServiceCall.asmx?wsdlide

注意末尾的:'?wsdl'不能少。要不可能會說找不到。spa

2,設置THTTPRIO控件的屬性:調試

開始把http://10.0.1.128:7777/ShineMediaPublish/WebService/WebServiceCall.asmx?wsdl賦給了wsdlLocation屬性。鏈接時老是報錯。orm

後來賦給URL屬性,就不報錯了。接口

3,傳遞參數是web服務端總爲空:get

在導入的接口單元的聲明部分添加以下代碼:webservice

InvRegistry.RegisterInvokeOptions(TypeInfo(WebServiceCallSoap),ioDocument);//其中紅色部分爲導入接口名稱。it

下面是客戶端的簡單代碼:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, InvokeRegistry, StdCtrls, Rio, SOAPHTTPClient,WebServiceCall;

type
TForm1 = class(TForm)
htpr1: THTTPRIO;
edt1: TEdit;
btn1: TButton;
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject);
var
s:WideString;
begin
s:='打分得分';
edt1.Text:=(htpr1 as WebServiceCallSoap).OperaterLogin('1','dd',s);//operaterLogin爲接口方法。

end;

end.

相關文章
相關標籤/搜索