Wcf “如何修复”;“操作超时”;尝试通过在.Net库项目中添加为web引用来调用CRM 2011服务时?
我在.Net 3.0类库项目中添加了CRM 2011(内部部署)部署和发现服务作为web引用(而不是wcf引用),该项目是.Net 2.0中多层解决方案的一部分(目前无法升级,这就是为什么我尝试将wcf服务作为web服务使用,并使用其basichttpbinding)。类库a.k.a在远程服务器上执行,比如说远程库,使用.Net远程处理。我正在使用以下代码创建CRM 2011组织Wcf “如何修复”;“操作超时”;尝试通过在.Net库项目中添加为web引用来调用CRM 2011服务时?,wcf,crm,organization,creation,dynamics-crm-2011,Wcf,Crm,Organization,Creation,Dynamics Crm 2011,我在.Net 3.0类库项目中添加了CRM 2011(内部部署)部署和发现服务作为web引用(而不是wcf引用),该项目是.Net 2.0中多层解决方案的一部分(目前无法升级,这就是为什么我尝试将wcf服务作为web服务使用,并使用其basichttpbinding)。类库a.k.a在远程服务器上执行,比如说远程库,使用.Net远程处理。我正在使用以下代码创建CRM 2011组织 _CrmDeployService = New DeploymentService() _CrmDe
_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)
当我在一个单独的应用程序中执行上面的代码时,它可以完美地工作。但是,当我将相同的代码编写为project remote类库的一部分时,操作似乎持续了15分钟以上,然后从CRM服务返回并显示以下消息
操作超时
我非常肯定远程电话没有问题。我在整个解决方案中使用远程处理调用,而且序列化也没有问题
另外,以前,我试图通过而不是指定soap12协议版本来调用CRM 2011服务。我收到以下错误:
HTTP/1.1 415无法处理消息,因为内容类型为“text/xml”;charset=utf-8“不是预期的类型”application/soap+xml;字符集=utf-8'.
因此,我在代码中添加了以下行:
_CrmDeployService.SoapVersion = SoapProtocolVersion.Soap12
问题消失了,但现在我有这个超时问题
问题:这是服务器上的CRM配置或服务器上的HTTP tiomeout设置或服务器上的WCF servuice设置的问题,还是我做得都不对?
如果代码有问题,请建议我应该如何操作。
如果需要任何类型的配置或设置,也请告知
非常感谢您的回复
谢谢。我想我已经发现问题了。当我使用WCF服务basicHttpBinding模式(传统支持模式)时,WCF服务没有返回错误,并且在兼容模式下将WCF服务添加为Web服务 在将库项目升级到3.0之后,当我删除web服务引用并将其添加为WCF服务引用时,返回了正确的错误。问题是缺少包含端点和绑定/契约信息的配置文件 在开发多层系统(.Net Remoting)并通过WCF服务进行通信时,有必要将端点和绑定信息放置在通信所涉及的所有层上的应用程序配置文件中。我的情景是这样的: 第01层 ASP.Net应用程序 +具有WCf引用的类库XYZ
第二层 (Windows服务(.Net Exe) +类库XYZ(带WCf参考) +CRM 2011(WCF服务) 新架构现在是: 第01层(客户) (ASP.Net应用程序(在web.config中添加端点/绑定信息) +类库XYZ(带WCF服务引用)
第02层(远程服务器) .Net Windows服务(在app.config中添加端点/绑定信息) +类库XYZ(带WCF服务引用) +CRM 2011 WCF服务