±ê×¼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++µÄÖ¸Õ룬·¢ÏÖÁËһЩƽʱûעÒâµ½µÄÖ¸ÕëÓ÷¨ºÍÎÊÌâ¡£
1¡¢Ö¸ÕëÒýÓÃ
void func1£¨MYCLASS* &pBuildingElement£©£»
Õ§Ò»¿´£¬¹Ö¹ÖµÄ£¬¿´ÁËϽâÊÍ£¬Ï¸ÏëһϺÍÖ¸ÕëµÄÖ¸ÕëÀàËÆ£º
void func1£¨MYCLASS** pBuildingElement£©£»
¿´ÏÂÃæµÄÀý×Ó£º
...
MyClass* p = new MyClass;
func1(p);
......
Ò»¡¢¸ÅÊö
1¡¢C++ËäÈ»ÊÇ´ÓCÓïÑÔÖз¢Õ¹µÄ£¬µ«ÆäÖÐÓÐÐí¶àÒªµã£¬ÊÇCÓïÑÔÖÐËùûÓе쬰üÀ¨ÒýÓã¬ÄÚÁªº¯ÊýµÈ£¬ÔÚ´Ë×öÒ»¸ö½éÉÜ¡£
2¡¢¶ÔÓÚC/C++ÖеĻù´¡ÊDZØÐëÒªÏêϸÁ˽âµÄ£¬Äܹ»Éî¿ÌÀí½âÆäº¬ÒåÒÔ¼°ÆäÀ´Ô´£¬ÊÇÒ»¸öÈËÄÚ¹¦Éî¿ÌµÄ±íÏÖ¡£Èç¹ûһЩ»ù´¡µÄÎÊÌ⣬
¶¼Ëµ²»ÉÏÀ´£¬ÓÖÈçºÎ¸øÈËÒÔÐÅÐÄÄØ¡£
¶þ¡¢³£¼ûµÄÎÊÌâ
1¡¢ÎªÊ²Ã´ÒªÊ¹ ......
1.¸ÅÊö
¡¡¡¡Ðí¶à³õѧÕß¶ÔC/C++ÓïÑÔÖеÄvoid¼°voidÖ¸ÕëÀàÐͲ»ÉõÀí½â£¬Òò´ËÔÚʹÓÃÉϳöÏÖÁËһЩ´íÎó¡£±¾ÎĽ«¶Ôvoid¹Ø¼ü×ÖµÄÉî¿Ìº¬Òå½øÐнâ˵£¬²¢ÏêÊövoid¼°voidÖ¸ÕëÀàÐ͵ÄʹÓ÷½·¨Óë¼¼ÇÉ¡£
2.voidµÄº¬Òå
¡¡¡¡voidµÄ×ÖÃæÒâ˼ÊÇ“ÎÞÀàÐÍ”£¬void *ÔòΪ“ÎÞÀàÐÍÖ¸Õ딣¬void *¿ÉÒÔÖ¸ÏòÈκÎÀàÐ͵ÄÊý¾Ý¡£
¡ ......
ÏÈ˵python
pythonµÄrandomÄ£¿éÌṩÁ˶à¸öÎ±Ëæ»úÊý·¢ÉúÆ÷£¬Ä¬È϶¼ÊÇÓõ±Ç°Ê±¼ä´ÁÎªËæ»úÊýÖÖ×Ó¡£
ÏÂÃæÊǸÃÄ£¿é¼¸¸ö×î³£Óõĺ¯Êý
random() Return the next random floating point number in the range [0.0, 1.0).
randint(a,b) Return a random integer N such that a <=
N <= b
randrange([star ......
ʲôʱºòÐèÒª´´½¨Ï̳߳ØÄØ£¿¼òµ¥µÄ˵£¬Èç¹ûÒ»¸öÓ¦ÓÃÐèҪƵ·±µÄ´´½¨ºÍÏú»ÙỊ̈߳¬¶øÈÎÎñÖ´ÐеÄʱ¼äÓַdz£¶Ì£¬ÕâÑùÏ̴߳´½¨ºÍÏú»ÙµÄ´øÀ´µÄ¿ªÏú¾Í²»ÈݺöÊÓ£¬ÕâʱҲÊÇÏ̳߳ظóö³¡µÄ»ú»áÁË¡£Èç¹ûÏ̴߳´½¨ºÍÏú»Ùʱ¼äÏà±ÈÈÎÎñÖ´ÐÐʱ¼ä¿ÉÒÔºöÂÔ²»¼Æ£¬ÔòûÓбØÒªÊ¹ÓÃÏ̳߳ØÁË¡£
ÏÂÃæÊÇ ......