我正在尝试使用其他公司的现有网络服务,并且无法找到从不同位置使用相同网络服务的解决方案。
现有的网络服务位于地址http://url.to.A/webservice/
,我可以使用ATL tools中的sproxy.exe
为此服务生成C ++代理类。
使用该类,我可以毫无问题地使用Web服务。
现在我需要使用相同的Web服务,但需要使用另一个URL(比如说http://url.to.B/webservice/
)并且以前创建的代理类不起作用。方法代理之一中的SendRequest
方法始终返回错误的HRESULT
代码。专门为第二个服务生成一个新的代理提供了一个可行的解决方案BTW。
当我说服务是相同的时,我的意思是他们公开了完全相同的方法,以便他们各自的wsdl
定义文件只有服务URL不同。
我试图更改生成的代理类实例的URL
属性,但它没有帮助。
鉴于我与消费部分使用非托管C ++并且我希望能够在运行时指定服务端点,是否有可行解决方案?
感谢您的帮助。
答案 0 :(得分:1)
为每个服务器/服务生成一个单独的代理类。
然后对生成的代码执行diff操作。这应该让你知道差异是什么。
答案 1 :(得分:0)
最后证明,使用sproxy.exe
生成一个可以动态分配给Web服务端点的类是不可能的。