SOAP好像是一种远程调用方式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SOAP好像是一种远程调用方式相关的知识,希望对你有一定的参考价值。

http://wiki.freepascal.org/Web_Service_Toolkit
https://www.freepascal.org/~michael/articles/soap1/soap.pdf
http://chapmanworld.com/2015/03/30/creating-and-consuming-soap-services-in-delphi/
http://www.drbob42.com/examine/examinE2.htm

解析代码:

 

I am trying to parse in Delphi xml like this:

<?xml version="1.0" encoding="UTF-8"?>
 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
     <soap:Fault>
      <faultcode>soap:Server</faultcode>
      <faultstring>java.lang.ClassNotFoundException</faultstring>
    </soap:Fault>
  </soap:Body>
</soap:Envelope>

Delphi code:

program TestXML;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils,
  Xml.xmldom,
  Xml.XMLIntf,
  Xml.XMLDoc,
  ActiveX;

var
  XMLDoc: TXMLDocument;
  Root,Body,Fault,Node: IXMLNode;

begin
  CoInitialize(nil);
  try
    XMLDoc := TXMLDocument.Create(nil);
    XMLDoc.Options := XmlDoc.Options - [doNodeAutoCreate];
    XMLDoc.LoadFromFile(‘test.xml‘);
    Root := XMLDoc.DocumentElement;
    Body := Root.ChildNodes[‘Body‘];
    Writeln(Body.NodeName);
    Fault := Body.ChildNodes[‘Fault‘];
    Writeln(Fault.NodeName);
    try
      Node := Fault.ChildNodes[‘faultcode‘];
      Writeln(Node.Text);
    except
      on E:exception do Writeln(E.Message); // "Node "faultcode not found".
    end;
  finally
    CoUnInitialize;
  end;
end.

 

 

https://stackoverflow.com/questions/41140947/parse-soap-faultstring-in-delphi

以上是关于SOAP好像是一种远程调用方式的主要内容,如果未能解决你的问题,请参考以下文章

01_入门

java webservice

Web Service初探

java 调用远程接口 webservices 原理和流程

SOAP是啥?WEBService是啥?

RabbitMQ:RPC的实现