Ошибка WCF при вызове Ws2007HttpBinding
Я пытаюсь получить данные из службы WCF ws2007HttpBinding, но каждый раз при запуске я получаю следующую ошибку:
Content Type application/soap+xml; charset=utf-8 was not supported by service
http://localhost/GoldInSacks.MutualFunds.local/MutualFunds.svc. The client
and service bindings may be mismatched.
InnerException читает это:
The remote server returned an error: (415) Cannot process the message because
the content type 'application/soap+xml; charset=utf-8' was not the expected
type 'text/xml; charset=utf-8'..
Раздел system.ServiceModel файла web.config выглядит следующим образом:
<system.serviceModel>
<services>
<service name="GoldInSacks.MutualFunds">
<endpoint address=""
binding="ws2007HttpBinding"
contract="GoldInSacks.MutualFunds.Local.IMutualFunds" />
</service>
</services>
<bindings>
<ws2007HttpBinding>
<binding>
<security mode="None" />
</binding>
</ws2007HttpBinding>
</bindings>
</system.serviceModel>
и код клиента, который в данный момент выполняется в консольном приложении, выглядит следующим образом:
EndpointAddress address =
new EndpointAddress("http://localhost/MutualFunds.local/MutualFunds.svc");
var binding = new WS2007HttpBinding();
binding.Security.Mode = SecurityMode.None;
ChannelFactory<IMutualFundsChannel> channelFactory =
new ChannelFactory<IMutualFundsChannel>(binding, address);
IMutualFundsChannel channel = channelFactory.CreateChannel();
var mf = channel.GetMutualFundsByCustomer(1);
channel.Close();
foreach (var m in mf)
{
System.Console.WriteLine(m.Name);
}
System.Console.ReadLine();
Ошибка возникает при вызове GetMutualFundsByCustomer.
Я попробовал также wsHttpBinding, но он выдал ту же ошибку.
Кто-нибудь знает, как заставить это работать?
(Извиняюсь за краткость этого вопроса, но уже поздно и мне нужно поспать).
1 ответ
Используете ли вы ту же версию SOAP на стороне клиента и службы? Возможно связано? http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/f29cd9c8-3c89-43d2-92ae-d2a270ab86b9/
Ура - Джокк