±ê×¼C/C++³ÌÐòͨ¹ýgSOAPµ÷ÓÃWebService
ת×Ô£ºhttp://commandos.blog.51cto.com/154976/130652
Ò»¡¢ »·¾³×¼±¸
ÔÚ±¾ÎÄÖУ¬ËùÓгÌÐò¾ùÔÚLinuxÏ¿ª·¢Íê³É£¬¾²âÊÔÄܹ»Õý³£ÔËÐС£
ÔÚ¿ª·¢¹ý³ÌÖУ¬ÎÒÃÇÐèÒªÓõ½gSOAP£¬¿ÉÒÔ´ÓÒÔÏÂÍøÖ·ÏÂÔØ»ñµÃ£º[url]http://www.cs.fsu.edu/~engelen/soap.html[/url]
ÎÒÏÂÔØµÄÊÇgsoap_2.7.12.tar.gz
ÏÂÔØÏÂÀ´½âѹËõ£¬°´Õý³£°²×°¹ý³Ì½øÐбàÒë¡¢°²×°¡£
# tar zxvf gsozp_2.7.12.tar.gz
# cd gsoap_2.7.12
# ./configure –-prefix=/usr/local/gSOAP£¨Ö¸¶¨°²×°Â·¾¶£©
# make
# make install
¶þ¡¢ Éú³ÉÏà¹ØÎļþ
1¡¢Í¨¹ýWSDLÎĵµ£¬Éú³ÉC/C++Í·Îļþ
# /usr/local/gSOAP/bin/wsdl2h –c –o TestHeader.h [url]http://192.168.0.151:8080/services/TestWS?wsdl[/url]
2¡¢¿½±´gSOAPÔ´´úÂëÖÐimportÎļþ¼ÐϵÄstlvector.hÎļþµ½TestHeader.hͬһĿ¼£¬Èç¹ûÔÚ½âÎöWSDLÎĵµÊ±Ê¹ÓÃÁË-s²ÎÊý£¬¼´²»Ê¹ÓÃSTL£¬Ôò²»ÐèÒª¿½±´ÕâÒ»Îļþ¡£
3¡¢½âÎöTestHeader.hÎļþ£¬Éú³É´æ¸ù³ÌÐò
# /usr/local/gSOAP/bin/soapcpp2 –c –C TestHeader.h
ÃüÁîÖвÎÊý-c´ú±íÉú³É±ê×¼C³ÌÐò£¬ÈôûÓÐÕâ¸ö²ÎÊý£¬ÔòÉú³ÉC++³ÌÐò¡£
ÃüÁîÖвÎÊý-C´ú±í½öÉú³É¿Í»§¶Ë³ÌÐò£¬ÈôûÓÐÕâ¸ö²ÎÊý£¬ÔòĬÈÏÉú³É¿Í»§¶ËºÍ·þÎñ¶Ë³ÌÐò¡£
Èý¡¢ ½øÐÐÏà¹Ø¿ª·¢
1¡¢Ð½¨¹¤³Ì
н¨Ò»¸öCµÄ¹¤³Ì£¬²¢½«¸Õ¸ÕÉú³ÉµÄÎļþ¿½±´µ½¹¤³ÌÖУ¬ÉèÖù¤³ÌÊôÐÔ£¬°üº¬gSOAPÔ´´úÂëĿ¼£¬Á´½ÓÊôÐÔ´¦£¬ÐèÒª°üº¬Îļþlibgsoap.a£¨Ê¹ÓÃCÓïÑÔ¿ª·¢£©»òÕßlibgsoap++.a£¨Ê¹ÓÃC++¿ª·¢£©¡£
2¡¢´úÂ뿪·¢
WebServiceµÄ¾ßÌåµ÷Ó÷½Ê½¿ÉÒԲμûÉú³ÉµÄsoapStub.hÎļþ¡£
Demo´úÂ루µ÷ÓÃWebServiceµÄaddUser£©£º
#include “soapH.h”
#include “TestHeaderHttpBinding.nsmap”
int main()
{
struct soap clientSOAP;
struct _ns1__addUser addUserMsg;
struct _ns1__addUserResponse addUserResponse;
soap_init(&clientSOAP);
addUserMsg.in0 = “test”;
addUserMsg.in1 = “test”;
add
Ïà¹ØÎĵµ£º
ÓÃC++µ÷ÓÃCµÄ¿âº¯Êý
C++µ÷ÓÃCµÄ¿âº¯Êýʱ£¬Èç¹ûÍ·Îļþ¶¨ÒåµÃ²»Ç¡µ±£¬¿ÉÄÜ»á³öÏÖÃ÷Ã÷ijº¯ÊýÔÚobjÎļþÖдæÔÚ£¬µ«ÊÇÈ´·¢ÉúÁ´½Óʧ°ÜµÄÇé¿ö£¬³öÏÖÈçÏ´íÎó:
undefined reference to 'xxx'
³öÏÖÎÊÌâµÄÔÒòÊÇc¿âº¯Êý±àÒë³ÉobjÎļþʱ¶Ôº¯Êý·ûºÅµÄ´¦ÀíºÍC++²»Í¬¡£ÒòΪC++º¯ÊýÖ§³ÖÖØÔØ£¬Ë ......
Ò»¡¢¸ÅÊö
1¡¢C++ËäÈ»ÊÇ´ÓCÓïÑÔÖз¢Õ¹µÄ£¬µ«ÆäÖÐÓÐÐí¶àÒªµã£¬ÊÇCÓïÑÔÖÐËùûÓе쬰üÀ¨ÒýÓã¬ÄÚÁªº¯ÊýµÈ£¬ÔÚ´Ë×öÒ»¸ö½éÉÜ¡£
2¡¢¶ÔÓÚC/C++ÖеĻù´¡ÊDZØÐëÒªÏêϸÁ˽âµÄ£¬Äܹ»Éî¿ÌÀí½âÆäº¬ÒåÒÔ¼°ÆäÀ´Ô´£¬ÊÇÒ»¸öÈËÄÚ¹¦Éî¿ÌµÄ±íÏÖ¡£Èç¹ûһЩ»ù´¡µÄÎÊÌ⣬
¶¼Ëµ²»ÉÏÀ´£¬ÓÖÈçºÎ¸øÈËÒÔÐÅÐÄÄØ¡£
¶þ¡¢³£¼ûµÄÎÊÌâ
1¡¢ÎªÊ²Ã´ÒªÊ¹ ......
ÏÂÃæµÄÎļþµÄʹÓ÷½·¨ÊÇ£º½«ÏÂÃæµÄÎļþ±£´æÔÚlinuxÄÚºËÔ´ÂëĿ¼ÖУ¬ÎļþµÄÃû³ÆÊÇ.config£¬È»ºómake menuconfig,ÔÚ³öÏÖ
µÄÅäÖýçÃæÖÐÑ¡ÔñLoad ConfiguratioÑ¡ÏȻºó¿ÉÒÔÔÚÕâ¸ö»ù´¡ÉÏÐÞ¸Ä×Ô¼ºµÄkernel¡£ÏÂÃæµÄÅäÖÃÊÇ»ùÓÚs3c2410£¬Ö§³Öyaffs2
Îļþϵͳ¡£ÎÒ¿´ÁËһϱàÒë³öÀ´µÄuImage´ó¸ÅÔÚ800k×óÓÒ£¬ºÇºÇôÕâÊDZ¾È˵ÚÒ»´Î³É ......
¹Û²ì¹ýÈ¥Ò»ÖܺãָţÐÜÖ¤µÄ×ʽðÁ÷Ïò£¬ÆÚ¼ä·Ö±ðÔ¼ÓÐ1800ÍòºÍ850ÍòÔª×ʽð淨Á÷Èëºãָţ֤ºÍÐÜÖ¤£¬ÏÔʾ´óÊÐÔÚ21000µã¹Ø¿ÚÖÁ100ÌìÏßÔ¼21500µã¸½½üÕ·ùÉÏÂäÆÚ¼ä£¬¿´ºÃºÍ¿´å£Á½·½Ãæ¶¼ÓÐÖ§³ÖÕߣ¬Î©ÆÕ±éÒÔ¶ÌÏßÂòÂôΪÖ÷¡£µ±´óÊлØÊÔ21000µã¹Ø¿Ú¸½½üʱ£¬Êг¡ÉϵÄÐÜÖ¤³Ö²Ö¼õÉÙ£¬¶øÅ£Ö¤Ôò¼û×ʽðÁ÷È룻µ±´óÊÐÉý½ü100Ì ......
externÊÇC/C++ÓïÑÔÖбíÃ÷º¯ÊýºÍÈ«¾Ö±äÁ¿×÷Ó÷¶Î§£¨¿É¼ûÐÔ£©µÄ¹Ø¼ü×ÖËü¸æËß±àÒëÆ÷£¬ÆäÉùÃ÷µÄº¯ÊýºÍ±äÁ¿¿ÉÒÔÔÚ±¾Ä£¿é»òÆäËüÄ£¿éÖÐʹÓá£
1¡£¶ÔÓÚextern±äÁ¿À´Ëµ£¬½ö½öÊÇÒ»¸ö±äÁ¿µÄÉùÃ÷£¬Æä²¢²»ÊÇÔÚ¶¨Òå·ÖÅäÄÚ´æ¿Õ¼ä¡£Èç¹û¸Ã±äÁ¿¶¨Òå¶à´Î£¬»áÓÐÁ¬½Ó´íÎó
2¡£Í¨³££¬ÔÚÄ£¿éµÄÍ·ÎļþÖжԱ¾Ä£¿éÌṩ¸øÆäËüÄ£¿éÒýÓõĺ¯ÊýºÍÈ«¾Ö±äÁ ......