获得;无法识别的消息版本“;尝试调用WCF服务时出现异常
我有一个WCF服务,它在本地工作,以前(在进行小改动之前)在单独的服务器上工作。它现在抛出“无法识别的消息版本”CommunicationException。这可能是什么原因造成的 在故障排除过程中,我发现在服务器解析为使用为其定义的自定义绑定之前,它在WCF“magic”中的某个地方发生 服务器本身最近做了一些手脚来添加SSL和更改主机名,所以我想知道在IIS(7.5)查找服务和调用我的代码之间是否发生了特定于服务器的事情 我的服务继承自一个基类,该基类包含一个简单的Ping方法,该方法仅在联系成功后返回success。这对所有其他内部服务器部署都有效,但即使调用此方法,现在也会给出无法识别的消息版本 调用代码仅使用VS生成的服务引用创建实例,然后调用它:获得;无法识别的消息版本“;尝试调用WCF服务时出现异常,wcf,c#-4.0,Wcf,C# 4.0,我有一个WCF服务,它在本地工作,以前(在进行小改动之前)在单独的服务器上工作。它现在抛出“无法识别的消息版本”CommunicationException。这可能是什么原因造成的 在故障排除过程中,我发现在服务器解析为使用为其定义的自定义绑定之前,它在WCF“magic”中的某个地方发生 服务器本身最近做了一些手脚来添加SSL和更改主机名,所以我想知道在IIS(7.5)查找服务和调用我的代码之间是否发生了特定于服务器的事情 我的服务继承自一个基类,该基类包含一个简单的Ping方法,该方法仅在联
var MyService = new MyNamespace.MyServiceClient();
var result = MyService.Ping();
更新
堆栈跟踪(不存在InnerException)让我怀疑它是否与SOAP相关:
Server stack trace:
at System.ServiceModel.Channels.ReceivedMessage.ReadStartEnvelope(XmlDictionaryReader reader)
at System.ServiceModel.Channels.BufferedMessage..ctor(IBufferedMessageData messageData, RecycledMessageState recycledMessageState, Boolean[] understoodHeaders, Boolean understoodHeadersModified)
at System.ServiceModel.Channels.TextMessageEncoderFactory.TextMessageEncoder.ReadMessage(ArraySegment`1 buffer, BufferManager bufferManager, String contentType)
at System.ServiceModel.Channels.MessageEncoder.ReadMessage(Stream stream, BufferManager bufferManager, Int32 maxBufferSize, String contentType)
at System.ServiceModel.Channels.HttpInput.ReadChunkedBufferedMessage(Stream inputStream)
at System.ServiceModel.Channels.HttpInput.ParseIncomingMessage(Exception& requestException)
at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Lenderprise.WebServiceHost.Test.LLSSTitleSearch.ITitleSearch.Ping()
at Lenderprise.WebServiceHost.Test.LLSSTitleSearch.TitleSearchClient.Ping() in D:\LLN\DEV\LenderPrise\WebServices\TitleSearchWebServiceHost.Test\Service References\LLSSTitleSearch\Reference.cs:line 138
at Lenderprise.MainWindow.RunAsLibraryButton_Click(Object sender, RoutedEventArgs e) in D:\LLN\DEV\LenderPrise\WebServices\TitleSearchWebServiceHost.Test\MainWindow.xaml.cs:line 91
有什么建议吗?这里有一个非常合适的例子:我们有一个负载平衡器(F5),它也可以管理SSL证书。传入的请求看起来被正确地转发到服务器,但也被重定向回自身。我不是足够的网络工程师,不知道所有的细节,但它是F5配置,而不是WCF