用 C 实现 WebService

http://tech.ddvip.com   2007年03月17日    社区交流

本文详细介绍用 C 实现 WebService

#include <stdio.h>
#include <stdlib.h>
int add(const char* server, int num1, int num2, int *sum);
int main(int argc, char **argv)
{
  int result = -1;
  char* server="http://localhost:8888";
  int num1 = 0;
  int num2 = 0;
  int sum = 0;
  if( argc < 3 )
  {
    printf("usage: %s num1 num2 ", argv[0]);
    exit(0);
  }
  
  num1 = atoi(argv[1]);
  num2 = atoi(argv[2]);
  
  result = add(server, num1, num2, &sum);
  if (result != 0)
  {
    printf("soap err,errcode = %d ", result);
  }
  else
  {
    printf("%d+%d=%d ", num1, num2, sum );
  }
  return 0;
}

  7、让我们的client端和server端通讯

shell>make client
shell>./addtest 7 8

  当然,你的server应该还在run,这样得到输出结果7+8=15,好了,你成功完成了你的第一个C写的 WebService,恭喜。

  三、要注意的问题

  add.h文件前面的几句注释不能删除,为soapcpp2需要识别的标志;

  接口函数的返回值只能是int,是soap调用的结果,一般通过soap.error来判断soap的连接情况,这个返回值没有用到;

  接口函数的最后一个参数为传出参数,如果需要传出多个参数,需要自己定义一个结构将返回项封装;

  在.h文件中不能include别的.h文件,可能不能生效,需要用到某些结构的时候需要在该文件中直接声明;

  如果客户端的调用不需要返回值,那么最后一个参数;

作者:求是赤子    责编:豆豆技术应用

正在加载评论...