如何使用wsdl2c工具构建支持SSL的客户端代码,以便与axis2一起使用?

时间:2014-03-12 10:36:00

标签: c ssl client stub axis2c

我使用WSDL2C创建了客户端存根代码,用于访问axis2 Web服务。我的服务有http和& https地址。当我编译客户端代码(使用visual studio)使用http端点地址时,它工作正常,但后来我想使用https地址,我不能调用任何服务操作(我已经启用了transportSender和amp; transportReceiver for https客户端的axis2.xml中的协议) 似乎WSDL2C中没有用于生成启用SSL的C代码的选项,那么我应该怎样做才能通过https协议调用服务操作?
我应该传递任何编译器标志还是设置任何环境变量来执行此操作?

1 个答案:

答案 0 :(得分:0)

构建SSL客户端没有其他选项。您只需像往常一样构建客户端,但要调用HTTPS服务而不是HTTP,您必须设置HTTPS端点而不是HTTP。

示例:

const axis2_char_t* address = NULL;

if (doing_https) {
     /* using HTTPS endpoint */
    address = "https://localhost:9090/axis2/services/echo";
} else {
    /* using HTTP endpoint */
    address = "http://localhost:9090/axis2/services/echo";
}

/* Create EPR with given address */
endpoint_ref = axis2_endpoint_ref_create(env, address);

/* Setup options */
options = axis2_options_create(env);
axis2_options_set_to(options, env, endpoint_ref);

/* Create client */
svc_client = axis2_svc_client_create(env, client_home);

/* Set service client options */
axis2_svc_client_set_options(svc_client, env, options);

.....