我正在尝试使用另一家公司的现有网络服务,但很难找到从不同位置使用相同网络服务的解决方案。
地址 http://url.to.A/webservice/
提供了一个现有的网络服务,我可以使用 sproxy 为该服务生成一个 C++ 代理类.exe
来自 ATL tools .
使用该类,我可以毫无问题地使用网络服务。
现在我需要使用相同的 Web 服务,但是来自另一个 URL(比方说 http://url.to.B/webservice/
),并且之前创建的代理类无法正常工作。方法代理之一内的 SendRequest
方法总是返回错误的 HRESULT
代码。顺便说一句,专门为第二个服务生成一个新的代理提供了一个可行的解决方案。
当我说服务相同时,我的意思是它们公开了完全相同的方法,因此它们各自的 wsdl
定义文件仅服务 URL 不同。
我试图更改生成的代理类实例的 URL
属性,但没有帮助。
考虑到我必须将非托管 C++ 用于消费部分,并且我希望能够在运行时指定服务端点,我的问题是否有可行的解决方案?
感谢您的帮助。
最佳答案
为每个服务器/服务生成一个单独的代理类。
然后对生成的代码进行比较。这应该让您知道区别是什么。
关于c++ - 使用 ATL 库时如何在运行时更改 Web 服务 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13293440/