/// <summary> /// Returns a party name based on a lookup of business identities contained within business profiles. /// </summary> public string GetPartyFromAlias(string AliasName, string AliasQualifier, string AliasValue, Boolean ThrowExceptionIfNotFound) { string party = ""; try { SqlConnection connection = new SqlConnection(StaticHelpers.GetMgmtDBConnectionString()); SqlCommand partyResolveCMD = new SqlCommand("admsvr_GetPartyByAliasNameValue", connection); partyResolveCMD.CommandType = CommandType.StoredProcedure; if (AliasName.Length > 256) { throw new ArgumentException("Length of the party alias name exceed 256 characters"); } SqlParameter param = partyResolveCMD.Parameters.Add("@nvcAliasName", SqlDbType.NVarChar, 256); param.Value = AliasName; if (AliasQualifier.Length > 64) { throw new ArgumentException("Length of the party alias qualifier exceeds 64 characters"); } param = partyResolveCMD.Parameters.Add("@nvcAliasQualifier", SqlDbType.NVarChar, 64); param.Value = AliasQualifier; if (AliasValue.Length > 256) { throw new ArgumentException("Length of the party alias value exceeds 256 characters"); } param = partyResolveCMD.Parameters.Add("@nvcAliasValue", SqlDbType.NVarChar, 256); param.Value = AliasValue; param = partyResolveCMD.Parameters.Add("@nvcSID", SqlDbType.NVarChar, 256); param.Direction = ParameterDirection.Output; param.Value = string.Empty; param = partyResolveCMD.Parameters.Add("@nvcName", SqlDbType.NVarChar, 256); param.Direction = ParameterDirection.Output; param.Value = string.Empty; connection.Open(); SqlDataReader reader = partyResolveCMD.ExecuteReader(); party = partyResolveCMD.Parameters["@nvcName"].Value.ToString(); reader.Close(); connection.Close(); if (String.IsNullOrEmpty(party) && ThrowExceptionIfNotFound) { Exception e = new Exception("Unable to locate a party with an alias name of " + AliasName + ", an alias qualifier of " + AliasQualifier + ", and an alias value of " + AliasValue + "."); base.SetException(e); } } catch (System.Runtime.InteropServices.COMException ex) { base.SetException(new Exception("An exception was encountered while looking up a party with an alias name of " + AliasName + ", an alias qualifier of " + AliasQualifier + ", and an alias value of " + AliasValue + ". This could potentially be a SQL permissions issue on the admsvr_GetPartyByAliasNameValue stored procedure in the BizTalk Management database or possibly lack of WMI permissions." + "See http://social.msdn.microsoft.com/Forums/en-US/e5b00132-8d05-47a0-8a4c-073429b4c8ad/failed-with-exception-syntax-error-or-access-violation for hints. Exception details - " + ex.Message, ex)); } catch (Exception e) { base.SetException(new Exception("An exception was encountered while looking up a party with an alias name of " + AliasName + ", an alias qualifier of " + AliasQualifier + ", and an alias value of " + AliasValue + " - " + e.Message, e)); } return(party); }