Как добавить адрес WS-A в запрос веб-сервиса SOAP через Robot Framework? - PullRequest
0 голосов
/ 01 февраля 2019

Я новичок в Robot Framework и столкнулся с проблемой.

Я пытаюсь вызвать веб-службу, для которой требуется WSA (адресация веб-службы).

Я пытался отправить запрос при использовании SoapUI.Отправка запроса через SoapUI предоставляет теги <wsa:Action>, <wsa:RelatesTo> и <wsa:MessageID> в заголовке, когда WSA включен.

Теперь я хочу сделать то же самое с RobotFramework.

Как я могу внедрить эти же теги через Robot Framework?

Вот мой тест

*** Settings ***
Library           SudsLibrary
Library           Collections
Library           String

*** Test Cases ***
test
    [Tags]    blah
    Create Soap Client    C:${/}Robot WS${/}WS${/}wsdl${/}C60W30A.wsdl
    Set Http Authentication    MyUID    MyPWD
    ${C60W30A}=    Create Wsdl Object    ns0:Invoer
    ${taimen}=    Set Soap Headers    "wsa:Action"     GenBetKenmOperation
    Set Wsdl Object Attribute    ${C60W30A}    Functie    04
    Set Wsdl Object Attribute    ${C60W30A}    Bronsysteem    COA
    Set Wsdl Object Attribute    ${C60W30A}    Gebruiker    WILLT10
    ${result}=    Call Soap Method    GenBetKenmOperation    ${C60W30A}

Где итоговый XML:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.MyCompany.nl/inning/coa/GenererenBetKenmerk" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <ns0:Body>
      <ns1:GenererenBetKenm>
         <Invoer>
            <Functie>04</Functie>
            <Bronsysteem>COA</Bronsysteem>
            <Gebruiker>GeBrID</Gebruiker>
         </Invoer>
      </ns1:GenererenBetKenm>
   </ns0:Body>
</SOAP-ENV:Envelope>

И ошибка:

FAIL : WebFault: Server raised fault: 'A required header representing a Message Addressing Property is not present'

Как вы можетесм. тег <wsa:Action> отсутствует.Как и другие теги заголовка SOAP, когда я их добавлю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...