Обязательный элемент не содержит wsu: id? - PullRequest
0 голосов
/ 16 апреля 2010

Я новичок в soapUI 3.5. Я пробовал некоторые wsdl, которые получают защиту от веб-службы, развернутой на jboss 4.2.1

во время выполнения теста на soapUI. Это дает мне

     <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
     <env:Header/>
     <env:Body>
     <env:Fault>
     <faultcode>env:Server</faultcode>
     <faultstring>org.jboss.ws.core.CommonSOAPFaultException: Required element did not contain a wsu:id.</faultstring>
     </env:Fault>
     </env:Body>
      </env:Envelope>

Есть предложения?

Заранее спасибо

Ответы [ 3 ]

1 голос
/ 28 сентября 2011

У меня была такая же проблема. Я нашел решение на форуме JBoss

Клиенты JBoss WS генерируют в элементе атрибут wsu: Id, который SoapUI не будет вставлять автоматически. Вот как выглядит мой SoapUI-запрос по умолчанию (просмотр / редактирование на вкладке XML):

<soapenv:Header/>
  <soapenv:Body>
    <ser:getCutOffTime/>
  </soapenv:Body>

Вы можете использовать SoapUI, если в тексте своего запроса вы добавите «фиктивный» wsu: Id. Обязательно укажите пространство имен:

<soapenv:Header/>
  <soapenv:Body wsu:Id="element-1-1272320911598-1522000" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <ser:getCutOffTime/>
  </soapenv:Body>

Это решило проблему для меня. Я использовал JBoss 5.0.

0 голосов
/ 16 апреля 2010

Серверу, на котором вы работали, не понравился ваш запрос. Вероятно, потому что SoapUI построил образец, используя? в качестве заполнителей, или, возможно, "Lorem Ipsum" значения. Замените их действительными данными, и они должны пройти.

Если у вас есть приложение, которое уже может общаться с этим сервером, вы обычно можете скопировать / вставить эти запросы в SoapUI.

Кроме того, если вы не можете захватить эти примеры запросов, запустите Fiddler на ПК, и он будет действовать как прокси-сервер, а затем предоставит вам простой способ сбора образцов полезных данных. SoapUI тоже может это сделать, но Fiddler делает это действительно легко (автоматически настраивает WinInet для использования себя в качестве прокси).

0 голосов
/ 16 апреля 2010

Я не верю, что это исключение безопасности. Я считаю, что ваш WSDL искажен или иным образом несовместим с инструментом тестирования soapUI. Вполне вероятно, что другие инструменты тестирования или клиентские библиотеки также будут генерировать исключения. Был ли этот WSDL сгенерирован автоматически? Это должно было быть ...

...