Динамическое исключение SOAP CRM 4.0 - PullRequest
1 голос
/ 28 июля 2010

Когда я пытаюсь разработать CRM-компонент, используя следующий код:

 public static  CrmService GetCrmService()
        {
           //Standard CRM setup

            var authenticationToken = new CrmAuthenticationToken();
            //Using the active directory
            authenticationToken.AuthenticationType = 0;
            authenticationToken.OrganizationName = "myorganizationName";

            var crmService = new CrmService();
            crmService.PreAuthenticate = true;
            crmService.UseDefaultCredentials = false;
            crmService.CrmAuthenticationTokenValue = authenticationToken;

            crmService.Credentials = new NetworkCredential("username", "password", "domain");
            crmService.Url = "http://<ourserver>/mscrmservices/2007/CrmServiceWsdl.aspx";

            return crmService;
        }

        public void RetrieveAccount()
        {

            var accountGuid = new Guid("088FFC38-8285-4AF5-8E36-84BAD6B268ED");
            var crmService = GetCrmService();

            //Set the column to return

            var returnedColumns = new ColumnSet();

            returnedColumns.Attributes = new string[] { "name", "telephone1", "customertypecode" };

            try
            {
                var receivedAccount = crmService.Retrieve(EntityName.account.ToString(), accountGuid, returnedColumns) as account;
                if (receivedAccount != null)
                {
                    Debug.WriteLine(string.Format("Name: {0}, Telephone: {1}", receivedAccount.name, receivedAccount.telephone1));
                }

            }
            catch (Exception exception)
            {

                Debug.WriteLine(exception.Message);
            }


        }

При этом возникает следующее исключение:

"Возможное несоответствие версии SOAP: пространство имен конвертаhttp://schemas.xmlsoap.org/wsdl/ было неожиданным. Ожидается http://schemas.xmlsoap.org/soap/envelope/."

Есть ли какое-либо решение этой проблемы?

Заранее спасибо.

1 Ответ

3 голосов
/ 28 июля 2010

Потратив несколько часов, я понял, что проблема возникла из-за неправильного адреса службы. Вместо подключения к фактическому адресу я подключился к перенаправленному адресу.

Итак, в приведенном выше коде я использовал перенаправленный адрес:

https://servername/MSCrmServices/2007/CrmServiceWsdl.aspx

Мне следовало использовать следующий адрес:

https://servername/mscrmservices/2007/crmservice.asmx

Приветствие.

...