2013-06-25 44 views
0

我一直在做一些关于salesforce.com集成的工作,它在测试中都很好,我们通过更改API登录凭证来测试不同的salesforce系统。现在该上线了,我发现存储在WSDL中的服务端点必须更新。我可以看到改变这一点的唯一方法是用'live'wsdl完全替换'dev/test'wsdl,重新构建和重新部署。将salesforce wsdl端点更改为生产

必须有一种更简单的方法来在dev/test和live wsdl或salesforce的端点之间进行交换。这应该怎么做?

+1

这可能是有帮助的:http://stackoverflow.com/a/10214366/361599 – JCD

回答

0

您可以使用配置文件覆盖从WSDL中提取的Salesforce Web服务URL。

如果失败,请在生成的Web引用类上查找URL属性。我想你也可以在构造函数中定义它。

如果您使用的是企业WSDL,并且两个组织之间的架构存在差异,则需要更新定义。

+0

我想我需要保留这两个引用,但在代码中交换它们的最佳方式是什么?我有一个SforceService类型的私有成员,它用于我的操作,但现在需要使用不同的类型,具体取决于所运行的环境。最优雅的方式是使用#if!DEBUG预处理器指令来更改名称空间别名,但我需要在UAT上运行发布代码,因此无法使用该方法。 – Craig

+0

@Craig您是否将两个不同的企业WSDL导入到同一个项目中? –

+0

是的。我基本上有一个sforce(实时)参考和一个sforce.sandbox(开发/测试)参考,并且希望找到在两者之间切换的最佳方式,而无需对所有内容进行两次编码。 – Craig