Я добавил службы развертывания и обнаружения CRM 2011 (локальные) в качестве веб-ссылки (вместо ссылок на wcf) в проект библиотеки классов .Net 3.0, являющийся частью многоуровневого решения в .Net 2.0.(и в настоящее время не может быть обновлен, и именно поэтому я пытаюсь использовать службу wcf в качестве веб-службы и использовать ее привязку basichttp).Библиотека классов, которая также выполняется на удаленном сервере, скажем, удаленная библиотека, использует удаленное взаимодействие .Net.Я использую следующий код для создания организации CRM 2011.
_CrmDeployService = New DeploymentService()
_CrmDeployService.SoapVersion = SoapProtocolVersion.Soap12
_CrmDeployService.Url = CRMDeploymentServiceURl
_CrmDeployService.Credentials = DomainCredentials
' Do all sorts of Active Directory STuff,
'which is successfull
'Now Creat eCRM organization
Dim CRMOrg As CRM2011DeploymentSvc.Organization = New CRM2011DeploymentSvc.Organization()
CRMOrg.UniqueName = OrgUniqName
CRMOrg.FriendlyName = OrgDispName
CRMOrg.SqlServerName = SQLServerName
CRMOrg.SrsUrl = ReportServerUrl
CRMOrg.BaseCurrencyCode = CurrencyCode
CRMOrg.BaseCurrencyName = CurrencyName
CRMOrg.BaseCurrencySymbol = ""
CRMOrg.State = CRM2011DeploymentSvc.OrganizationState.Enabled
'Initialize Request Object to Send CRM Organization Request and set properties
Dim req As New BeginCreateOrganizationRequest() With {.Organization = CRMOrg}
_CrmDeployService.Timeout = 720000
'Execute deployment service given createrequest object
Dim _
resp As BeginCreateOrganizationResponse = _
TryCast(_CrmDeployService.Execute(req), BeginCreateOrganizationResponse)
Приведенный выше код отлично работает, когда я выполняю его в отдельном приложении.Однако, когда я пишу тот же код в составе библиотеки удаленных классов проекта, кажется, что операция продолжается более 15 минут, а затем возвращается следующее сообщение из службы CRM, которое отображается
Тайм-аут операции
Я очень уверен, что с удаленными вызовами проблем нет.Я использую удаленные вызовы во всем своем решении, и также нет проблем с сериализацией.
Также ранее я пытался вызвать службу CRM 2011 по , а не , указав soap12 версия протокола: я получаю следующую ошибку:
HTTP / 1.1 415 Не удается обработать сообщение, так как тип содержимого 'text / xml;charset = utf-8 'не был ожидаемым типом' application / soap + xml;charset = utf-8 '.
Итак, я добавил следующую строку в мой код:
_CrmDeployService.SoapVersion = SoapProtocolVersion.Soap12
и проблема исчезла, но теперь у меня проблема с тайм-аутом.
Вопрос: это проблема с настройками CRM на сервере или настройкой tiomeout HTTP на сервере или настройками сервиза WCF на сервере, или я все делаю неправильно?Если есть проблема с кодом, пожалуйста, предложите, как я должен это делать.
Если требуется какая-либо конфигурация или настройки, пожалуйста, сообщите также.
Ответы очень многооценил.
Спасибо.