public void DeserializeRequest(Message message, object[] parameters) { if (message == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("message"); } if (parameters == null) { throw TraceUtility.ThrowHelperError(new ArgumentNullException("parameters"), message); } try { if (_requestDescription.IsTypedMessage) { object typeMessageInstance = CreateTypedMessageInstance(_requestDescription.MessageType); TypedMessageParts typedMessageParts = new TypedMessageParts(typeMessageInstance, _requestDescription); object[] parts = new object[typedMessageParts.Count]; GetPropertiesFromMessage(message, _requestDescription, parts); GetHeadersFromMessage(message, _requestDescription, parts, true /*isRequest*/); DeserializeBodyContents(message, parts, true /*isRequest*/); // copy values into the actual field/properties typedMessageParts.SetTypedMessageParts(parts); parameters[0] = typeMessageInstance; } else { GetPropertiesFromMessage(message, _requestDescription, parameters); GetHeadersFromMessage(message, _requestDescription, parameters, true /*isRequest*/); DeserializeBodyContents(message, parameters, true /*isRequest*/); } } catch (XmlException xe) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError( OperationFormatter.CreateDeserializationFailedFault( SR.Format(SR.SFxErrorDeserializingRequestBodyMore, _operationName, xe.Message), xe)); } catch (FormatException fe) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError( OperationFormatter.CreateDeserializationFailedFault( SR.Format(SR.SFxErrorDeserializingRequestBodyMore, _operationName, fe.Message), fe)); } catch (SerializationException se) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new CommunicationException( SR.Format(SR.SFxErrorDeserializingRequestBodyMore, _operationName, se.Message), se)); } }
public object DeserializeReply(Message message, object[] parameters) { if (message == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("message"); } if (parameters == null) { throw TraceUtility.ThrowHelperError(new ArgumentNullException("parameters"), message); } try { object result = null; if (_replyDescription.IsTypedMessage) { object typeMessageInstance = CreateTypedMessageInstance(_replyDescription.MessageType); TypedMessageParts typedMessageParts = new TypedMessageParts(typeMessageInstance, _replyDescription); object[] parts = new object[typedMessageParts.Count]; GetPropertiesFromMessage(message, _replyDescription, parts); GetHeadersFromMessage(message, _replyDescription, parts, false /*isRequest*/); DeserializeBodyContents(message, parts, false /*isRequest*/); // copy values into the actual field/properties typedMessageParts.SetTypedMessageParts(parts); result = typeMessageInstance; } else { GetPropertiesFromMessage(message, _replyDescription, parameters); GetHeadersFromMessage(message, _replyDescription, parameters, false /*isRequest*/); result = DeserializeBodyContents(message, parameters, false /*isRequest*/); } return(result); } catch (XmlException xe) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new CommunicationException( string.Format(SRServiceModel.SFxErrorDeserializingReplyBodyMore, _operationName, xe.Message), xe)); } catch (FormatException fe) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new CommunicationException( string.Format(SRServiceModel.SFxErrorDeserializingReplyBodyMore, _operationName, fe.Message), fe)); } catch (SerializationException se) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new CommunicationException( string.Format(SRServiceModel.SFxErrorDeserializingReplyBodyMore, _operationName, se.Message), se)); } }
public object DeserializeReply(Message message, object[] parameters) { object obj4; if (message == null) { throw System.ServiceModel.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("message"); } if (parameters == null) { throw TraceUtility.ThrowHelperError(new ArgumentNullException("parameters"), message); } try { object obj2 = null; if (this.replyDescription.IsTypedMessage) { object instance = CreateTypedMessageInstance(this.replyDescription.MessageType); TypedMessageParts parts = new TypedMessageParts(instance, this.replyDescription); object[] objArray = new object[parts.Count]; this.GetPropertiesFromMessage(message, this.replyDescription, objArray); this.GetHeadersFromMessage(message, this.replyDescription, objArray, false); this.DeserializeBodyContents(message, objArray, false); parts.SetTypedMessageParts(objArray); obj2 = instance; } else { this.GetPropertiesFromMessage(message, this.replyDescription, parameters); this.GetHeadersFromMessage(message, this.replyDescription, parameters, false); obj2 = this.DeserializeBodyContents(message, parameters, false); } obj4 = obj2; } catch (XmlException exception) { throw System.ServiceModel.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new CommunicationException(System.ServiceModel.SR.GetString("SFxErrorDeserializingReplyBodyMore", new object[] { this.operationName, exception.Message }), exception)); } catch (FormatException exception2) { throw System.ServiceModel.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new CommunicationException(System.ServiceModel.SR.GetString("SFxErrorDeserializingReplyBodyMore", new object[] { this.operationName, exception2.Message }), exception2)); } catch (SerializationException exception3) { throw System.ServiceModel.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new CommunicationException(System.ServiceModel.SR.GetString("SFxErrorDeserializingReplyBodyMore", new object[] { this.operationName, exception3.Message }), exception3)); } return(obj4); }