我在.Net 3.0类库项目中增加了CRM 2011 (就地)部署和发现服务作为web引用(而不是wcf引用),它是.Net 2.0中的多层解决方案的一部分(目前还不能升级,这就是为什么我试图将wcf服务作为web服务并使用它的基本basichttpbinding)。类库a.k.a在远程服务器上执行,让我们使用.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 Service的以下消息并显示
操作超时
我非常肯定远程呼叫没有问题。在整个解决方案中,我都在使用远程调用,也没有序列化的问题。
此外,以前,我试图通过而不是调用CRM2011Service,指定soap12协议版本,我得到了以下错误:
HTTP/1.1.415无法处理消息,因为内容类型'text/xml;charset=utf-8‘不是预期类型'application/soap+xml;charset=utf-8’。
因此,我在代码中添加了以下一行:
_CrmDeployService.SoapVersion = SoapProtocolVersion.Soap12问题消失了,但现在我有了这个超时问题。
问题:这是服务器上的客户关系管理配置、服务器上的HTTP设置或服务器上的WCF设置的问题,还是我做错了?如果代码有问题,请建议我应该如何做。
如果需要任何类型的配置或设置,也请告知。
我们非常感谢各国的答复。
谢谢。
发布于 2011-04-15 07:50:33
我想我已经发现问题了。当我使用basicHttpBinding模式(遗留支持模式)时,WCF服务没有返回错误,并将WCF服务以兼容模式添加为Web。
当我删除web服务引用并在将我的库项目升级到3.0之后将它们添加为WCF服务引用时,将返回正确的错误。问题是缺少包含端点和绑定/契约信息的配置文件。
在开发多层系统(.Net远程处理)和通过WCF进行通信时,必须将端点和绑定信息放置在涉及通信的所有层上的应用程序配置文件中。我的情景是这样的:
Tier 01 ASP.Net应用程序+类库XYZ与WCf引用
Tier 02 (Windows (.Net Exe) +类库XYZ和WCf参考)+CRM2011WCF服务
新架构现在是:
Tier 01 (客户端) (ASP.Net应用程序(web.config中添加的端点/绑定信息)+类库XYZ,WCF服务引用)
Tier 02 (远程服务器) .Net Windows服务(在app.config中添加端点/绑定信息)+带有WCF服务参考的类库XYZ )+CRM2011WCF服务
https://stackoverflow.com/questions/5521550
复制相似问题