• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

delphi调用webservice(.NETC#版)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
 1 uses XMLIntf, XMLDoc;
 2 
 3  
 4 
 5 XML to  XTR文件转换
 6 
 7  
 8 
 9 1、File-->open打开你要分析的XML文件
10 2、在左边选择你要分析的接点,双击加到中间的转换列表中
11 3、Create-->DataPacket from XML
12 4、Create and Test Transformation
13 5file-->save-->Transformation得到一个.xtr的文件
14 6、打开.xtr文件,第一行找到"><SelectEach dest="DATAPACKET\ROWDATA\ROW" from="\Envelope\Body\……>
15    把‘soap:’、‘diffgr:’删除,保存
16 7、XMLTransformProvider->transformRead->TransformationFile指向.xtr文件
17 8、设置ClientDataSet1的ProviderName属性
18 
19 =====客户端==============================================================
20 
21  必需先
22 
23 CEMAI.GetCEMAISoap;
24 
25 =============
26 
27 procedure TMainfrm.Button1Click(Sender: TObject);
28 begin
29   Edit1.Text:=XTRPath ;
30   HttpRIO1.HTTPWebNode.Agent := 'Borland SOAP 1.2'  ;
31   HttpRIO1.HTTPWebNode.UseUTF8InHeader  :=  True;
32   HttpRIO1.Converter.Options  :=  HttpRIO1.Converter.Options  +  [soUTF8InHeader,  soUTF8EncodeXML];
33   HttpRIO1.Converter.Options := [soSendMultiRefObj, soTryAllSchema, soRootRefNodesToBody, soUTF8InHeader, soCacheMimeResponse, soUTF8EncodeXML];
34   HttpRio1.Converter.Encoding := 'utf-8' ;
35   HttpRIO1.URL  :=  defURL;
36   (HTTPRIO1 as CEMAISoap).GetDataSet(Key,Ssql);
37 end;
38 
39 =========================
40 
41 procedure TMainfrm.HTTPRIO1AfterExecute(const MethodName: String;
42   SOAPResponse: TStream);
43 var
44   XMLDoc: IXMLDocument;
45 begin
46   SOAPResponse.Position := 0;
47   ClientDataset1.Active := FALSE;
48   SOAPResponse.Position := 0;
49 
50   XMLDoc := NewXMLDocument;
51   XMLDoc.Encoding := 'UTF8';
52   SOAPResponse.Position := 0;
53   XMLDoc.LoadFromStream(SOAPResponse);
54   xmlDoc.SaveToFile('c:\max.xml');   //保存xml文件到根目录
55 
56   XMLTransformProvider1.TransformRead.SourceXmlDocument := XMLDoc.GetDOMDocument;
57   XMLTransformProvider1.TransformRead.TransformationFile := Edit1.Text;
58   ClientDataSet1.OPEN ;
59   ClientDataset1.Active := TRUE;
60 
61 end;
62 
63 =====服务单元,自动生成=================================
64 
65 服务单元,必需在initialization处加一句。
66 
67 initialization
68   InvRegistry.RegisterInvokeOptions(TypeInfo(CEMAISoap),ioDocument) ;

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
用 C 语言开发一门编程语言 — 字符串与文件加载发布时间:2022-07-13
下一篇:
linux下C语言socket网络编程简例发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap