Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用ATL库时如何在运行时更改web服务URL?_C++_Web Services_Unmanaged_Atl - Fatal编程技术网

C++ 使用ATL库时如何在运行时更改web服务URL?

C++ 使用ATL库时如何在运行时更改web服务URL?,c++,web-services,unmanaged,atl,C++,Web Services,Unmanaged,Atl,我试图使用另一家公司的现有web服务,但很难找到从不同位置使用相同web服务的解决方案 在地址http://url.to.A/webservice/< /代码>,我能够从.< /p>使用 sPosith.exe < /C> >为该服务生成C++代理类。 使用该类,我可以毫无问题地使用web服务 现在,我需要使用相同的web服务,但是来自另一个URL(比如http://url.to.B/webservice/)和以前创建的代理类不起作用。方法代理之一中的SendRequest方法始终返回错误的HR

我试图使用另一家公司的现有web服务,但很难找到从不同位置使用相同web服务的解决方案

在地址
http://url.to.A/webservice/< /代码>,我能够从.< /p>使用<代码> sPosith.exe < /C> >为该服务生成C++代理类。
使用该类,我可以毫无问题地使用web服务

现在,我需要使用相同的web服务,但是来自另一个URL(比如
http://url.to.B/webservice/
)和以前创建的代理类不起作用。方法代理之一中的
SendRequest
方法始终返回错误的
HRESULT
代码。另外,为第二个服务生成一个新的代理提供了一个有效的解决方案

当我说这些服务是相同的时,我的意思是它们公开了完全相同的方法,因此它们各自的
wsdl
定义文件只因服务URL不同而不同

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

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


感谢您的帮助。

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


然后对生成的代码执行一个diff。这应该会让您知道它们之间的区别。

最终证明,使用
sproxy.exe
无法生成可动态分配给Web服务端点的类。

谢谢。差异仅与服务的URL有关,该URL在类的不同位置进行硬编码,但在某些ATL结构的
const
成员中,则差异将出现在服务器中。也许是权限问题。您可以使用浏览器访问服务器吗?是的,“很遗憾”我可以通过浏览器访问这两个URL。。。谢谢你的提示顺便说一句。我不确定你是否理解正确,但我确实只有一个应用程序。它与两个代理一起工作。但我想知道它是否只能与一个代理一起工作,因为最终web服务位置应该是可配置的。。。谢谢你的帮助。