Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有文件附件和PHP作为客户端的Delphi SOAP服务器_Php_Delphi_Soap - Fatal编程技术网

带有文件附件和PHP作为客户端的Delphi SOAP服务器

带有文件附件和PHP作为客户端的Delphi SOAP服务器,php,delphi,soap,Php,Delphi,Soap,我正在寻找能够在PHP和DelphiSOAP服务器之间进行集成的解决方案。我想通过PHP SOAP客户端将一个文件发送到Delphi SOAP服务器。Delphi服务器代码将使用TSOApatachment调用,示例代码如下:- Ttextminesvc = class(TInvokableClass, Itextminesvc) public ..... protected function UploadFile(afilename: string; afile: TSo

我正在寻找能够在PHP和DelphiSOAP服务器之间进行集成的解决方案。我想通过PHP SOAP客户端将一个文件发送到Delphi SOAP服务器。Delphi服务器代码将使用TSOApatachment调用,示例代码如下:-

Ttextminesvc = class(TInvokableClass, Itextminesvc)
  public
 .....
  protected
      function UploadFile(afilename: string; afile: TSoapAttachment): Boolean;
      stdcall;

....... 

function Ttextminesvc.UploadFile(afilename: string; afile: TSoapAttachment): Boolean;
var ffilename: string;
const pathdir = 'C:\tmp';
begin
  result := false;
  ffilename := pathdir + afilename;
  try
    if not directoryexists(pathdir) then
      ForceDirectories(pathdir);
  except
    raise Exception.Create('Unable to create repository directory on the server.');
  end;
  try
    if not fileexists(ffilename) then
    begin
      afile.SaveToFile(ffilename);
      result := true;
    end;
  except
    result := false;
  end;
end;
感谢来自另一个SO帖子的(http://stackoverflow.com/questions/3663416/php-soap-file-upload):

“您可以传输任何您喜欢的数据。您只需要对二进制数据进行base64编码。它会将其转换为ascii字符。然后您可以像普通字符串变量一样传输它。您唯一需要注意的是服务器限制。”

所以您实际的问题是“如何使用PHP SOAP客户端发送文件附件”?相关:。关于这一点,谷歌做了一个简短的调查,表明如果不为PHP开发自己的SOAP客户端,这是不可能的,但我很高兴在这一点上被证明是错误的。是的,使用PHP向Delphi SOAP服务器发送一个文件。我在使用函数UploadFile(afilename:string;afile:tsoapatachment)时遇到问题。如何在PHP中处理TSoapAttachment?这表明它可以用NuSOAP来完成:-我现在读到的关于这个主题的许多帖子的普遍共识似乎是,它不能用PHP原生SOAP客户端来完成。