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

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

<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's EndpointAddresses agree.</s:Text>
     </s:Reason>
  </s:Fault>

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


person sam    schedule 23.02.2012    source источник


Ответы (4)


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

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

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

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

person Vipul    schedule 15.10.2013
comment
Мне нужно было понять, что делает «Добавить wsa:To по умолчанию», поскольку мне нужно было воссоздать сообщение в PHP, но это неочевидно из SOAPUI. Я нашел его в httplog на нижней панели. Добавляет <wsa:To>http://[your endpoint]</wsa:To> к сообщению - person icc97; 17.06.2017

Вам также необходимо установить для параметра WS-ReliableMessaging значение true.

person Ravi C    schedule 28.06.2013

Та же проблема возникла у меня в biztalk server 2013 r2. это сработало для меня. Я думаю, нам нужно сообщить biztalk о местоположении конечной точки, чтобы отправить результат. Тестовый скрипт, запускаемый в 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>

person Halis Yılboğa    schedule 03.12.2014

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

person Artem Zankovich    schedule 07.08.2012