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

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>
            久久精品视频网| 午夜精品一区二区三区在线视| 在线观看中文字幕不卡| 国产精品视频久久久| 国产精品成人免费视频 | 欧美aⅴ99久久黑人专区| 久久精品午夜| 久久人人爽人人| 久久免费高清| 欧美激情一区二区| 欧美日韩亚洲激情| 久久久免费精品| 久久久久国产精品一区| 久久综合精品国产一区二区三区| 久久精精品视频| 免费欧美网站| 亚洲裸体视频| 亚洲一区在线播放| 久久xxxx精品视频| 欧美freesex8一10精品| 欧美午夜精品一区| 国产一区二区成人久久免费影院| 国内精品久久久久久久果冻传媒| 亚洲国产欧洲综合997久久| a4yy欧美一区二区三区| 亚洲欧美在线aaa| 免费视频一区| 在线视频日韩| 久久综合免费视频影院| 国产精品xxxxx| 亚洲国产第一| 欧美在线电影| 在线精品一区二区| 国产偷久久久精品专区| 亚洲美女中出| 裸体歌舞表演一区二区| 亚洲美女91| 久久一区二区三区四区五区| 国产精品对白刺激久久久| 亚洲福利国产| 久久精品亚洲一区二区| 一本到高清视频免费精品| 蜜桃av综合| 国产一区二区三区免费在线观看 | 久久夜色精品国产亚洲aⅴ| 亚洲精品国产精品乱码不99 | 亚洲激情在线激情| 久久久国产精品一区二区三区| 欧美视频日韩视频在线观看| 亚洲欧洲日本国产| 欧美电影电视剧在线观看| 欧美在线91| 国产日韩欧美制服另类| 亚洲一区二区三区影院| 亚洲精选中文字幕| 欧美精品18| 99国产精品国产精品久久| 欧美成人一区二免费视频软件| 欧美亚洲日本国产| 欧美视频在线不卡| 欧美日韩成人综合天天影院| 亚洲国产福利在线| 久久久99久久精品女同性| 先锋影音国产一区| 国产精品久久久久久户外露出 | 亚洲综合精品| 欧美日精品一区视频| 国产亚洲成人一区| 欧美一区二区免费观在线| 蜜臀久久99精品久久久画质超高清 | 欧美日本国产| 国产一区二区日韩| 久久久噜噜噜久久中文字幕色伊伊| 亚洲精品久久视频| 欧美色精品在线视频| 日韩亚洲视频| 亚洲婷婷国产精品电影人久久| 欧美激情一二三区| 亚洲男人第一网站| 一道本一区二区| 国产日韩av高清| 羞羞答答国产精品www一本 | 亚洲国产日韩欧美在线99| 久久全球大尺度高清视频| 欧美精品一区二区三区蜜臀| 在线一区二区三区做爰视频网站| 亚洲国产一区二区精品专区| 欧美美女操人视频| 亚洲色图在线视频| 久久精品国产69国产精品亚洲| 国产亚洲福利社区一区| 男女av一区三区二区色多| 久久综合色天天久久综合图片| 9色精品在线| 亚洲午夜羞羞片| 亚洲国产精品久久久久| 亚洲二区视频| 国产女主播视频一区二区| 久久国产精品色婷婷| 欧美国产一区二区在线观看| 亚洲色图综合久久| 久久这里有精品视频| 亚洲全部视频| 欧美一级播放| 在线看国产一区| 亚洲一区二区三区色| 国产有码一区二区| 99精品99| 国内精品久久久久国产盗摄免费观看完整版 | 91久久香蕉国产日韩欧美9色| 国产精品乱码妇女bbbb| 久久久综合网站| 国产精品久久久久一区| 久久综合久久综合久久| 国产精品美女久久久浪潮软件| 久久九九国产精品怡红院| 欧美日韩影院| 美女黄网久久| 国产丝袜美腿一区二区三区| 久久久九九九九| 国产精品男gay被猛男狂揉视频| 先锋资源久久| 欧美日韩一级黄| 午夜日韩福利| 国产精品久久久一区二区三区| 亚洲人成在线影院| 性亚洲最疯狂xxxx高清| 国产精品视频不卡| 日韩一区二区电影网| 国产精品看片资源| 99在线精品视频| 国产欧美高清| 亚洲综合视频在线| 好吊视频一区二区三区四区 | 亚洲图片在线| 久久性天堂网| 美女在线一区二区| 国产精品香蕉在线观看| 久久久亚洲成人| 欧美va亚洲va日韩∨a综合色| 欧美精品免费在线观看| 欧美不卡高清| 国产区欧美区日韩区| 亚洲一区二区三区久久 | 欧美a级在线| 欧美成人激情视频| 亚洲高清资源| 欧美在线视频在线播放完整版免费观看 | 久久一区二区三区av| 影院欧美亚洲| 久久免费视频网| 欧美成人免费va影院高清| 国产偷国产偷亚洲高清97cao| 亚洲国产精品成人综合色在线婷婷| 国产在线视频欧美一区二区三区| 久久精品99国产精品日本| 亚洲欧美自拍偷拍| 国产午夜精品全部视频在线播放| 一二三区精品福利视频| 欧美一区二区三区四区视频| 国产精品久久| 久久国产乱子精品免费女| 久久偷看各类wc女厕嘘嘘偷窃| 亚洲激情视频| 欧美激情视频一区二区三区免费| 9l视频自拍蝌蚪9l视频成人| 在线亚洲美日韩| 国产一区二区三区在线观看网站 | 一区二区三区欧美视频| 欧美一二三区精品| 欧美人与禽猛交乱配| 亚洲一区二区在线播放| 亚洲日本免费电影| 欧美视频免费在线| 欧美大片第1页| 亚洲午夜女主播在线直播| 国内精品模特av私拍在线观看| 久久精品视频在线观看| 亚洲人成人一区二区三区| 亚洲天堂黄色| 激情久久久久久| 欧美激情按摩在线| 欧美一区二区三区男人的天堂| 毛片一区二区三区| 亚洲在线一区二区三区| 国产综合色产| 国产精品红桃| 久久av一区二区三区漫画| 亚洲精品视频在线播放| 性色av一区二区三区| 亚洲精品欧洲精品| 国产精品亚洲综合天堂夜夜| 欧美国产亚洲视频| 亚洲综合二区| 影音先锋中文字幕一区二区| 国产精品自拍视频| 欧美成人影音| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲精品美女免费| 亚洲国产精品一区制服丝袜|