Скорее всего, вы используете WsHttpBinding
вместо BasicHttpBinding
. Веб-сервисы .NET 2.0 не могут использовать сервис WsHttpBinding
.
Проблема в протоколе. Протоколы веб-служб постоянно меняются, добавляя безопасность, федеративную идентификацию и т. Д. Поскольку они меняются, старые технологии не могут обмениваться данными с использованием более новых протоколов.
К счастью, WCF позволит вам использовать несколько протоколов в одном сервисе - просто установите отдельные конечные точки для каждого протокола, который вы хотите использовать. Однако будьте осторожны, так как некоторые из них более безопасны, чем другие.
Что касается версий, класс MessageVersion
является хорошей отправной точкой.
Редактировать: Я должен был упомянуть, что вам нужно использовать MessageVersion
как часть пользовательской привязки TextMessageEncodingBindingElement
, например:
<bindings>
<customBinding>
<binding name="MyBinding">
<textMessageEncoding messageVersion="Soap11WSAddressing10"/>
<httpTransport/>
</binding>
</customBinding>
</bindings>