初学gsoap 简单接口问题

发布于 2021-11-13 12:58:01 字数 396 浏览 403 评论 8

各位高手们,本人初学gsoap,遇到一些问题,请帮忙看看

我参照gsoap中samples里面的例子,写了一个接口

int ns__GetCamInfo(std::string caminfo,std::string& bcaminfo);

我想在接口里给bcaminfo传输值,直接赋值如下:

int ns__GetCamInfo(std::string caminfo,std::string& bcaminfo)

{

   bcaminfo = caminfo + ",Hello!";

}

为什么在客户端调用这个接口之后 , bcaminfo不能成功取值啊?

或者谁能告诉我 接口里怎样做才能成功实现呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

小情绪 2021-11-18 23:19:01

确实是用法错了,用c++的方式就可以了。太菜了。。。。

归途 2021-11-18 23:18:55
//service
#include "soapSmsWBSService.h"
#include "SmsWBS.nsmap"
#define PORT 10004
int main(int argc, char **argv)
{ 
 SmsWBSService sms;

  if (!PORT)
  { 
   fprintf(stderr, "Usage: SmsWBSserver++ n");
   exit(0);
  }

  /* run iterative server on port until fatal error */
  if (sms.run(PORT))
  { 
   sms.soap_stream_fault(std::cerr);
   exit(-1);
  }
 

 return 0;
}

int SmsWBSService::add(int num1, int num2, int *sum)
{
 *sum = num1 + num2;
 sleep(5);
 return SOAP_OK;
}
醉酒的小男人 2021-11-18 23:17:52
//client
#include "soapSmsWBSProxy.h"
#include "SmsWBS.nsmap"
#define PORT 10003

int main(int argc, char **argv)
{
        int result = -1;

        int num1 = 1;
        int num2 = 2;
        int sum = 0;

				struct soap soap;
				soap_init(&soap);
				//soap_init2(&soap,SOAP_IO_KEEPALIVE,SOAP_IO_KEEPALIVE);
				soap.connect_timeout=2;
				soap.send_timeout=2;
				soap.recv_timeout=2;

        SmsWBSProxy  sms(soap);
        sms.soap_endpoint = "http://172.22.6.59:10004";
        result = sms.add(num1, num2, &sum);
        if (result != 0)
        {
                printf("soap err, errcode = %d n", result);
        }
        else
        {
                printf("%d + %d = %d n", num1, num2, sum);
        }

        return 0;
}
柳若烟 2021-11-18 23:10:34

gdb+抓包。先确定是服务端还是客户端的问题...

路还长,别太狂 2021-11-18 22:08:04

你这个也没有详细的错误说明,很难说清楚是怎么回事

2021-11-18 13:54:19

我只生成过客户端代码,没写过服务端,帮顶

本王不退位尔等都是臣 2021-11-15 13:33:46

哦,是吗。我要用的是c++的方式

终遇你 2021-11-14 20:26:17

gsoap有c++和c语言调用2种方式,你这种是c语言的,不过c语言中怎么会用到string?

如果你的代码是c++,不要这么用gsoap

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文