代码之家  ›  专栏  ›  技术社区  ›  Odrade

允许使用atlsoap和sproxy生成的代理类对web服务url进行运行时配置

  •  0
  • Odrade  · 技术社区  · 16 年前

    我有一个Visual C++应用程序,它通过ATL SOAP与ASP.NET Web服务通信。客户端应用程序使用sproxy生成的代理类进行通信。查看生成的代理类,我注意到web服务的url在许多地方都是硬编码的。

    1 回复  |  直到 16 年前
        1
  •  0
  •   Odrade    16 年前

    在生成的代理代码中看到的硬编码URL只是默认值。可以在运行时通过调用代理对象上的SetUrl方法来指定服务的备用URL。

    int _tmain(int argc, _TCHAR* argv[])
    {
        CoInitialize(NULL);
        {
            TestService::CTestService ws;
            BSTR input = _bstr_t(_T("This is my input"));
            BSTR result;
            ws.SetUrl(_T("http://dummyUrl/dummyservice.asmx"));
            ws.Echo(input, &result);
        }
        CoUninitialize();
    
        return 0;
    }