gsoap:如何使其可配置?

Bud*_*dda 2 configuration web-services gsoap

我为我的Web服务实现了客户端.每个Web方法的自动生成文件包含对Web服务端点的硬编码绑定:

soap_endpoint = "http://localhost/MyService.asmx";
Run Code Online (Sandbox Code Playgroud)

它适用于开发目的,但在将其推送到PROD之前,我需要用PROD Web服务地址替换这些字符串.

是否可以管理gSOAP,以便生成此字符串以放入某些"外部"变量?

或者我应该在每次部署之前替换那些终点值?

谢谢.

Chr*_*mer 5

从gSoap编译器生成的函数如下所示:

soap_call_ns1__foo(struct soap* soap, char *URL, char *action, char *symbol, resultType &Result);
Run Code Online (Sandbox Code Playgroud)

参数URL是端点地址.如果传递NULL,则使用WSDL文件中的端点.但是您的客户端可以使用任何其他端点调用此函数 - 例如,在客户端配置文件中定义该端点.

如果您的客户端使用 - 来自gSoap编译器生成的 - 代理类,则还可以设置端点.代理类有一个名为endpoint的成员,您可以在调用服务方法之前设置该成员.