Заголовок службы мыла <s: mustUnderstand в C # - PullRequest
0 голосов
/ 02 июля 2018

Я создал веб-сервис, чтобы принять этот запрос на мыло. Я проверил и работает нормально без заголовка если я добавлю заголовок, все еще работающий для s: mustUnderstand = "0", но если я изменяю его на 1, он ломается

Действие s: mustUnderstand = "1"

для того, чтобы принять заголовок, какие изменения мне нужно сделать в моем веб-сервисе? Заранее спасибо

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">   <s:Header>
        <Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://www.xxxx-ccc.co.uk/Integration/SaveApplication</Action> </s:Header>  

<s:Body>  applicant>
          <title>Mr</title>
          <forename>dd</forename>
          <surname>ee</surname>
          <address>
            <street1>ppp</street1>
            <town>dd</town>
            <county>cc</county>
            <postcode>rtrtr</postcode>
          </address>
        </applicant> 
</s:Body> </s:Envelope>

Это код моего веб-сервиса

 [WebService(Namespace = "http://www.xxxx-ccc.co.uk/Integration/")]
 [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
 [System.ComponentModel.ToolboxItem(false)]
    public class CG_ADNContact : System.Web.Services.WebService
    {

        [WebMethod(Description = "")]
        public XmlDocument SaveApplication()
        { //Do some thing }

}

1 Ответ

0 голосов
/ 02 июля 2018

Пространство имен http://schemas.microsoft.com/ws/2005/05/addressing/none недопустимо для элемента Action. Это никогда не должно быть в мыльном сообщении. Откуда вы получили сообщение? Возможно, вы скопировали его из журнала трассировки wcf?

Если атрибут mustUnderstand имеет значение true (или 1), это в основном означает, что рассматриваемый элемент должен быть частью контракта на обслуживание. Вы можете управлять этим с помощью свойства MustUnderstand атрибута MessageHeader.

См. здесь Пример контракта на обслуживание, который использует этот атрибут.

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