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

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 閱讀(1210) 評(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>
            欧美激情综合亚洲一二区| 午夜精品一区二区三区电影天堂| 亚洲天堂av电影| 亚洲精选在线| 久久一区二区三区国产精品| 欧美在线视频一区二区| 欧美日韩不卡视频| 欧美高清在线观看| 在线日韩中文字幕| 久久久99爱| 久久资源av| 黄色精品在线看| 欧美亚洲免费| 欧美亚洲系列| 国产视频久久| 午夜精品一区二区三区在线| 午夜精品理论片| 国产精品美女久久福利网站| 一区二区久久久久久| 亚洲色图自拍| 国产精品国产三级国产aⅴ无密码| 亚洲国产日韩欧美| 亚洲欧洲在线一区| 欧美黄色网络| 亚洲免费观看高清在线观看| 日韩午夜在线| 欧美日韩一区二区三区| 一区二区久久久久| 亚洲专区国产精品| 国产精品一卡二卡| 午夜欧美精品| 免费的成人av| 亚洲人成在线影院| 欧美日韩一区精品| 亚洲免费视频中文字幕| 久久久一区二区| 在线不卡免费欧美| 欧美精品久久一区二区| 日韩一区二区免费高清| 亚洲伊人第一页| 国产九色精品成人porny| 欧美一区二区三区久久精品| 久久亚洲影音av资源网| 亚洲激情亚洲| 欧美特黄一区| 久久黄色网页| 亚洲日本欧美天堂| 欧美影院在线| 亚洲欧洲精品一区| 国产精品va在线播放| 欧美一区二区黄| 亚洲国产一区二区在线| 亚洲欧美国产精品桃花| 国产在线麻豆精品观看| 欧美高清视频一区二区| 亚洲一区国产| 亚洲电影中文字幕| 亚洲欧美网站| 亚洲欧洲免费视频| 国产精品天天看| 免费在线看一区| 亚洲欧美激情一区二区| 欧美成人精品1314www| 亚洲一区一卡| 亚洲二区在线视频| 国产精品三级久久久久久电影| 久久久久九九视频| 国产精品99久久久久久久女警| 噜噜噜噜噜久久久久久91| 亚洲天堂黄色| 最新国产精品拍自在线播放| 国产免费亚洲高清| 欧美日韩精品在线视频| 久久成人av少妇免费| 日韩视频国产视频| 欧美高清日韩| 久久夜色精品亚洲噜噜国产mv| 一区二区三区精品| 在线免费观看视频一区| 国产欧美日韩不卡| 欧美日韩一区高清| 欧美国产激情| 久久―日本道色综合久久| 亚洲欧美大片| 日韩视频免费在线| 最新国产成人av网站网址麻豆| 久久久人人人| 久久精品国产96久久久香蕉| 亚洲欧美日韩中文在线制服| 日韩一区二区久久| 亚洲国产日韩欧美在线99| 国产一区在线播放| 国产一区二区日韩精品| 国产精品久久久久久久久久尿| 欧美国产日本高清在线| 久久综合狠狠综合久久综合88| 欧美一级大片在线观看| 亚洲欧美乱综合| 亚洲视频你懂的| 亚洲网友自拍| 亚洲综合清纯丝袜自拍| 宅男66日本亚洲欧美视频| 日韩视频欧美视频| 一本色道久久88综合亚洲精品ⅰ | 在线观看一区视频| 国产视频精品va久久久久久| 国产精品免费一区二区三区在线观看 | 久久国内精品视频| 香蕉乱码成人久久天堂爱免费| 亚洲一区二区三区三| 亚洲一区三区视频在线观看| 亚洲一区二区三区高清| 亚洲影院污污.| 欧美一级视频| 久久久高清一区二区三区| 久久久久久97三级| 久久这里有精品15一区二区三区| 久久夜色精品一区| 欧美va日韩va| 欧美日韩亚洲一区二区三区四区| 欧美三级电影一区| 国产精品久久久久久久电影| 国产女优一区| 亚洲第一页自拍| 亚洲三级国产| 亚洲专区欧美专区| 久久精品女人的天堂av| 麻豆成人在线| 亚洲日本一区二区三区| 亚洲色图在线视频| 久久激五月天综合精品| 免费日韩成人| 国产精品青草综合久久久久99| 国产欧美综合一区二区三区| 伊人久久男人天堂| 一区二区三区www| 性色av一区二区怡红| 久久综合色播五月| 亚洲精品国产精品国产自| 亚洲免费人成在线视频观看| 久久视频一区| 国产精品毛片a∨一区二区三区|国| 国产日韩欧美高清| 亚洲免费观看高清完整版在线观看| 中文在线资源观看网站视频免费不卡| 久久成人国产精品| 亚洲黄页一区| 午夜视频精品| 欧美日韩成人综合在线一区二区 | 红桃视频国产一区| 在线视频日本亚洲性| 久久久久久穴| 一本到12不卡视频在线dvd| 久久精品国产亚洲a| 欧美日韩一区二区三区视频 | 亚洲激情图片小说视频| 亚洲欧美激情在线视频| 欧美fxxxxxx另类| 国产亚洲欧洲一区高清在线观看| 亚洲精品综合精品自拍| 久久久久国产精品www| 99在线视频精品| 久久一二三国产| 国产日产欧产精品推荐色| 亚洲美女福利视频网站| 裸体一区二区三区| 亚洲欧美国产视频| 欧美日韩妖精视频| 亚洲精品日韩在线观看| 美国成人直播| 午夜精品久久久久久99热软件| 欧美日韩a区| 亚洲欧洲日本专区| 美乳少妇欧美精品| 欧美在线你懂的| 国产日韩欧美亚洲一区| 亚洲欧美一区二区视频| 亚洲作爱视频| 欧美日韩在线一二三| 亚洲最黄网站| 亚洲国产一区二区三区a毛片| 久久人人超碰| 尤物在线精品| 老牛国产精品一区的观看方式| 午夜国产精品影院在线观看| 欧美日韩在线第一页| 亚洲色诱最新| 一本色道婷婷久久欧美| 欧美精品在线观看| 一本色道久久99精品综合| 亚洲欧洲综合| 欧美日韩一区二区三区视频| 一区二区三区成人| 亚洲精选在线| 欧美日韩精品系列| 亚洲性视频网站| 亚洲一区一卡| 国内精品美女在线观看| 蜜桃精品久久久久久久免费影院| 久久精品中文字幕一区|