Подтвердить что ты не робот

Получение несоответствия AddressFilter в EndpointDispatcher в запросе SOAPUI

Моя служба работает нормально. Если я использую ее через мое клиентское приложение. Я использую тот же wsdl для загрузки в SOAPUI. Он успешно создал выборочные тесты для каждого метода. Я хочу отправить запрос, и он должен соответствующим образом генерировать ответ. Я вижу правильный адрес конечной точки в запросах. Он автоматически создал XML SOAP. Если я попытаюсь запустить его, чтобы получить ответ. Это дает мне следующую ошибку.

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing">
<s:Header>
  <a:Action s:mustUnderstand="1">http://www.w3.org/2005/08/addressing/soap/fault</a:Action>
</s:Header>
<s:Body>
  <s:Fault>
     <s:Code>
        <s:Value>s:Sender</s:Value>
        <s:Subcode>
           <s:Value>a:DestinationUnreachable</s:Value>
        </s:Subcode>
     </s:Code>
     <s:Reason>
        <s:Text xml:lang="en-GB">The message with To '' cannot be processed at the receiver, due to an AddressFilter mismatch at the EndpointDispatcher.  Check that the sender and receiver EndpointAddresses agree.</s:Text>
     </s:Reason>
  </s:Fault>

Я не знаю, где еще проверить, что здесь происходит. Пожалуйста, помогите мне в этом отношении. Я использую SOAPUI4.0.1.

4b9b3361

Ответ 1

Проблема заключается в том, что в сообщении Request отсутствует заголовок To. В редакторе сообщений чуть ниже окна сообщения запроса нажмите кнопку WS-A. Затем установите флажок Add default wsa:To

Теперь запустите свой запрос, и служба будет работать нормально.

Надеюсь, что это поможет.

Пожалуйста, отметьте его как ответ, если он решит вашу проблему.

Ответ 2

Вам также нужно установить WS-ReliableMessaging на true.

Ответ 3

Такая же проблема возникла у меня на сервере biztalk 2013 r2. этот работал у меня. Я думаю, нам нужно сообщить biztalk о местоположении конечной точки, чтобы отправить результат. Тест script, выполняемый в soapui, должен выглядеть следующим образом:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:cal="http://CallExec.PO">
   <soap:Header>
    <To soap:mustUnderstand="1" xmlns="http://www.w3.org/2005/08/addressing">http://biztalktbtk/CallOrchestration/Service1.svc</To>

   </soap:Header>
   <soap:Body>
      <cal:PO>
         <PO_Num>1</PO_Num>
         <Weight>1</Weight>
         <shipmentPrice>1</shipmentPrice>
      </cal:PO>
   </soap:Body>
</soap:Envelope>

Ответ 4

Кажется, что ваша служба WCF использует стандарт WS-Addressing для определения места приема, в которое должно быть отправлено сообщение. При пропуске это приводит к пустующему адресу назначения, указанному в сообщении об ошибке. Попробуйте установить свойство WS-Addressing в true в свойствах запроса.