delphi 调用 webservice (.NET C#版)
uses XMLIntf, XMLDoc; XML to XTR文件转换 、File-->open打开你要分析的XML文件
、在左边选择你要分析的接点,双击加到中间的转换列表中
、Create-->DataPacket from XML
、Create and Test Transformation
、file-->save-->Transformation得到一个.xtr的文件
、打开.xtr文件,第一行找到"><SelectEach dest="DATAPACKET\ROWDATA\ROW" from="\Envelope\Body\……>
把‘soap:’、‘diffgr:’删除,保存
、XMLTransformProvider->transformRead->TransformationFile指向.xtr文件
、设置ClientDataSet1的ProviderName属性 =====客户端============================================================== 必需先 CEMAI.GetCEMAISoap; ============= procedure TMainfrm.Button1Click(Sender: TObject);
begin
Edit1.Text:=XTRPath ;
HttpRIO1.HTTPWebNode.Agent := 'Borland SOAP 1.2' ;
HttpRIO1.HTTPWebNode.UseUTF8InHeader := True;
HttpRIO1.Converter.Options := HttpRIO1.Converter.Options + [soUTF8InHeader, soUTF8EncodeXML];
HttpRIO1.Converter.Options := [soSendMultiRefObj, soTryAllSchema, soRootRefNodesToBody, soUTF8InHeader, soCacheMimeResponse, soUTF8EncodeXML];
HttpRio1.Converter.Encoding := 'utf-8' ;
HttpRIO1.URL := defURL;
(HTTPRIO1 as CEMAISoap).GetDataSet(Key,Ssql);
end; ========================= procedure TMainfrm.HTTPRIO1AfterExecute(const MethodName: String;
SOAPResponse: TStream);
var
XMLDoc: IXMLDocument;
begin
SOAPResponse.Position := ;
ClientDataset1.Active := FALSE;
SOAPResponse.Position := ; XMLDoc := NewXMLDocument;
XMLDoc.Encoding := 'UTF8';
SOAPResponse.Position := ;
XMLDoc.LoadFromStream(SOAPResponse);
xmlDoc.SaveToFile('c:\max.xml'); //保存xml文件到根目录 XMLTransformProvider1.TransformRead.SourceXmlDocument := XMLDoc.GetDOMDocument;
XMLTransformProvider1.TransformRead.TransformationFile := Edit1.Text;
ClientDataSet1.OPEN ;
ClientDataset1.Active := TRUE; end; =====服务单元,自动生成================================= 服务单元,必需在initialization处加一句。 initialization
InvRegistry.RegisterInvokeOptions(TypeInfo(CEMAISoap),ioDocument) ;
delphi 调用 webservice (.NET C#版)的更多相关文章
- delphi调用webservice (.NET C#版)
uses XMLIntf, XMLDoc; XML to XTR文件转换 .File-->open打开你要分析的XML文件 .在左边选择你要分析的接点,双击加到中间的转换列表中 .Create- ...
- Delphi调用webservice总结
Delphi调用webservice总结 Delphi调用C#写的webservice 用delphi的THTTPRIO控件调用了c#写的webservice. 下面是我调试时遇到的一些问题: ...
- delphi 调用Webservice 引入wsdl 报错 document empty
delphi 调用Webservice 引入wsdl 报错 document empty 直接引入wsdl 地址报错 document empty 解决办法:在浏览器里保存为xml文件,然后在开发环境 ...
- Delphi调用WebService(通过SoapHeader认证)经验总结
项目(Delphi开发)需要调用另一个系统的WebService.走了不少弯路,现记录总结一下经验.以下是WebService要求: 1.WebService概述 营销Webservice接口采用Ap ...
- 【转】Delphi调用webservice总结
原文:http://www.cnblogs.com/zhangzhifeng/archive/2013/08/15/3259084.html Delphi调用C#写的webservice 用delph ...
- delphi调用webservice 转
如今 Web Service 已越来越火了,在DotNet已开发的Web Service中,Delphi 7如何方便的调用DotNet写的Web Service呢?方法有两种,一种是在Delphi ...
- 03server平台delphi程序不支持直接调用webservice
经过多次测试和查证,发现03server平台用delphi7.0开发的应用程序就是不支持直接调用webservice,无论这个webservice是delphi开发的还是C#开发,抑或是java开发的 ...
- delphi调用java编写的webservice
delphi调用java编写的webservice JAVApojo: public class GroupInfo implements Serializable{ private stati ...
- Delphi调用JAVA的WebService上传XML文件(XE10.2+WIN764)
相关资料:1.http://blog.csdn.net/luojianfeng/article/details/512198902.http://blog.csdn.net/avsuper/artic ...
随机推荐
- ajax readyState的五种状态详解
通过ajax的readyState的值,我们可以知道当前的这个http请求处于什么状态.对于web的调试是比较重要的. readyState 状态说明: (0)未初始化 此阶段确认XMLHttpReq ...
- Android 遍历sdcard中指定文件夹下的图片(jpg,jpeg,png)
File scanner5Directory = new File(Environment.getExternalStorageDirectory().getPath() + "/scann ...
- 【转】五种开源协议的比较(BSD, Apache, GPL, LGPL, MIT)
当 Adobe.Microsoft.Sun 等一系列巨头开始表现出对”开源”的青睐时,”开源”的时代即将到来! 现今存在的开源协议很多,而经过 Open Source Initiative 组织通过批 ...
- R语言中的箱图介绍 boxplot
画箱图的函数: boxplot()##help(boxplot)查询具体用法 图例的解释: 如下图,是两个简单的箱图. 中间的箱子的上下边,分别是第三,一个四分位数. 中间的黑线是第二四分位数(中 ...
- C#中的Marshal
Const.MaxLengthOfBufferd的长度固定为0x2000 也就是8192 private bool SendMessage(int messageType, string ip, ...
- chrome插件background.js 和 popup.js 交互
要实现background.js 和 popup.js 之间的交互,首先需要先配置好 manifest.json文件,如: "background":{ //"page& ...
- virtualbox怎么装系统OVA虚拟包大全一键安装
1 第一步,下载ova虚拟包 http://pan.baidu.com/s/1hqxWkUo . 里面有win7.ubuntu.kali,你自己挑一个需要的 全都可以自动缩放屏幕,有VirtualBo ...
- [POJ 2588] Snakes
同swustoj 8 Snakes Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 1015 Accepted: 341 ...
- [LOJ 1027] Dangerous Maze
A - A Dangerous Maze Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%lld & %llu ...
- LeetCode Pascal's Triangle II (杨辉三角)
题意:给出杨辉三角的层数k,返回最后一层.k=0时就是只有一个数字1. 思路:滚动数组计算前一半出来,返回时再复制另一半.简单但是每一句都挺长的. 0ms的版本: class Solution { p ...