我的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调用运行没有任何问题。