#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>
в запросе.