我已经为我的 Web 服务实现了客户端。为每个 Web 方法自动生成的文件包含与 Web 服务端点的硬编码绑定(bind):
soap_endpoint = "http://localhost/MyService.asmx";
这对于开发目的来说很好,但在将其推送到 PROD 之前,我需要将这些字符串替换为 PROD Web 服务地址。
是否可以管理 gSOAP 以生成要放入某些“外部”变量中的字符串?
或者我应该在每次部署之前替换这些端点值?
谢谢。
最佳答案
从 gSoap 编译器生成的函数如下所示:
soap_call_ns1__foo(struct soap* soap, char *URL, char *action, char *symbol, resultType &Result);
参数 URL 是端点地址。如果传递 NULL,则使用 WSDL 文件中的端点。但是您的客户端可以使用任何其他端点调用此函数 - 例如,它是在您的客户端配置文件中定义的。
如果您的客户端使用由 gSoap 编译器生成的代理类,也可以设置端点。代理类有一个名为端点的成员,您可以在调用服务方法之前设置该成员。
关于web-services - gsoap:如何使其可配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4341191/