我有一個WCF服務工作(之前的小的改動)的單獨服務器上本地工作和以前。它現在拋出一個「無法識別的消息版本」CommunicationException。什麼可能導致這種情況?獲得「無法識別的消息版本」異常試圖調用WCF服務
在排除故障時,我發現,它的發生某處服務器上的WCF「神奇」中解析到一個使用它的自定義綁定定義之前。
服務器本身也有一些胡鬧它周圍最近完成添加SSL和更改主機名,所以我想知道如果有找到服務的東西IIS(7.5)之間的特定服務器發生,我的代碼獲取調用。
我的服務繼承自一個基類,該基類包含一個簡單的Ping方法,該方法一旦聯繫就返回成功。這對所有其他內部服務器部署都有效,但即使調用此方法現在也會提供無法識別的消息版本。
調用代碼只是使用VS生成的服務引用創建一個實例然後調用它:
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
有什麼建議嗎?