⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 soapenv.pas

📁 Delphi开发webservice的一套例子
💻 PAS
字号:
{*******************************************************}
{                                                       }
{ Borland Delphi Visual Component Library               }
{                SOAP Support                           }
{                                                       }
{ Copyright (c) 2001 Borland Software Corporation       }
{                                                       }
{*******************************************************}

unit SoapEnv;

interface

uses Classes, SysUtils,  XMLDOM, XMLDoc, XMLIntf;

type
  TSoapEnvelope = class
  public
    function MakeEnvelope(Doc: IXMLDocument): IXMLNode;
    function MakeHeader(ParentNode: IXMLNode): IXMLNode;
    function MakeBody(ParentNode: IXMLNOde): IXMLNode;
    function MakeFault(ParentNode: IXMLNOde): IXMLNode;
  end;

const
  SSoapNameSpacePre = 'SOAP-ENV';            { do not localize }
  SXMLSchemaNameSpacePre = 'xsd';            { do not localize}
  SXMLSchemaInstNameSpace99Pre = 'xsi';           { do not localize}
  SSoapEncodingPre = 'SOAP-ENC';             { do not localize}
  
implementation

uses  SoapConst;


function TSoapEnvelope.MakeEnvelope(Doc: IXMLDocument): IXMLNode;
begin
  Result := Doc.CreateNode(SSoapNameSpacePre + ':' + SSoapEnvelope); 
  Result.DeclareNamespace(SSoapNameSpacePre,SSoapNameSpace);
  Result.DeclareNamespace(SXMLSchemaNameSpacePre, XMLSchemaNameSpace);
  Result.DeclareNamespace(SXMLSchemaInstNameSpace99Pre, XMLSchemaInstNameSpace);
  Result.DeclareNamespace(SSoapEncodingPre, SSoap11EncodingS5);
  Doc.DocumentElement := Result;
end;


function TSoapEnvelope.MakeBody(ParentNode: IXMLNode): IXMLNode;
begin
   Result := ParentNode.AddChild(SSoapNameSpacePre + ':' + SSoapBody, SSoapNameSpace);
end;

function TSoapEnvelope.MakeHeader(ParentNode: IXMLNode): IXMLNode;
begin
  Result := ParentNode.AddChild(SSoapNameSpacePre + ':' + SSoapHeader, SSoapNameSpace);
end;

function TSoapEnvelope.MakeFault(ParentNode: IXMLNode): IXMLNode;
begin
   Result := ParentNode.AddChild(SSoapNameSpacePre + ':' + SSoapFault, SSoapNameSpace);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -