MK. оказывается, ты прав. Я использовал приведенный ниже код для чтения в файле "in.xls" как двоичного файла в $ data, затем добавил его в качестве значения в soap lite, и он автоматически преобразовался в байт [] в моей службе wcf.
open FHDL, "in.xls" or die $!;
binmode FHDL;
my ($buffer, $data, $n);
while (($n = read FHDL, $buffer, 4) != 0) {
print "$n bytes read\n";
$data .= $buffer ;
}
close FHDL;
$logisticOrder->attachment($data);
Мне просто нужно было увеличить размер байтового массива на моем хосте.
<binding name="NetTcpBinding_ImageResizerServiceContract" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions"
hostNameComparisonMode="StrongWildcard" listenBacklog="10"
maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxConnections="10"
maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="2147483647"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647" />
<reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false" />
</binding>
Спасибо