ÓÃC/gsoapʵÏÖWebService
תÌù×Ô£ºhttp://blog.sina.com.cn/s/blog_629562fe0100gs2l.html
ÉÔ×÷ÐÞ¸Ä
gSOAPÊÇÒ»¸ö¿äƽ̨µÄ£¬ÓÃÓÚ¿ª·¢Web Service·þÎñ¶ËºÍ¿Í»§¶ËµÄ¹¤¾ß£¬ÔÚWindows¡¢Linux¡¢MAC OSºÍUNIXÏÂʹÓÃCºÍC++ÓïÑÔ±àÂ룬¼¯³ÉÁËSSL¹¦ÄÜ¡£
ÏÂÔØµØÖ·£ºhttp://sourceforge.net/projects/gsoap2
¹Ù·½ÍøÕ¾£ºhttp://genivia.com/Products/gsoap/index.html
Ò»¡¢·þÎñÆ÷¶Ë
1¡¢Ê×Ïȱàд add.hÎļþ£º£¨ÎÒÊÔ¹ý°ÑÕâЩעÊÍÈ«²¿É¾³ýҲûÓÐÎÊÌ⣩
//gsoap ns service name: add
//gsoap ns service namespace: http://mail.263.net/add.wsdl
//gsoap ns service location: http://mail.263.net
//gsoap ns service executable: add.cgi
//gsoap ns service encoding: encoded
//gsoap ns schema namespace: urn:add
int ns__add( int num1, int num2, int* sum );
2¡¢ÓÃgsoap/binĿ¼ÏµÄsoapcpp2.exe³ÌÐò£¬Éú³ÉһЩÎļþ¡£
·½·¨£ºÓÃcmdÖ´ÐÐsoapcpp2.exe add.h¡£
soapcpp2.exe¿ÉÒÔ´ø²ÎÊýÖ´ÐУ¬¾ßÌåÖ´ÐÐsoapcpp2.exe -h²é¿´¡£(ʾÀý£ºhttp://www.cppprog.com/2009/0723/138_2.html)
ÔÚÕâ¸öĿ¼Ï»á×Ô¶¯Éú³ÉÐí¶à½«À´ÓÐÓõÄÎļþ£¬Èçadd.namap,soapH.h,soapC.cpp,soapClient.cpp,soapServer.cppµÈÎļþ¡£
3¡¢Ð½¨Ò»¸öwin32¿ØÖÆÌ¨¹¤³Ì£¬¼ÓÈëwsock32.lib¿â£¬½«¸Õ²ÅÉú³ÉµÄÄÇЩÎļþÌí¼Óµ½¹¤³ÌÖС£
È»ºó±àдaddserver.cppÖ÷³ÌÐò£º
#include "soapH.h" //ÔÎÄÊÇ#include "addH.h"¡£
#include "add.nsmap"
int main(int argc, char **argv)
{
int m, s;
struct soap add_soap;
soap_init(&add_soap);
//soap_set_namespaces(&add_soap); //ÔÎÄÕâ¸öÊÇ´ò¿ªµÄ¡£
if (argc < 2)
{
printf("usage: %s <server_port> \n", argv[0]);
exit(1);
}
else
{
m = soap_bind(&add_soap, NULL, atoi(argv[1]), 100);
if (m < 0)
{
soap_print_fault(&add_soap, stderr);
exit(-1);
}
fprintf(stderr, "Socket connection successful: master socket = %d\n", m);
for ( ; ; )
{
s = soap_accept(&add_soap);
if (s < 0)
{
soap_print_fault(&add_soap, stderr);
exit(-1);
}
fprintf(stderr, "Socket connection successful: slave socket = %d\n", s);
soap_serve(&add_soap);//¸Ã¾ä˵Ã÷¸ÃserverµÄ·þÎñ //ÔÎÄÊÇadd_serve(&add_soap);
soap_end(&add_soap);
}
}
ret
Ïà¹ØÎĵµ£º
ÔÚÌÖÂÛÈ«¾Ö±äÁ¿Ö®Ç°ÎÒÃÇÏÈÒªÃ÷°×¼¸¸ö»ù±¾µÄ¸ÅÄ
1. ±àÒëµ¥Ôª(Ä£¿é)£º
ÔÚIDE¿ª·¢¹¤¾ß´óÐÐÆäµÀµÄ½ñÌ죬¶ÔÓÚ±àÒëµÄһЩ¸ÅÄîºÜ¶àÈËÒѾ²»ÔÙÇå³þÁË£¬ºÜ¶à³ÌÐòÔ±×îŵľÍÊÇ´¦ÀíÁ¬½Ó´íÎó(LINK ERROR), ÒòΪËü²»Ïñ±àÒë´íÎóÄÇÑù¿ÉÒÔ¸ø³öÄã³ÌÐò´íÎóµÄ¾ßÌåλÖã¬Äã³£³£¶ÔÕâÖÖ´íÎó¸Ðµ½°ÃÄÕ£¬µ«ÊÇÈç¹ûÄ ......
#include <stdio.h>
#include <stdlib.h>
#include <syslog.h>
#include <signal.h>
#include <unistd.h>
#include <string.h>
#include <getopt.h>
#define MAX_READFILE 24
#define MAX_INPUTFILE 10240
char *file ;
void time_out(){
syslog(LOG_INFO,"read inp ......
´ó¼Ò¶¼ºÜÊìϤHTTPÐÒéµÄÓ¦Óã¬ÒòΪÿÌì¶¼ÔÚÍøÂçÉÏä¯ÀÀ×Ų»ÉÙ¶«Î÷£¬Ò²¶¼ÖªµÀÊÇHTTPÐÒéÊÇÏ൱¼òµ¥µÄ¡£Ã¿´ÎÓÃthunderÖ®ÀàµÄÏÂÔØÈí¼þÏÂÔØÍøÒ³£¬µ±Óõ½ÄǸö“ÓÃthunderÏÂÔØÈ«²¿Á´½Ó”ʱ×ܾõµÃºÜÉñÆæ¡£
ºóÀ´ÏëÏ룬ÆäʵҪʵÏÖÕâЩÏÂÔØ¹¦ÄÜÒ²²¢²»ÄÑ£¬Ö»Òª°´ÕÕHTTPÐÒé·¢ËÍrequest£¬È»ºó¶Ô½ÓÊÕµ½µÄÊý¾Ý½øÐзÖÎö£¬Èç¹ûÒ ......
¹ØÓÚCµÄ˼¿¼
Cong Wang
May, 2006
Network Engineering Department
Institute of Post and Telecommunications, Xi'an, P.R.China
ÒýÑÔ
CÓïÑÔ½áºÏÁË»ã±àµÄËùÓÐÍþÁ¦£¬ËüµÄ³éÏó³Ì¶ÈÅöÇɼÈÂú×ãÁ˳ÌÐòÔ±µÄÒªÇó, ÓÖÈÝÒ×ʵÏÖ¡£ÒòÆä¶ÀÌØµÄÁé»îÐÔºÍÇ¿´óµÄ¿ÉÒÆÖ²ÐÔ£¬ÏµÍ³³ÌÐòÔ±ºÍºÚ¿ÍÃǸüÊǶÔËüÖÓ°® ......
--Õª×Ô ¡¶Oracle Pro*C ³ÌÐò¿ª·¢¡· --Create/Modify Email£ºxingchengli@gmail.com
SQLDA µÄ½á¹¹ÈçÏ£º
struct SQLDA
{
long N; /* Descriptor size in number of entries */
char **V; Ptr to Arr of addresses of main variables */
long *L; /* Ptr to Arr of lengths of buffe ......