我正在使用 gSOAP 2.8.15,我正在尝试按照 gsoap 文档 ( http://www.cs.fsu.edu/~engelen/soapdoc2.html#tth_sEc19的第 19.14 节中的说明来实现 HTTP 身份验证.14 )。
唯一的区别是文档中介绍的代码是用 C 编写的,但我是用 C++ 编写的。
这是我的 Web 服务客户端代码
// The variable wsp is a instance of web service proxy generated by soapcpp2.
// The proxy is a sub-class of the class soap
wsp.userid = "user";
wsp.passwd = "password";
// call the function of web service
wsp.get_version(&result);
在服务器端,我使用这些代码来检查身份验证:
// The variable wss is the a instance of web service service generated by soapcpp2.
if (wss.userid == NULL || wss.passwd == NULL)
//......
问题是当我使用客户端代码调用 Web 服务的功能时,用户 ID 和密码在服务器端始终为 NULL。但是当我通过使用抢先授权模式传递用户ID和密码来使用soapUI调用相同的函数时,服务器将毫无问题地获取信息。
如果有人可以帮助我解决问题,我将不胜感激。感谢您的关注。