Ответ 1
Это, вероятно, проблема с адресацией WS-A.
На вкладке WS-A вашего запроса установите флажок "Включить адресацию WS-A". Вам также может потребоваться установить флажок "Добавить значение по умолчанию: Кому".
Я тестирую службу WCF с образцом ввода в SOAPUI. когда я нажимаю пробег, я получаю исключение 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/fault</a:Action>
</s:Header>
<s:Body>
<s:Fault>
<s:Code>
<s:Value>s:Sender</s:Value>
<s:Subcode>
<s:Value>a:ActionMismatch</s:Value>
</s:Subcode>
</s:Code>
<s:Reason>
<s:Text xml:lang="en-US">The SOAP action specified on the message, '', does not match the HTTP SOAP Action, 'http://XXX.XX.XXXX/IXXXXXX/AddOrderInfromation'.</s:Text>
</s:Reason>
<s:Detail>
<a:ProblemHeaderQName>a:Action</a:ProblemHeaderQName>
</s:Detail>
</s:Fault>
</s:Body>
</s:Envelope>
В блогах они просят добавить Soap Action. Как добавить действие мыла в мой запрос ниже:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wkus="http://XXX.XX.XXXX/IXXXXXX">
<soap:Header />
<soap:Body>
<ns1:AddOrderInfromation>
<!--Optional:-->
<ns1:inputsting>
<ns1:AddOrderInfromation>
<ns1:OrderNo>4500146</ns1:OrderNo>
<ns1:OrderDate>08/22/2014</ns1:OrderDate>
<ns1:TotalItems>1</ns1:TotalItems>
</ns1:AddOrderInfromation>
</ns1:inputsting>
</ns1:AddOrderInfromation>
Пожалуйста, предложите. Спасибо в Advance
Это, вероятно, проблема с адресацией WS-A.
На вкладке WS-A вашего запроса установите флажок "Включить адресацию WS-A". Вам также может потребоваться установить флажок "Добавить значение по умолчанию: Кому".
Ваш веб-сервис возвращает SOAPFault, в котором говорится, что веб-служба ожидает HTTP-заголовок SOAP Action. Чтобы добавить SOAP-действие в ваш SOAP-запрос из SOAPUI, вы должны добавить заголовок http с именем SOAPAction
, чтобы сделать следующий шаг:
Header(0)
, Attachments(0)
...), откройте вкладку Header(0)
. Затем, используя кнопку +
add, добавьте заголовок с SOAPAction
имя и ваше значение:
надеюсь, что это поможет,
Эта ошибка также возникает из-за неправильного синтаксиса в запросе xml
Например: он выдает ту же ошибку, если закрывающий тег отсутствует
</soap:Body>
</soap:Envelope>
ниже кода
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wkus="http://XXX.XX.XXXX/IXXXXXX">
<soap:Header />
<soap:Body>
<ns1:AddOrderInfromation>
<ns1:inputsting>
<ns1:AddOrderInfromation>
<ns1:OrderNo>4500146</ns1:OrderNo>
<ns1:OrderDate>08/22/2014</ns1:OrderDate>
<ns1:TotalItems>1</ns1:TotalItems>
</ns1:AddOrderInfromation>
</ns1:inputsting>
</ns1:AddOrderInfromation>
или если имеется неожиданный синтаксис, подобный этому
<ns1:OrderNo>4500146**<ns1:OrderNo>**
вместо
<ns1:OrderNo>4500146**</ns1:OrderNo>**
или
<ns1:**OrderNo**4500146</ns1:OrderNo>
вместо
<ns1:**OrderNo>**4500146</ns1:OrderNo>