Отправить вложение файла как base64Binary в SoapUI

#soap #base64 #wsdl #soapui #xop

#soap #base64 #wsdl #soapui #xop

Вопрос:

Существует элемент, который определен как base64Binary в WSDL. Я прикрепил файл с идентификатором ref1 содержимого и добавил его в запрос SOAP следующим образом:

 <docBytes><xop:Include href="cid:ref1" xmlns:xop="http://www.w3.org/2004/08/xop/include"/></docBytes>
  

При попытке отправить его я получил следующее сообщение об ошибке:

cvc-type.3.1.2: Элемент ‘docBytes’ — это простой тип, поэтому в нем не должно быть элемента информации об элементе [дочерние элементы]

Он работает, когда я вставляю строку в кодировке base64 между тегами.

Ответ №1:

Это правильно, у меня есть службы, куда отправляется PDF, и я сохранил документ в виде массива байт base64 в таком свойстве, как это:

 def docContent = new File("path/to/file")
def encodedDoc = docContent.bytes.encodeBase64().toString()
testRunner.testCase.setPropertyValue("encodedDoc", encodedDoc)
  

Затем используйте его с:

 <docBytes>${#TestCase#encodedDoc}</docBytes>
  

в запросе.