Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获得;无法识别的消息版本“;尝试调用WCF服务时出现异常_Wcf_C# 4.0 - Fatal编程技术网

获得;无法识别的消息版本“;尝试调用WCF服务时出现异常

获得;无法识别的消息版本“;尝试调用WCF服务时出现异常,wcf,c#-4.0,Wcf,C# 4.0,我有一个WCF服务,它在本地工作,以前(在进行小改动之前)在单独的服务器上工作。它现在抛出“无法识别的消息版本”CommunicationException。这可能是什么原因造成的 在故障排除过程中,我发现在服务器解析为使用为其定义的自定义绑定之前,它在WCF“magic”中的某个地方发生 服务器本身最近做了一些手脚来添加SSL和更改主机名,所以我想知道在IIS(7.5)查找服务和调用我的代码之间是否发生了特定于服务器的事情 我的服务继承自一个基类,该基类包含一个简单的Ping方法,该方法仅在联

我有一个WCF服务,它在本地工作,以前(在进行小改动之前)在单独的服务器上工作。它现在抛出“无法识别的消息版本”CommunicationException。这可能是什么原因造成的

在故障排除过程中,我发现在服务器解析为使用为其定义的自定义绑定之前,它在WCF“magic”中的某个地方发生

服务器本身最近做了一些手脚来添加SSL和更改主机名,所以我想知道在IIS(7.5)查找服务和调用我的代码之间是否发生了特定于服务器的事情

我的服务继承自一个基类,该基类包含一个简单的Ping方法,该方法仅在联系成功后返回success。这对所有其他内部服务器部署都有效,但即使调用此方法,现在也会给出无法识别的消息版本

调用代码仅使用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

有什么建议吗?

这里有一个非常合适的例子:我们有一个负载平衡器(F5),它也可以管理SSL证书。传入的请求看起来被正确地转发到服务器,但也被重定向回自身。我不是足够的网络工程师,不知道所有的细节,但它是F5配置,而不是WCF