用C#写了个webservices,提供两个接口updata,downdata做数据交换用,在c#中updata和downdata都用dataset做为参数.
现在想用delphi7连接这个webservices传送数据.请问如何实现.
讲讲大体步骤就ok,还有是不是delphi也用dataset作为数据传送的类型呢?
最好举个简单的例子
现在想用delphi7连接这个webservices传送数据.请问如何实现.
讲讲大体步骤就ok,还有是不是delphi也用dataset作为数据传送的类型呢?
最好举个简单的例子
解决方案 »
- 请问 RegSetValueEx 函数这么使用?
- cxGrid导出到excel时最大行数限制问题
- 跪求身份证验证的代码........
- 打开文件夹后,如何把一个文件投放到另一个文件!
- 熬通宵终于找出了问题点,但无法解决:封装基于TDBDateTimeEditEh的组件后,再往表单上放时就出现错误:Control '' has no parent window.
- 一个很菜的问题 在线等
- 一个极其简单的问题
- ado+intraweb中如何调用coInitialize?
- delphi的数组如何动态改值?
- 如何在默认的popupmenu上附加自己的menuitem?
- 递归的程式的例子啊
- 刚学DLL,请指教
這個可能比較麻煩, 沒試過傳 dataset的
Use ADO.NET Datasets in Delphi應該能解決你的問題
rtnZipDSResult = class(TRemotable)
private
Fs_schema: String;
published
property s_schema: String read Fs_schema write Fs_schema;
end; ZipCodesSoap = interface(IInvokable)
['{FEF279A0-29EE-CF0B-FBB2-7DD79A5502CE}']
...
function rtnZipDS(const City_IN: String; const State_IN: String): rtnZipDSResult; stdcall;
...
end;procedure TForm1.Button1Click(Sender: TObject);
begin
(HTTPRIO1 as ZipCodesSoap).rtnZipDS(edtCity.Text, edtState.Text);
end;procedure TForm1.HTTPRIO1AfterExecute(const MethodName: String;
SOAPResponse: TStream);
begin
SOAPResponse.Position := 0;
Memo1.Lines.LoadFromStream(SOAPResponse); SOAPResponse.Position := 0;
end;procedure TForm1.HTTPRIO1AfterExecute(const MethodName: String;
SOAPResponse: TStream);
var
XMLDoc: IXMLDocument;
begin
SOAPResponse.Position := 0;
Memo1.Lines.LoadFromStream(SOAPResponse); ClientDataset1.Active := FALSE;
SOAPResponse.Position := 0;
XMLDoc := NewXMLDocument;
XMLDoc.Encoding := SUTF8;
SOAPResponse.Position := 0;
XMLDoc.LoadFromStream(SOAPResponse); XMLTransformProvider1.TransformRead.SourceXmlDocument := XMLDoc.GetDOMDocument;
ClientDataset1.Active := TRUE;
end;
vWsObj:Variant;
sUrl:String;
begin
vWsObj := CreateOleObject('MSSOAP.SoapClient');
vWsObj.mssoapinit('http://192.168.0.68/dataexchange/dataexchange.asmx?wsdl');
edit2.text := vWsObj.hello(edit1.text);
end
这样可以完成简单的调用.但是,如何处理dataset呢?