Я пытаюсь преобразовать файл с Powershell в кодированный в Base64 байт-массив, который требуется веб-сервисом. Как я могу это сделать?Powershell Base64 String to Bytes
Мой текущий подход заключается в следующем:
$content = [System.IO.File]::ReadAllBytes("$scriptpath/dummy.txt")
$base64String =[System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($content))
$proxy = New-WebServiceProxy -Uri _____.wsdl
//... set up proxy-objects
$namespace = $proxy.GetType().Namespace
$soapObject= new-object ("$namespace.customType")
$soapObject.byteArray = base64String
Последняя строка не будет работать, так как base64String не массив байтов. К сожалению, я должен быть байтовым массивом, и у меня нет доступа к серверной стороне.
Используя XML-нотацию, я просто могу напрямую поместить строку Base64Encoded. Но как делать с powershell?
<customType><byteArray>anyBase64String</byteArray></customType>
Что такое 'soapObject'? Я ожидал бы, что если он ожидает массив байтов, тогда вы сможете предоставить массив байтов, и прокси преобразует его в base64. –
Вот и все! Так же просто, как просто вставить необработанные данные ... Для полноты я добавил инициализацию soapObject. Если вы ответите, я могу принять его. –