如何使用Perl中的SOAP请求将文件作为角钱附件发送?

时间:2017-01-19 09:34:13

标签: perl web-services soap wsdl

我的WSDL有一个SOAP动作' TransferFile'将文件作为DIME附件并将其存储在远程设备文件系统上。要传输文件的远程设备上所需位置的路径是SOAP操作的参数。

my $soap = SOAP::Lite
            -> proxy('http://'.$ipAddress.':$port',
                     cookie_jar => HTTP::Cookies->new(ignore_discard => 1)
                    )
           -> uri('idws');

$soap->autotype(0);

my $ent = build MIME::Entity
    Type        => "file",
#   Encoding    => "base64",
    Path        => "$file_path",
    Filename    => "test_tr_files",
    Disposition => "attachment";

my $som_ent = $soap->parts([$ent]);

my $som_tf = $soap->TransferFile(SOAP::Data->name("RemotePath"=>"$rpath"));

$ som_tf->结果始终返回false,文件未传输到设备。

对SOAP :: Lite模块使用跟踪和调试显示$ soap-> parts([$ ent])的错误。 SOAP :: Transport :: HTTP :: Client :: send_receive:HTTP / 1.1 500内部服务器错误

即使使用SOAPui也没有运气。

是否有不同的库可以用于同一目的,或者我做错了吗?

soap连接很好,因为其他不需要角钱附件的SOAP调用运行没有任何问题。

0 个答案:

没有答案