public void DeserializeRequest (Message message, object [] parameters)
{
string action = message.Headers.Action;
MessageDescription md = messages.Find (action);
if (md == null)
throw new ActionNotSupportedException (String.Format ("Action '{0}' is not supported by this operation.", action));
object [] parts = MessageToParts (md, message);
if (md.MessageType != null) {
#if NET_2_1
parameters [0] = Activator.CreateInstance (md.MessageType);
#else
parameters [0] = Activator.CreateInstance (md.MessageType, true);
#endif
PartsToMessageObject (md, parts, parameters [0]);
}
else
{
int index = 0;
foreach (ParameterInfo pi in requestMethodParams)
if (!pi.IsOut) {
parameters [index] = parts [index];
index++;
}
}
}