Share via


BizOrganization.Create Method

The Create method creates an organization. The caller must be a domain administrator to perform this action. You must create the corresponding Organizational Unit object in Active Directory before you can call this method. The ID of this Organizational Unit (OU) is required as a parameter to the methods in this class. The server object must have been granted full permissions on the OU and on the child objects of the OU. Otherwise, Create fails with the error "HTTP: Access denied."

Syntax

[Visual Basic .NET]
Public Sub Create(
  ByVal OrganizationXML As String,
  ByVal OrganizationOU As String
)
[C#]
public void Create(
  string  OrganizationXML,
  string  OrganizationOU
);
[C++]
public: void Create(
  String*  OrganizationXML
  String*  OrganizationOU
);

Parameters

OrganizationXML

Specifies an XML string containing organization information. The XML schema is described by organization.xsd.

OrganizationOU

Specifies the ID of the Organizational Unit object from Active Directory corresponding with the Microsoft CRM organization object.

Return Value

No return value.

Remarks

If there is an error, SOAP throws an exception and the error message is reported in System.Web.Services.Protocols.SoapException.Detail.OuterXml.

All IDs passed to the platform are GUIDs wrapped in braces. For example: {6522D89A-A752-4455-A2B0-51494C6957C3}

Example

Note The following example contains sample data for the administrator login name and password. This is for illustration only. User credentials should never be hard-coded. For more information, see Building Secure ASP.NET Applications, https://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/SecNetch12.asp.

[C#]
// strServer should be set with the name of the platform Web server
string strServer = "myservername";

// virtualDirectory should be set with the name of the Microsoft CRM
// virtual directory on the platform Web server
string virtualDirectory = "mscrmservices";
string strDir = "https://" + strServer + "/" + virtualDirectory + "/";

// BizOrganization proxy object
Microsoft.CRM.Proxy.BizOrganization organization = new Microsoft.CRM.Proxy.BizOrganization ();
organization.Credentials = System.Net.CredentialCache.DefaultCredentials;
organization.Url = strDir + "BizOrganization.srf";

string strOrgXML = "";
string strOrgName = "Wingtip Toys";

// Get the GUID of an OU from Active Directory
// that is going to represent the OU for the Microsoft CRM organization object
// The name of the OU should be the same as the name of the Microsoft CRM organization
string strOrgId = "{3BECB6A6-0DD8-4061-98D9-0B9E897C5027}";

// See Note above regarding the use of hard-coded passwords
string strDomainAdminUserName = "Administrator";
string strDomainAdminUserPass = "Admin";
string strDomainName = "MyDomain";

string strErrorMsg = "";

try
{
   // Set up the XML string for the organization
   strOrgXML = "<organization>" + 
      "<name>" + strOrgName + "</name>" +
      "</organization>";
         
   // Set the credentials of organization proxy with
   // credentials of a user that has domain administrator rights
   organization.Credentials = new System.Net.NetworkCredential(strDomainAdminUserName, strDomainAdminUserPass, strDomainName);

   // Create the organization
   organization.Create(strOrgXML, strOrgId);      
}
catch (System.Web.Services.Protocols.SoapException err)
{
   // Process the platform error here
   strErrorMsg = ("ErrorMessage: " + err.Message + " " + err.Detail.OuterXml + " Source: " + err.Source );
}
catch (Exception err)
{
   // Process other errors here
   strErrorMsg = ("ErrorMessage: " + err.Message );
}
finally
{
   // Set the credentials back to the default
   organization.Credentials = System.Net.CredentialCache.DefaultCredentials;
}

Requirements

Namespace: Microsoft.CRM.Proxy

Assembly: microsoft.crm.proxy.dll

See Also

© 2003 Microsoft Corporation. All rights reserved.