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

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) 評(píng)論(0)  編輯 收藏 引用

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   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>
            欧美 日韩 国产一区二区在线视频| 国产精品va在线播放| 蜜桃久久av| 国产精品久久精品日日| 亚洲精品久久嫩草网站秘色| 久久福利一区| 中文欧美日韩| 欧美日韩四区| 日韩网站在线| 亚洲二区精品| 久久久噜噜噜久久| 国内久久精品| 久久久久久亚洲精品中文字幕| 亚洲五月婷婷| 国产伦精品一区二区三区四区免费 | 亚洲欧洲一区二区在线播放| 久久综合亚州| 亚洲国产精品久久久久婷婷884| 久久人人爽国产| 久久九九免费| 亚洲国产精品视频| 亚洲国产另类 国产精品国产免费| 久久这里只有| 亚洲精品在线看| 亚洲卡通欧美制服中文| 欧美色欧美亚洲另类七区| 亚洲欧美精品suv| 亚洲欧美日产图| 国产一区二区三区在线观看精品| 美女在线一区二区| 欧美高清在线播放| 亚洲一区亚洲二区| 午夜久久资源| 亚洲丰满在线| 亚洲开发第一视频在线播放| 欧美日韩在线一区| 久久精品国产久精国产思思| 久久夜色精品国产亚洲aⅴ| 日韩视频在线观看一区二区| 亚洲午夜国产成人av电影男同| 国产日韩在线一区| 亚洲第一在线综合网站| 伊人久久大香线蕉综合热线| 亚洲视频欧洲视频| 国产农村妇女毛片精品久久麻豆| 久久免费视频在线观看| 免费的成人av| 亚洲欧美国产毛片在线| 久久久精品动漫| 一本色道久久综合亚洲精品高清| 亚洲欧美日韩在线高清直播| 在线观看国产成人av片| 亚洲精品综合| 红桃视频成人| 中文在线不卡| 亚洲国产精品尤物yw在线观看| 亚洲精品永久免费| 精品电影在线观看| 正在播放亚洲一区| 亚洲欧洲另类国产综合| 亚洲欧美资源在线| 亚洲免费不卡| 久久频这里精品99香蕉| 亚洲欧美三级在线| 欧美精品一区二区三区很污很色的| 亚洲综合色在线| 欧美+日本+国产+在线a∨观看| 欧美一区二区三区四区视频| 久久综合久久综合九色| 欧美一区亚洲| 国产精品国产三级国产普通话三级| 欧美成人午夜剧场免费观看| 国产日韩欧美视频| 亚洲性线免费观看视频成熟| 日韩一级黄色大片| 久久综合色88| 久久久久一区二区| 国产亚洲欧美一区二区三区| 亚洲午夜在线| 一区二区三区国产| 欧美精品一区二区精品网| 欧美波霸影院| 怡红院av一区二区三区| 欧美一二三区在线观看| 午夜日韩av| 国产精品福利在线观看| 亚洲人体一区| 亚洲免费观看视频| 欧美国产综合视频| 亚洲电影欧美电影有声小说| 精品不卡一区| 久久精品国产亚洲精品 | 亚洲三级视频在线观看| 亚洲精品乱码视频| 欧美 日韩 国产在线| 亚洲黄网站黄| 日韩亚洲一区二区| 欧美日韩综合不卡| 日韩视频在线观看国产| 亚洲小视频在线观看| 国产精品mm| 欧美一区二区精品| 久热精品视频在线| 亚洲高清视频在线观看| 欧美成人午夜激情在线| 亚洲精品久久久一区二区三区| 亚洲乱码国产乱码精品精 | 日韩午夜电影在线观看| 一色屋精品亚洲香蕉网站| 久久麻豆一区二区| 亚洲国产一二三| 一区二区高清视频在线观看| 欧美三级免费| 午夜久久资源| 欧美国产日韩精品| 亚洲午夜精品国产| 国产一级揄自揄精品视频| 久久综合久久88| 一本久道久久综合中文字幕| 亚洲欧美www| 激情久久中文字幕| 欧美人与禽猛交乱配视频| 亚洲一区在线直播| 欧美成人a视频| 国产精品99久久久久久有的能看| 国产精品久久77777| 久久激五月天综合精品| 亚洲日韩第九十九页| 性欧美暴力猛交69hd| 亚洲第一在线| 国产精品久久久久久av下载红粉| 久久精品日韩| 一个色综合av| 欧美成人四级电影| 欧美亚洲在线观看| 亚洲精华国产欧美| 国产欧美一区二区视频| 欧美激情性爽国产精品17p| 亚洲综合国产| 亚洲国产精品一区二区www在线| 欧美一区二区三区四区视频| 亚洲精品乱码久久久久久久久| 国产日韩欧美高清免费| 欧美日韩黄色大片| 久久免费的精品国产v∧| 一区二区三区欧美日韩| 亚洲第一伊人| 久久综合给合久久狠狠狠97色69| 一区二区三区四区国产精品| 激情综合久久| 国产欧美日韩精品a在线观看| 欧美精品成人| 久久精品九九| 亚洲一级片在线观看| 亚洲精品乱码久久久久久日本蜜臀 | 亚洲电影观看| 国产精品一区二区三区久久| 欧美成人三级在线| 老牛影视一区二区三区| 亚洲欧美在线免费| 亚洲午夜精品久久久久久app| 欧美黄色一区| 男同欧美伦乱| 久久综合伊人77777麻豆| 久久精品国产亚洲一区二区| 午夜精品久久久久久久久 | 亚洲欧美一区二区三区久久 | 欧美一二三区在线观看| 亚洲少妇自拍| 欧美不卡一卡二卡免费版| 欧美美女日韩| 欧美不卡在线| 欧美va天堂在线| 久热国产精品视频| 久久久噜噜噜| 久久综合给合| 欧美国产精品人人做人人爱| 裸体一区二区三区| 欧美电影免费观看大全| 免费不卡中文字幕视频| 免费一级欧美片在线播放| 毛片精品免费在线观看| 免费看的黄色欧美网站| 欧美成人a视频| 欧美精品18videos性欧美| 欧美精品18| 国产精品va在线播放| 国产精品亚洲精品| 国产伦精品一区二区三区在线观看 | 久久精品一区中文字幕| 久久久久久国产精品一区| 久久国产精品亚洲va麻豆| 久久久www免费人成黑人精品 | 国产精品免费看久久久香蕉| 国产精品久久久久毛片软件| 国产欧美一二三区| 在线观看日韩av电影| 亚洲精品日韩在线观看| 亚洲视频一区二区在线观看| 性欧美大战久久久久久久久|