private string _processSoap(SoapMessage message) { StringBuilder sb = new StringBuilder(8192); string result; try { sb.Append(message.MethodInfo.Name); for (int i = 0; i < message.MethodInfo.Parameters.Length; i++) { sb.Append("[" + message.MethodInfo.Parameters[i].Name + "="); if (message.MethodInfo.Parameters[i].ParameterType.FullName.StartsWith("System.") && !message.MethodInfo.Parameters[i].IsOut) { sb.Append((message.GetInParameterValue(i) != null) ? message.GetInParameterValue(i) : "null"); } else { sb.Append(message.MethodInfo.Parameters[i].ParameterType.FullName); } sb.Append("]"); } result = sb.ToString(); } catch { result = null; } finally { } return result; }
private static object[] GetRequestArgs(SoapMessage message) { var keepGoing = true; var i = 0; var objects = new List<object>(); while (keepGoing) { try { objects.Add(message.GetInParameterValue(i)); i++; } catch { keepGoing = false; } } return objects.ToArray(); }