在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Delphi7客户端代码 ---------------------------------------------------------------------------------------------------------------------------- unit WSTestMain; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, InvokeRegistry, StdCtrls, Rio, SOAPHTTPClient, Grids, DBGrids, DB, DBClient, DBTables, Provider, xmldom, Xmlxform,XMLIntf,XMLDoc,SOAPConst; type TForm1 = class(TForm) HTTPRIO1: THTTPRIO; Button1: TButton; Memo1: TMemo; XMLTransformProvider1: TXMLTransformProvider; ClientDataSet1: TClientDataSet; DataSource1: TDataSource; DBGrid1: TDBGrid; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses WSTestDefine; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var A:Service1Soap; B:WideString; XMLDoc: IXMLDocument; begin A := HTTPRIO1 as Service1Soap; B := A.GetPersonTable; Memo1.Lines.Add( B ); ClientDataset1.Active := FALSE; XMLDoc := NewXMLDocument; XMLDoc.Encoding := SUTF8; XMLDoc.LoadFromXML(B); XMLTransformProvider1.TransformRead.SourceXmlDocument := XMLDoc.GetDOMDocument; ClientDataset1.Active := TRUE; end; end. --------------------------------------------------------------------------------------- .NET WebService代码 --------------------------------------------------------------------------------------- using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Web; using System.Web.Services; using System.Data.OracleClient; using System.IO; namespace WS0622 { /// <summary> /// Service1 的摘要说明。 /// </summary> public class Service1 : System.Web.Services.WebService { public Service1() { //CODEGEN: 该调用是 ASP.NET Web 服务设计器所必需的 InitializeComponent(); } #region 组件设计器生成的代码 //Web 服务设计器所必需的 private IContainer components = null; /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { } /// <summary> /// 清理所有正在使用的资源。 /// </summary> protected override void Dispose( bool disposing ) { if(disposing && components != null) { components.Dispose(); } base.Dispose(disposing); } #endregion // WEB 服务示例 // HelloWorld() 示例服务返回字符串 Hello World // 若要生成,请取消注释下列行,然后保存并生成项目 // 若要测试此 Web 服务,请按 F5 键 [Serializable] public class Person { public Person() { } public Person(string name,string gender) { this.Name=name; this.Gender=gender; } public string Name=""; public string Gender=""; } [WebMethod(CacheDuration=60)] public Person[] GetPersons() { Person Alice=new Person("Alice","Female"); Person Bob=new Person("Bob","Male"); Person Chris=new Person("Chris","Female"); Person Dennis=new Person("Dennis","Male"); return new Person[]{Alice,Bob,Chris,Dennis}; } [WebMethod] public string GetPersonTable() { DataTable table=new DataTable("Person"); table.Columns.Add("Name"); table.Columns.Add("Gender"); table.Rows.Add(new string[2]{"Alice","Female"}); table.Rows.Add(new string[2]{"Bob","Male"}); table.Rows.Add(new string[2]{"Chris","Female"}); table.Rows.Add(new string[2]{"Dennis","Male"}); table.Rows.Add(new string[2]{"Eric","Male"}); DataSet dataset=new DataSet("PersonTable"); dataset.Tables.Add(table); System.Text.StringBuilder strbuilder=new System.Text.StringBuilder(); StringWriter writer=new StringWriter(strbuilder); dataset.WriteXml(writer,System.Data.XmlWriteMode.IgnoreSchema); return strbuilder.ToString(); } } } |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论