Ошибка порта отправки BizTalk WCF - заголовок «CoordinationContext» не понят - PullRequest
1 голос
/ 02 декабря 2010

У меня настроен порт отправки WCF-WSHttp с установленным флажком «Включить транзакции», и при отправке сообщения появляется следующая ошибка:

The header 'CoordinationContext' from the namespace 'http://schemas.xmlsoap.org/ws/2004/10/wscoor' was not understood by the recipient of this message, causing the message to not be processed.  This error typically indicates that the sender of this message has enabled a communication protocol that the receiver cannot process.  Please ensure that the configuration of the client's binding is consistent with the service's binding. 

Если снять флажок «Включить транзакции», сообщение будет успешно обработано. Может ли кто-нибудь помочь мне получить эту работу с поддержкой транзакций?

Вот информация о привязке из сервиса web.config (транзакция имеет значение true):

<bindings>
      <wsHttpBinding>
        <binding name="serviceBinding" closeTimeout="00:01:00"
            openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
            bypassProxyOnLocal="false" transactionFlow="true" hostNameComparisonMode="StrongWildcard"
            maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
            messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
            allowCookies="false">
          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
              maxBytesPerRead="4096" maxNameTableCharCount="16384" />
          <reliableSession ordered="true" inactivityTimeout="00:10:00"
              enabled="false" />
          <security mode="Transport">
            <transport clientCredentialType="Ntlm" proxyCredentialType="None"
                realm="" />
            <message clientCredentialType="Windows" negotiateServiceCredential="true"
                establishSecurityContext="true" />
          </security>
        </binding>
      </wsHttpBinding>
    </bindings>

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

Ответы [ 2 ]

0 голосов
/ 16 декабря 2010

Оказывается, проблема была с самой службой. Хотя привязки были правильно настроены с параметром транзакция транзакции = "истина", в контракте на обслуживание отсутствовал следующий атрибут для явного разрешения транзакции:

[System.ServiceModel.TransactionFlowAttribute(System.ServiceModel.TransactionFlowOption.Allowed)]
0 голосов
/ 07 декабря 2010

Это может быть проблема с настройкой MSDTC, см. http://msdn.microsoft.com/en-us/library/ms752261.aspx

Также проверьте журнал событий на наличие ошибок, связанных с MSDTC.

...