青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 17,  comments - 2,  trackbacks - 0
October 09

gSoap: How to add info to SOAP Header using gSOAP

gSoap: How to add info to SOAP Header using gSOAP
There's some misleading info in gSOAP's official documents in SOAP Header Processing Part. 
This article leads you to the right way and can make your program work.
The use case is: 
Client needs to pass user name and password to Server Side to get authenticated.
The username and password info should be embeded in SOAP Header.
Steps:
1. Edit struct SOAP_ENV__Header in soapStub.h file which is generated by gSOAP's soapcpp2 compiler
Add the neccesary info to this struct 
For example:
The original one is:
struct SOAP_ENV__Header
{
public:
 void *dummy; /* transient */
};
This should be changed to:
struct SOAP_ENV__Header
{
public:
 void *dummy; /* transient */
 char *username;
 char *password;
};
2.  Edit function soap_out_SOAP_ENV__Header in soapC.cpp file which is also generated by gSOAP
Add statements to serialize those info into SOAP Header.
For example:
The original one is:
SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Header(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Header *a, const char *type)
{
    soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Header), type);
    /* transient dummy skipped */
    soap_element_end_out(soap, tag);
    return SOAP_OK;
}
This could be changed to:
SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Header(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Header *a, const char *type)
{
    soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Header), type);
    /* transient dummy skipped */
    soap_out_string(soap, "headerNS:username", 1, &(a->username), "");
    soap_out_string(soap, "headerNS:password", 2, &(a->password), "");
    soap_element_end_out(soap, tag);
    return SOAP_OK;
}
3. Add the namespace mapping to namespaces array in .nsmap file.
 {"headerNS", "http://customeheader.test.com", NULL, NULL},
 
4. Set the header before invoking Web Service Method. This part you can also refer to the gSOAP's official documenthttp://www.cs.fsu.edu/~engelen/soapdoc2.html#tth_sEc12.
   struct soap soap; 
   soap_init(&soap);  
...
    soap->header = (SOAP_ENV__Header *)soap_malloc(soap, sizeof(SOAP_ENV__Header));
    soap->header->username = (char*)malloc(MAX_NAME_SIZE * sizeof(char));
    soap->header->password = (char*)malloc(MAX_NAME_SIZE * sizeof(char));
    strcpy(soap->header->username, username);
    strcpy(soap->header->password, passwd);
    soap_call_method(&soap, ...);  //the SOAP Header will be in the request
...
5. Compile
6. Run. 
The SOAP Message could be
... 
<SOAP-ENV:Envelope xmlns:headerNS="
http://customeheader.vpamws.com">
<SOAP-ENV:Header>
<headerNS:username>admin</headerNS:username>
<headerNS:password>default</headerNS:password>
</SOAP-ENV:Header>
<SOAP-ENV:Body> 
... 
</SOAP-ENV:Body> 
</SOAP-ENV:Envelope>
 
Any Questions, Please let me know. Thanks.
 
-Debora
posted on 2009-03-28 15:29 BeyondCN 閱讀(1205) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            性久久久久久久| 欧美黑人在线播放| 国产一区二区精品| 国产农村妇女精品一二区| 欧美精品aa| 欧美激情一区二区三区在线| 欧美激情偷拍| 欧美伦理影院| 国产精品成人一区| 国产啪精品视频| 精品电影在线观看| 91久久极品少妇xxxxⅹ软件| 亚洲美女黄网| 亚洲欧美中日韩| 久久婷婷国产综合国色天香| 欧美国产日韩在线| 一区二区三区黄色| 久久av一区二区三区漫画| 久久躁日日躁aaaaxxxx| 欧美激情精品久久久久久黑人| 欧美日韩一区三区| 在线观看的日韩av| 亚洲丰满在线| 亚洲美女视频网| 欧美在线视频免费播放| 久久久噜噜噜| 欧美肥婆bbw| 欧美午夜激情视频| 国产综合18久久久久久| 一本色道久久综合狠狠躁篇怎么玩 | 欧美精品一区二区三区在线播放 | 亚洲一级二级| 久久久精品欧美丰满| 欧美日韩高清不卡| 加勒比av一区二区| 亚洲欧美在线磁力| 亚洲精品视频在线观看网站| 欧美一区二区三区成人 | 国产欧美日韩在线视频| 亚洲一区二区高清视频| 香港久久久电影| 亚洲黄色免费电影| 另类图片国产| 亚洲一区二区三区免费观看| 美女脱光内衣内裤视频久久影院 | 久久精品99国产精品| 亚洲精品国产精品乱码不99按摩 | 欧美高清视频一区| 国产亚洲激情在线| 亚洲欧美日韩专区| 亚洲片区在线| 欧美成人午夜激情在线| 伊人成人在线视频| 久久久久这里只有精品| 午夜激情亚洲| 国产欧美日韩精品专区| 亚洲欧美成人综合| 一区二区三区久久久| 欧美日韩mp4| 一本色道久久综合亚洲精品小说| 久久综合色8888| 久久久91精品国产一区二区精品| 另类成人小视频在线| 久久久久国产精品一区二区| 最新日韩在线| 免费成人av在线看| 在线不卡中文字幕播放| 久久人体大胆视频| 久久av一区二区三区| 亚洲欧美在线一区| 亚洲男人av电影| 国产精品免费一区豆花| 亚洲欧美日韩国产成人| 在线中文字幕一区| 国产毛片久久| 久久亚洲私人国产精品va| 久久综合一区二区三区| 亚洲欧洲精品一区二区三区波多野1战4| 免费视频久久| 欧美高清在线视频观看不卡| 一本久道综合久久精品| 99精品久久久| 国产视频精品免费播放| 免播放器亚洲| 欧美—级a级欧美特级ar全黄| 亚洲视频福利| 久久激情五月丁香伊人| 亚洲精品在线视频| 一区二区三区免费在线观看| 国产精品中文字幕在线观看| 久久免费视频网| 欧美激情va永久在线播放| 亚洲一区日韩| 欧美在线视频一区二区三区| 亚洲美女色禁图| 欧美专区日韩视频| 在线视频欧美一区| 欧美一区二区三区在线| 日韩写真在线| 久久精品国产久精国产爱 | 日韩午夜免费| 亚洲欧美日韩在线综合| 亚洲精品国产系列| 亚洲一二区在线| 最新国产乱人伦偷精品免费网站 | 麻豆成人在线播放| 欧美午夜精品电影| 亚洲国产精品一区二区第四页av| 国产精品jizz在线观看美国| 狂野欧美性猛交xxxx巴西| 欧美精品在线一区| 久久精品久久综合| 欧美日韩在线高清| 亚洲福利视频专区| 在线观看日韩欧美| 欧美亚洲网站| 亚洲欧美在线一区| 欧美日韩不卡| 亚洲精品在线视频观看| 亚洲国产精品成人久久综合一区| 制服丝袜激情欧洲亚洲| 亚洲理伦在线| 欧美激情性爽国产精品17p| 可以免费看不卡的av网站| 国产日韩欧美精品一区| 中文国产成人精品久久一| 日韩视频免费在线观看| 久久综合久久美利坚合众国| 久久精品日韩一区二区三区| 国产精品九色蝌蚪自拍| 亚洲最快最全在线视频| 久久综合九色| 亚洲女同在线| 欧美精品九九99久久| 美女精品网站| 国内成人精品2018免费看| 亚洲一区二区不卡免费| 亚洲一本视频| 欧美视频中文一区二区三区在线观看 | 亚洲高清视频一区| 久久riav二区三区| 久久久久看片| 亚洲第一区在线观看| 卡通动漫国产精品| 嫩草伊人久久精品少妇av杨幂| 黄色国产精品一区二区三区| 欧美一级大片在线观看| 久久久精品日韩| 亚洲电影免费观看高清完整版在线观看 | 欧美在线网站| 免费成人高清视频| 亚洲理伦在线| 国产精品久久久久久av下载红粉| 亚洲一区免费网站| 久久中文精品| 亚洲精品一区二区三区不| 欧美大片第1页| 中国日韩欧美久久久久久久久| 午夜精品久久99蜜桃的功能介绍| 国产日产高清欧美一区二区三区| 性8sex亚洲区入口| 欧美国产日韩一区二区| 在线亚洲自拍| 好吊妞**欧美| 欧美巨乳在线| 在线一区日本视频| 久久视频这里只有精品| 亚洲免费观看高清在线观看| 国产精品久久婷婷六月丁香| 久久九九国产精品怡红院| 亚洲精品视频在线观看网站| 久久精彩视频| 亚洲精品一区二区网址| 国产精品海角社区在线观看| 欧美一区二区三区四区视频 | 亚洲欧美国产高清va在线播| 久久永久免费| 亚洲一区视频在线| 亚洲第一色在线| 国产精品一二三四区| 欧美99在线视频观看| 中文一区二区| 欧美激情一区二区三区全黄| 亚洲欧美日韩第一区| 最新中文字幕亚洲| 国产区二精品视| 欧美精品在线观看一区二区| 午夜精品久久久久影视| 99在线精品观看| 亚洲一区3d动漫同人无遮挡| 亚洲自拍偷拍福利| 亚洲国产精品久久久久婷婷884| 亚洲欧美日本伦理| 亚洲精品久久久久中文字幕欢迎你 | 亚洲一区黄色| 99re6这里只有精品视频在线观看| 久久久久久久久久久久久久一区 | 欧美黑人多人双交| 老牛国产精品一区的观看方式| 亚洲免费在线|