2012-01-11 3 views
5

Я пишу консольный WCF-клиент для одного WCF-WebService. При вызове службы я получаю сообщение об ошибке в десериализации тела запроса:Ошибка в десериализации тела ответного сообщения для операции

Ошибка в десериализации тела ответного сообщения для

Агент кода операции «GetProfiles»:

string userLogin = "root", userPassword = "root"; 
string ipaddress = "192.168.137.164"; 

HttpTransportBindingElement httpTransportBindingElement = new HttpTransportBindingElement(); 
httpTransportBindingElement.AuthenticationScheme = AuthenticationSchemes.Digest; 
httpTransportBindingElement.KeepAliveEnabled = false; 
httpTransportBindingElement.MaxBufferSize = int.MaxValue; 
httpTransportBindingElement.MaxBufferPoolSize = int.MaxValue; 
httpTransportBindingElement.MaxReceivedMessageSize = int.MaxValue; 

TextMessageEncodingBindingElement textMessageEncodingBindingElement = new TextMessageEncodingBindingElement(); 
textMessageEncodingBindingElement.MaxReadPoolSize = int.MaxValue; 
textMessageEncodingBindingElement.MaxWritePoolSize = int.MaxValue; 
textMessageEncodingBindingElement.ReaderQuotas.MaxDepth = 64; 
textMessageEncodingBindingElement.ReaderQuotas.MaxBytesPerRead = int.MaxValue; 
textMessageEncodingBindingElement.ReaderQuotas.MaxArrayLength = int.MaxValue; 
textMessageEncodingBindingElement.ReaderQuotas.MaxNameTableCharCount = int.MaxValue; 
textMessageEncodingBindingElement.ReaderQuotas.MaxStringContentLength = int.MaxValue; 


CustomBinding binding = new CustomBinding(textMessageEncodingBindingElement, httpTransportBindingElement); 

EndpointAddress MediaEndPointAddress = new EndpointAddress("http://" + ipaddress + ":80/onvif/services"); 

MediaClient mediaClient = new MediaClient(binding, MediaEndPointAddress); 
mediaClient.ClientCredentials.UserName.UserName = userLogin; 
mediaClient.ClientCredentials.UserName.Password = userPassword; 

Profile[] profiles = mediaClient.GetProfiles(); // throw excpetion 

У меня есть уже смотрел запросы и ответы с помощью сниффера, и все в порядке! WebService отправил «200 OK». Если у меня есть небольшой ответ от WebService, ошибок и исключений не будет! У меня нет кода WebService. Что мне делать?

Стек след:

<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"> 
<System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"> 
<EventID>131075</EventID> 
<Type>3</Type> 
<SubType Name="Error">0</SubType> 
<Level>2</Level> 
<TimeCreated SystemTime="2012-01-11T11:11:12.2185609Z" /> 
<Source Name="System.ServiceModel" /> 
<Correlation ActivityID="{550193ea-8569-40e6-b794-1a0eed69a1ba}" /> 
<Execution ProcessName="TestingConsole.vshost" ProcessID="6128" ThreadID="9" /> 
<Channel /> 
<Computer>WS-LSH</Computer> 
</System> 
<ApplicationData> 
<TraceData> 
<DataItem> 
<TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Error"> 
<TraceIdentifier>http://msdn.microsoft.com/ru-RU/library/System.ServiceModel.Diagnostics.ThrowingException.aspx</TraceIdentifier> 
<Description>Throwing an exception.</Description> 
<AppDomain>TestingConsole.vshost.exe</AppDomain> 
<Exception> 
<ExceptionType>System.ServiceModel.CommunicationException, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType> 
<Message>Error in deserializing body of reply message for operation 'GetProfiles'. </Message> 
<StackTrace> 
at System.ServiceModel.Dispatcher.XmlSerializerOperationFormatter.DeserializeBody(XmlDictionaryReader reader, MessageVersion version, XmlSerializer serializer, MessagePartDescription returnPart, MessagePartDescriptionCollection bodyParts, Object[] parameters, Boolean isRequest) 
at System.ServiceModel.Dispatcher.XmlSerializerOperationFormatter.DeserializeBody(XmlDictionaryReader reader, MessageVersion version, String action, MessageDescription messageDescription, Object[] parameters, Boolean isRequest) 
at System.ServiceModel.Dispatcher.OperationFormatter.DeserializeBodyContents(Message message, Object[] parameters, Boolean isRequest) 
at System.ServiceModel.Dispatcher.OperationFormatter.DeserializeReply(Message message, Object[] parameters) 
at System.ServiceModel.Dispatcher.ProxyOperationRuntime.AfterReply(ProxyRpc&amp; rpc) 
at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc&amp; rpc) 
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) 
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&amp; msgData, Int32 type) 
at TestingConsole.Onvif.Media.Media.GetProfiles(GetProfilesRequest request) 
at TestingConsole.Onvif.Media.MediaClient.TestingConsole.Onvif.Media.Media.GetProfiles(GetProfilesRequest request) 
at TestingConsole.Onvif.Media.MediaClient.GetProfiles() 
at TestingConsole.Program.Main(String[] args) 
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args) 
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args) 
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() 
at System.Threading.ThreadHelper.ThreadStart_Context(Object state) 
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx) 
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 
at System.Threading.ThreadHelper.ThreadStart() 
</StackTrace> 
<ExceptionString>System.ServiceModel.CommunicationException: Error in deserializing body of reply message for operation 'GetProfiles'. ---&gt; System.InvalidOperationException: There is an error in XML document (2, 6287). ---&gt; System.Xml.XmlException: The byte 0x03 is not valid at this location. Line 2, position 6287. 
    at System.Xml.XmlExceptionHelper.ThrowXmlException(XmlDictionaryReader reader, String res, String arg1, String arg2, String arg3) 
    at System.Xml.XmlExceptionHelper.ThrowInvalidXml(XmlDictionaryReader reader, Byte b) 
    at System.Xml.XmlUTF8TextReader.Read() 
    at System.Xml.XmlDictionaryReader.ReadString(Int32 maxStringContentLength) 
    at System.Xml.XmlDictionaryReader.ReadString() 
    at System.Xml.XmlBaseReader.ReadElementString() 
    at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderMedia.Read59_VideoSourceConfiguration(Boolean isNullable, Boolean checkType) 
    at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderMedia.Read150_Profile(Boolean isNullable, Boolean checkType) 
    at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderMedia.Read224_GetProfilesResponse() 
    at Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer73.Deserialize(XmlSerializationReader reader) 
    at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events) 
    --- End of inner exception stack trace --- 
    at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events) 
    at System.ServiceModel.Dispatcher.XmlSerializerOperationFormatter.DeserializeBody(XmlDictionaryReader reader, MessageVersion version, XmlSerializer serializer, MessagePartDescription returnPart, MessagePartDescriptionCollection bodyParts, Object[] parameters, Boolean isRequest) 
    --- End of inner exception stack trace ---</ExceptionString> 
<InnerException> 
<ExceptionType>System.InvalidOperationException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType> 
<Message>There is an error in XML document (2, 6287).</Message> 
<StackTrace> 
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events) 
at  System.ServiceModel.Dispatcher.XmlSerializerOperationFormatter.DeserializeBody(XmlDictionaryReader reader, MessageVersion version, XmlSerializer serializer, MessagePartDescription returnPart, MessagePartDescriptionCollection bodyParts, Object[] parameters, Boolean isRequest) 
</StackTrace> 
<ExceptionString>System.InvalidOperationException: There is an error in XML document (2, 6287). ---&gt; System.Xml.XmlException: The byte 0x03 is not valid at this location. Line 2, position 6287. 
    at System.Xml.XmlExceptionHelper.ThrowXmlException(XmlDictionaryReader reader, String res, String arg1, String arg2, String arg3) 
    at System.Xml.XmlExceptionHelper.ThrowInvalidXml(XmlDictionaryReader reader, Byte b) 
    at System.Xml.XmlUTF8TextReader.Read() 
    at System.Xml.XmlDictionaryReader.ReadString(Int32 maxStringContentLength) 
    at System.Xml.XmlDictionaryReader.ReadString() 
    at System.Xml.XmlBaseReader.ReadElementString() 
    at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderMedia.Read59_VideoSourceConfiguration(Boolean isNullable, Boolean checkType) 
    at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderMedia.Read150_Profile(Boolean isNullable, Boolean checkType) 
    at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderMedia.Read224_GetProfilesResponse() 
    at Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer73.Deserialize(XmlSerializationReader reader) 
    at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events) 
    --- End of inner exception stack trace --- 
    at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events) 
    at System.ServiceModel.Dispatcher.XmlSerializerOperationFormatter.DeserializeBody(XmlDictionaryReader reader, MessageVersion version, XmlSerializer serializer, MessagePartDescription returnPart, MessagePartDescriptionCollection bodyParts, Object[] parameters, Boolean isRequest)</ExceptionString> 
<InnerException> 
<ExceptionType>System.Xml.XmlException, System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType> 
<Message>The byte 0x03 is not valid at this location. Line 2, position 6287.</Message> 
<StackTrace> 
at System.Xml.XmlExceptionHelper.ThrowXmlException(XmlDictionaryReader reader, String  res, String arg1, String arg2, String arg3) 
at System.Xml.XmlExceptionHelper.ThrowInvalidXml(XmlDictionaryReader reader, Byte b) 
at System.Xml.XmlUTF8TextReader.Read() 
at System.Xml.XmlDictionaryReader.ReadString(Int32 maxStringContentLength) 
at System.Xml.XmlDictionaryReader.ReadString() 
at System.Xml.XmlBaseReader.ReadElementString() 
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderMedia.Read59_VideoSourceConfiguration(Boolean isNullable, Boolean checkType) 
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderMedia.Read150_Profile(Boolean isNullable, Boolean checkType) 
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderMedia.Read224_GetProfilesResponse() 
at Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer73.Deserialize(XmlSerializationReader reader) 
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events) 
</StackTrace> 
<ExceptionString>System.Xml.XmlException: The byte 0x03 is not valid at this location. Line 2, position 6287. 
    at System.Xml.XmlExceptionHelper.ThrowXmlException(XmlDictionaryReader reader, String res, String arg1, String arg2, String arg3) 
    at System.Xml.XmlExceptionHelper.ThrowInvalidXml(XmlDictionaryReader reader, Byte b) 
    at System.Xml.XmlUTF8TextReader.Read() 
    at System.Xml.XmlDictionaryReader.ReadString(Int32 maxStringContentLength) 
    at System.Xml.XmlDictionaryReader.ReadString() 
    at System.Xml.XmlBaseReader.ReadElementString() 
    at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderMedia.Read59_VideoSourceConfiguration(Boolean isNullable, Boolean checkType) 
    at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderMedia.Read150_Profile(Boolean isNullable, Boolean checkType) 
    at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderMedia.Read224_GetProfilesResponse() 
    at Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer73.Deserialize(XmlSerializationReader reader) 
    at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)</ExceptionString> 
</InnerException> 
</InnerException> 
</Exception> 
</TraceRecord> 
</DataItem> 
</TraceData> 
</ApplicationData> 

я переписать свой код. Теперь у меня есть:

string soapRequest = "<s:Envelope xmlns:s=\"http://www.w3.org/2003/05/soap-envelope\">" + 
           "<s:Header>" + 
           "</s:Header>" + 
           "<s:Body xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">" + 
           "<GetProfiles xmlns=\"http://www.onvif.org/ver10/media/wsdl\"/>" + 
           "</s:Body>" + 
           "</s:Envelope>"; 


XmlReader envelopeReader = XmlReader.Create(new StringReader(soapRequest)); 

Message requestMsg = Message.CreateMessage(envelopeReader, int.MaxValue, MessageVersion.Soap12); 

Message responseMsg = null; 

IChannelFactory<IRequestChannel> channelFactory = binding.BuildChannelFactory<IRequestChannel>(); 
channelFactory.Open(); 

IRequestChannel channel = channelFactory.CreateChannel(MediaEndPointAddress); 
channel.Open(); 

responseMsg = channel.Request(requestMsg); 
Console.WriteLine(responseMsg.ToString()); 

Ответный сообщение Последняя строка "Ошибка чтения тела: System.Xml.XmlException: '' содержит недопустимые UTF8 байты ...}.".

WebService отправляет байты без ut8, но указывает «UTF-8» в заголовке. Что мне делать?

Ответить Тело сообщения

HTTP/1.1 200 OK 
Server: gSOAP/2.7 
Content-Type: application/soap+xml; charset=utf-8 
Content-Length: 11591 
Connection: close 

<?xml version="1.0" encoding="UTF-8"?> 
      <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope"       xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding"      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"      xmlns:xsd="http://www.w3.org/2001/XMLSchema"      xmlns:wsa5="http://www.w3.org/2005/08/addressing"      xmlns:xmime5="http://www.w3.org/2005/05/xmlmime"      xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"      xmlns:ter="http://www.onvif.org/ver10/error"      xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"      xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"      xmlns:c14n="http://www.w3.org/2001/10/xml-exc-c14n#"      xmlns:ds="http://www.w3.org/2000/09/xmldsig#"      xmlns:tns1="http://www.onvif.org/ver10/topics"      xmlns:ns1="http://www.onvif.org/ver20/analytics/wsdl"      xmlns:ns2="http://www.onvif.org/ver10/schema"      xmlns:ns3="http://docs.oasis-open.org/wsn/b-2"      xmlns:ns4="http://docs.oasis-open.org/wsrf/bf-2"      xmlns:ns5="http://docs.oasis-open.org/wsn/t-1"      xmlns:ns6="http://www.onvif.org/ver10/device/wsdl"      xmlns:ns7="http://www.onvif.org/ver10/events/wsdl"      xmlns:ns9="http://docs.oasis-open.org/wsrf/r-2"       xmlns:ns10="http://www.onvif.org/ver10/imaging/wsdl"      xmlns:ns11="http://www.onvif.org/ver10/media/wsdl"      xmlns:ns12="http://www.onvif.org/ver20/ptz/wsdl"      xmlns:ns13="http://www.onvif.org/ver10/network/wsdl/"      xmlns:ns14="http://schemas.xmlsoap.org/ws/2005/04/discovery"      xmlns:ns16="http://www.onvif.org/ver10/analytics/wsdl/RuleEngineBinding"      xmlns:ns17="http://www.onvif.org/ver10/analytics/wsdl/AnalyticsEngineBinding"      xmlns:ns18="http://www.onvif.org/ver10/events/wsdl/PullPointSubscriptionBinding"      xmlns:ns19="http://www.onvif.org/ver10/events/wsdl/EventBinding"      xmlns:ns20="http://www.onvif.org/ver10/events/wsdl/SubscriptionManagerBinding"      xmlns:ns21="http://www.onvif.org/ver10/events/wsdl/NotificationProducerBinding"       xmlns:ns22="http://www.onvif.org/ver10/events/wsdl/NotificationConsumerBinding"       xmlns:ns23="http://www.onvif.org/ver10/events/wsdl/PullPointBinding"      xmlns:ns24="http://www.onvif.org/ver10/events/wsdl/CreatePullPointBinding"      xmlns:ns25="http://www.onvif.org/ver10/events/wsdl/PausableSubscriptionManagerBinding"      xmlns:ns26="http://www.onvif.org/ver10/network/wsdl/RemoteDiscoveryBinding"       xmlns:ns27="http://www.onvif.org/ver10/network/wsdl/DiscoveryLookupBinding"       xmlns:ns28="http://www.onvif.org/ver10/events/wsdl/EventPortType"      xmlns:ns29="http://www.3svision.com.tw/2009/event/topics">      <SOAP-ENV:Header></SOAP-ENV:Header><SOAP-ENV:Body><ns11:GetProfilesResponse><ns11:Profiles token="Main_h264" fixed="true"><ns2:Name>Main h264</ns2:Name><ns2:VideoSourceConfiguration token="0"><ns2:Name>user0</ns2:Name><ns2:UseCount>0</ns2:UseCount><ns2:SourceToken>0</ns2:SourceToken><Bounds xmlns="http://www.onvif.org/ver10/schema" height="720" width="1280" y="0" x="0"></Bounds></ns2:VideoSourceConfiguration><ns2:AudioSourceConfiguration token="0"><ns2:Name>user0</ns2:Name><ns2:UseCount>0</ns2:UseCount><ns2:SourceToken>0</ns2:SourceToken></ns2:AudioSourceConfiguration><ns2:VideoEncoderConfiguration token="Main_h264"><ns2:Name>Main h264</ns2:Name><ns2:UseCount>0</ns2:UseCount><ns2:Encoding>H264</ns2:Encoding><ns2:Resolution><ns2:Width>1280</ns2:Width><ns2:Height>720</ns2:Height></ns2:Resolution><ns2:Quality>60</ns2:Quality><ns2:RateControl><ns2:FrameRateLimit>30</ns2:FrameRateLimit><ns2:EncodingInterval>15</ns2:EncodingInterval><ns2:BitrateLimit>3072</ns2:BitrateLimit></ns2:RateControl><ns2:H264><ns2:GovLength>0</ns2:GovLength><ns2:H264Profile>Baseline</ns2:H264Profile></ns2:H264><ns2:Multicast><ns2:Address><ns2:Type>IPv4</ns2:Type><ns2:IPv4Address>0.0.0.0</ns2:IPv4Address></ns2:Address><ns2:Port>0</ns2:Port><ns2:TTL>5</ns2:TTL><ns2:AutoStart>false</ns2:AutoStart></ns2:Multicast><ns2:SessionTimeout>PT0S</ns2:SessionTimeout></ns2:VideoEncoderConfiguration><ns2:AudioEncoderConfiguration token="0"><ns2:Name>user0</ns2:Name><ns2:UseCount>0</ns2:UseCount><ns2:Encoding>G7Ю11</ns2:Encoding><ns2:Bitrate>64000</ns2:Bitrate><ns2:SampleRate>8000</ns2:SampleRate><ns2:Multicast><ns2:Address><ns2:Type>IPv4</ns2:Type><ns2:IPv4Address>0.0.0.0</ns2:IPv4Address></ns2:Address><ns2:Port>0</ns2:Port><ns2:TTL>5</ns2:TTL><ns2:AutoStart>false</ns2:AutoStart></ns2:Multicast><ns2:SessionTimeout>PT0S</ns2:SessionTimeout></ns2:AudioEncoderConfiguration></ns11:Profiles><ns11:Profiles token="Sub_h264" fixed="true"><ns2:Name>Sub h264</ns2:Name><ns2:VideoSourceConfiguration token="1"><ns2:Name>user1</ns2:Name><ns2:UseCount>0</ns2:UseCount><ns2:SourceToken>0</ns2:SourceToken><Bounds xmlns="http://www.onvif.org/ver10/schema" height="720" width="1280" y="0" x="0"></Bounds></ns2:VideoSourceConfiguration><ns2:AudioSourceConfiguration token="0"><ns2:Name>user0</ns2:Name><ns2:UseCount>0</ns2:UseCount><ns2:SourceToken>0</ns2:SourceToken></ns2:AudioSourceConfiguration><ns2:VideoEncoderConfiguration token="Sub_h264"><ns2:Name>Sub h264</ns2:Name><ns2:UseCount>0</ns2:UseCount><ns2:Encoding>H264</ns2:Encoding><ns2:Resolution><ns2:Width>640</ns2:Width><ns2:Height>352</ns2:Height></ns2:Resolution><ns2:Quality>70</ns2:Quality><ns2:RateControl><ns2:FrameRateLimit>30</ns2:FrameRateLimit><ns2:EncodingInterval>15</ns2:EncodingInterval><ns2:BitrateLimit>3072</ns2:BitrateLimit></ns2:RateControl><ns2:H264><ns2:GovLength>0</ns2:GovLength><ns2:H264Profile>Baseline</ns2:H264Profile></ns2:H264><ns2:Multicast><ns2:Address><ns2:Type>IPv4</ns2:Type><ns2:IPv4Address>0.0.0.0</ns2:IPv4Address></ns2:Address><ns2:Port>0</ns2:Port><ns2:TTL>5</ns2:TTL><ns2:AutoStart>false</ns2:AutoStart></ns2:Multicast><ns2:SessionTimeout>PT0S</ns2:SessionTimeout></ns2:VideoEncoderConfiguration><ns2:AudioEncoderConfiguration token="0"><ns2:Name>user0</ns2:Name><ns2:UseCount>0</ns2:UseCount><ns2:Encoding>G711</ns2:Encoding><ns2:Bitrate>64000</ns2:Bitrate><ns2:SampleRate>8000</ns2:SampleRate><ns2:Multicast><ns2:Address><ns2:Type>IPv4</ns2:Type><ns2:IPv4Address>0.0.0.0</ns2:IPv4Address></ns2:Address><ns2:Port>0</ns2:Port><ns2:TTL>5</ns2:TTL><ns2:AutoStart>false</ns2:AutoStart></ns2:Multicast><ns2:SessionTimeout>PT0S</ns2:SessionTimeout></ns2:AudioEncoderConfiguration></ns11:Profiles><ns11:Profiles token="Motion_jpeg" fixed="true"><ns2:Name>Motion jpeg</ns2:Name><ns2:VideoSourceConfiguration token="2"><ns2:Name>user2</ns2:Name><ns2:UseCount>0</ns2:UseCount><ns2:SourceToken>0</ns2:SourceToken><Bounds xmlns="http://www.onvif.org/ver10/schema" height="720" width="1280" y="0" x="0"></Bounds></ns2:VideoSourceConfiguration><ns2:AudioSourceConfiguration token="0"><ns2:Name>user0</ns2:Name><ns2:UseCount>0</ns2:UseCount><ns2:SourceToken>0</ns2:SourceToken></ns2:AudioSourceConfiguration><ns2:VideoEncoderConfiguration token="Motion_jpeg"><ns2:Name>Motion jpeg</ns2:Name><ns2:UseCount>0</ns2:UseCount><ns2:Encoding>JPEG</ns2:Encoding><ns2:Resolution><ns2:Width>1280</ns2:Width><ns2:Height>720</ns2:Height></ns2:Resolution><ns2:QualitЭy>70</ns2:Quality><ns2:RateControl><ns2:FrameRateLimit>15</ns2:FrameRateLimit><ns2:EncodingInterval>15</ns2:EncodingInterval><ns2:BitrateLimit>3072</ns2:BitrateLimit></ns2:RateControl><ns2:Multicast><ns2:Address><ns2:Type>IPv4</ns2:Type><ns2:IPv4Address>0.0.0.0</ns2:IPv4Address></ns2:Address><ns2:Port>0</ns2:Port><ns2:TTL>5</ns2:TTL><ns2:AutoStart>false</ns2:AutoStart></ns2:Multicast><ns2:SessionTimeout>PT0S</ns2:SessionTimeout></ns2:VideoEncoderConfiguration><ns2:AudioEncoderConfiguration token="0"><ns2:Name>user0</ns2:Name><ns2:UseCount>0</ns2:UseCount><ns2:Encoding>G711</ns2:Encoding><ns2:Bitrate>64000</ns2:Bitrate><ns2:SampleRate>8000</ns2:SampleRate><ns2:Multicast><ns2:Address><ns2:Type>IPv4</ns2:Type><ns2:IPv4Address>0.0.0.0</ns2:IPv4Address></ns2:Address><ns2:Port>0</ns2:Port><ns2:TTL>5</ns2:TTL><ns2:AutoStart>false</ns2:AutoStart></ns2:Multicast><ns2:SessionTimeout>PT0S</ns2:SessionTimeout></ns2:AudioEncoderConfiguration></ns11:Profiles><ns11:Profiles token="mc_test" fixed="false"><ns2:Name>mc_test</ns2:Name><ns2:VideoSourceConfiguration token="2"><ns2:Name>Hе</ns2:Name><ns2:UseCount>0</ns2:UseCount><ns2:SourceToken>0</ns2:SourceToken><Bounds xmlns="http://www.onvif.org/ver10/schema" height="720" width="1280" y="0" x="0"></Bounds></ns2:VideoSourceConfiguration><ns2:AudioSourceConfiguration token="0"><ns2:Name>user0</ns2:Name><ns2:UseCount>0</ns2:UseCount><ns2:SourceToken>0</ns2:SourceToken></ns2:AudioSourceConfiguration><ns2:VideoEncoderConfiguration token="Motion_jpeg"><ns2:Name>јч 
@јч 
@peg</ns2:Name><ns2:UseCount>0</ns2:UseCount><ns2:Encoding>JPEG</ns2:Encoding><ns2:Resolution><ns2:Width>1280</ns2:Width><ns2:Height>720</ns2:Height></ns2:Resolution><ns2:Quality>70</ns2:Quality><ns2:RateControl><ns2:FrameRateLimit>15</ns2:FrameRateLimit><ns2:EncodingInterval>15</ns2:EncodingInterval><ns2:BitrateLimit>3072</ns2:BitrateLimit></ns2:RateControl><ns2:Multicast><ns2:Address><ns2:Type>IPv4</ns2:Type><ns2:IPv4Address>0.0.0.0</ns2:IPv4Address></ns2:Address><ns2:Port>0</ns2:Port><ns2:TTL>5</ns2:TTL><ns2:AutoStart>false</ns2:AutoStart></ns2:Multicast><ns2:SessionTimeout>PT0S</ns2:SessionTimeout></ns2:VideoEncoderConfiguration><ns2:AudioEncoderConfiguration token="0"><ns2:Name>user0</ns2:Name><ns2:UseCount>0</ns2:UseCount><ns2:Encoding>G711</ns2:Encoding><ns2:Bitrate>64000</ns2:Bitrate><ns2:SampleRate>8000</ns2:SampleRate><ns2:Multicast><ns2:Address><ns2:Type>IPv4</ns2:Type><ns2:IPv4Address>0.0.0.0</ns2:IPv4Address></ns2:Address><ns2:Port>0</ns2:Port><ns2:TTL>5</ns2:TTL><ns2:AutoStart>false</ns2:AutoStart></ns2:Multicast><ns2:SessionTimeout>PT0S</ns2:SessionTimeout></ns2:AudioEncoderConfiguration></ns11:Profiles><ns11:Profiles token="MACROSCOP" fixed="false"><ns2:Name>MACROSCOP</ns2:Name><ns2:VideoSourceConfiguration token="2"><ns2:Name>Hе</ns2:Name><ns2:UseCount>0</ns2:UseCount><ns2:SourceToken>0</ns2:SourceToken><Bounds xmlns="http://www.onvif.org/ver10/schema" heightЮ="720" width="1280" y="0" x="0"></Bounds></ns2:VideoSourceConfiguration><ns2:AudioSourceConfiguration token="0"><ns2:Name>user0</ns2:Name><ns2:UseCount>0</ns2:UseCount><ns2:SourceToken>0</ns2:SourceToken></ns2:AudioSourceConfiguration><ns2:VideoEncoderConfiguration token="Motion_jpeg"><ns2:Name>јч 
@јч 
@peg</ns2:Name><ns2:UseCount>0</ns2:UseCount><ns2:Encoding>JPEG</ns2:Encoding><ns2:Resolution><ns2:Width>1280</ns2:Width><ns2:Height>720</ns2:Height></ns2:Resolution><ns2:Quality>70</ns2:Quality><ns2:RateControl><ns2:FrameRateLimit>15</ns2:FrameRateLimit><ns2:EncodingInterval>15</ns2:EncodingInterval><ns2:BitrateLimit>3072</ns2:BitrateLimit></ns2:RateControl><ns2:Multicast><ns2:Address><ns2:Type>IPv4</ns2:Type><ns2:IPv4Address>0.0.0.0</ns2:IPv4Address></ns2:Address><ns2:Port>0</ns2:Port><ns2:TTL>5</ns2:TTL><ns2:AutoStart>false</ns2:AutoStart></ns2:Multicast><ns2:SessionTimeout>PT0S</ns2:SessionTimeout></ns2:VideoEncoderConfiguration><ns2:AudioEncoderConfiguration token="0"><ns2:Name>user0</ns2:Name><ns2:UseCount>0</ns2:UseCount><ns2:Encoding>G711</ns2:Encoding><ns2:Bitrate>64000</ns2:Bitrate><ns2:SampleRate>8000</ns2:SampleRate><ns2:Multicast><ns2:Address><ns2:Type>IPv4</ns2:Type><ns2:IPv4Address>0.0.0.0</ns2:IPv4Address></ns2:Address><ns2:Port>0</ns2:Port><ns2:TTL>5</ns2:TTL><ns2:AutoStart>false</ns2:AutoStart></ns2:Multicast><ns2:SessionTimeout>PT0S</ns2:SessionTimeout></ns2:AudioEncoderConfiguration></ns11:Profiles></ns11:GetProfilesResponse></SOAP-ENV:Body></SOAP-ENV:Envelope> 
+0

Добавьте тег к вашему вопросу для WCF, вы получите больше людей, читающих его таким образом , Удачи вам в решении вашей проблемы. – GrandMasterFlush

+0

Можете ли вы предоставить полную информацию об ошибках, stacktrace, внутреннее исключение и т. Д.? –

+0

Если ответ от веб-serivce 200 OK в вашем сниффере и не работает на вашем клиенте с вышеуказанным исключением, стоит попробовать обновить ваш прокси-сервер. Возможно, возникла ситуация, когда wsdl изменился, и получаемый объект ответа не находится в ожидаемом формате на вашей стороне клиента. – Rajesh

ответ

0

Если ответ от веб-Serivce 200 OK в вашем наркоманом и не удается в клиенте с указанным выше исключением, то его стоит пытаться обновить прокси. Возможно, возникла ситуация, когда wsdl изменился, и получаемый объект ответа не находится в ожидаемом формате на вашей стороне клиента.

+0

Я уже обновил свой прокси. Он не может решить мою проблему. –

+0

Попробуйте взять исходный ответ от вашего сниффера и попытаться десериализовать его на объект в вашем прокси-классе. Если это удастся, тогда может возникнуть проблема с конфигурацией где-нибудь в вашем коде. – Rajesh

1

Сначала, если класс профиля является вашим, проверьте договор своего объекта Profile - возможно, он hasn 'хорошо сконфигурированные атрибуты DataContract. Если у вас есть dll с классом Profile, предоставляемым владельцем сервиса, возможно, это неправильная версия. Вы можете попробовать включить WCF trace и сравнить полученный XML с контрактом объекта Profile (используйте dotPeek или любой другой декомпилятор, чтобы получить код класса из dll)

Смежные вопросы