0

我正在尝试使用另一家公司的现有 Web 服务,并且很难找到解决方案以从不同位置使用相同的 Web 服务。

该地址提供了一个现有的 Web 服务http://url.to.A/webservice/,我可以使用 ATL 工具为该服务生成一个 C++sproxy.exe代理

使用该类,我可以毫无问题地使用 Web 服务。

现在我需要使用相同的 Web 服务,但是来自另一个 URL(比如说http://url.to.B/webservice/),并且之前创建的代理类不起作用。SendRequest方法代理之一中的方法总是返回错误代码HRESULT。专门为第二个服务生成一个新的代理提供了一个可行的解决方案顺便说一句。

当我说服务相同时,我的意思是它们公开了完全相同的方法,因此它们各自的wsdl定义文件仅在服务 URL 上有所不同。

我试图更改URL生成的代理类实例的属性,但它没有帮助。

鉴于我被绑定使用非托管 C++ 作为消费部分,并且我希望能够在运行时指定服务端点,是否有可行的解决方案来解决我的问题?

谢谢你的帮助。

4

2 回答 2

1

为每个服务器/服务生成一个单独的代理类。

然后对生成的代码进行比较。这应该让你知道有什么区别。

于 2012-11-08T16:45:00.983 回答
0

最终证明,使用sproxy.exe, 生成一个可以动态分配给 Web 服务端点的类是不可能的。

于 2012-11-30T12:53:09.513 回答