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

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>
            亚洲图片在线| 欧美人成在线视频| 亚洲精品久久久久久久久久久久久| 亚洲一区综合| 一区二区三区四区在线| 亚洲视频高清| 亚洲自拍偷拍麻豆| 午夜精品国产更新| 久久久精品国产一区二区三区| 欧美在线电影| 久久性色av| 亚洲七七久久综合桃花剧情介绍| 亚洲精品中文字幕有码专区| 一区二区三区视频在线观看 | 狠狠色香婷婷久久亚洲精品| 韩国一区二区三区美女美女秀| 在线成人中文字幕| 一本一本久久| 久久久久久综合| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲四色影视在线观看| 榴莲视频成人在线观看| 欧美日韩精品三区| 国产午夜精品一区二区三区欧美| 亚洲国产成人一区| 亚洲无毛电影| 欧美成人蜜桃| 亚洲欧美综合国产精品一区| 欧美精品福利视频| 黄色日韩精品| 午夜精品久久久久久久久久久久| 久久一区欧美| 亚洲欧美色一区| 欧美精品一区二区在线观看| 国产日韩欧美在线视频观看| 亚洲免费久久| 美女黄毛**国产精品啪啪| 亚洲色图自拍| 欧美大片网址| 国产一区二区三区精品欧美日韩一区二区三区 | 久久久久久成人| 国产精品va在线播放我和闺蜜| 在线免费观看成人网| 欧美一区二区三区啪啪| 亚洲精品欧美专区| 免费成人高清视频| 伊人狠狠色丁香综合尤物| 性欧美1819sex性高清| 亚洲日本中文字幕区| 麻豆精品网站| 亚洲第一成人在线| 你懂的国产精品永久在线| 亚洲一区二区三区四区中文| 亚洲欧洲三级电影| 美玉足脚交一区二区三区图片| 日韩网站免费观看| 欧美xart系列在线观看| 亚洲电影网站| 免费久久精品视频| 久久亚洲国产精品日日av夜夜| 国内精品久久久久久| 久久精品一区二区国产| 亚洲欧美美女| 国产日韩欧美一区二区三区在线观看| 亚洲欧美日韩视频一区| 亚洲一级网站| 国产日韩在线视频| 久久综合伊人| 欧美jizz19性欧美| 一本综合久久| 亚洲天堂男人| 国产一区二区三区在线观看免费| 久久久99国产精品免费| 久久国产一二区| 在线观看视频日韩| 亚洲高清久久| 欧美久久九九| 亚洲一区精品电影| 欧美在线精品一区| 最新亚洲一区| 在线亚洲免费| 狠狠88综合久久久久综合网| 欧美成人精品在线| 欧美天堂亚洲电影院在线观看| 亚洲自拍偷拍一区| 久久精品视频在线| aⅴ色国产欧美| 午夜精品久久久久久久99水蜜桃 | 亚洲精品一区二区三区av| 亚洲精品一区二| 国产一区99| 亚洲精品国产拍免费91在线| 国产精品一区二区三区四区五区| 久久亚洲电影| 欧美精品色网| 久久狠狠一本精品综合网| 免费不卡中文字幕视频| 亚洲与欧洲av电影| 久久综合伊人77777| 亚洲欧美日韩在线不卡| 麻豆精品网站| 欧美在线播放高清精品| 欧美高清视频在线播放| 久久成人18免费网站| 欧美激情导航| 久久在线视频| 欧美调教视频| 亚洲大胆在线| 国语自产偷拍精品视频偷 | 久久人人看视频| 欧美日韩国产色综合一二三四| 玖玖国产精品视频| 国产精品久久久久久av下载红粉| 亚洲视频免费看| 午夜宅男久久久| 欧美精品系列| 美日韩免费视频| 国产中文一区| 亚洲女爱视频在线| 中文在线一区| 欧美精品三级在线观看| 欧美激情第五页| 激情综合视频| 久久国产精品久久久久久电车 | 国产精品永久入口久久久| 亚洲区免费影片| 亚洲国产人成综合网站| 久久爱www久久做| 性xx色xx综合久久久xx| 欧美视频在线观看 亚洲欧| 91久久精品www人人做人人爽| 极品少妇一区二区| 久久久久国产成人精品亚洲午夜| 欧美在线黄色| 国产欧美日韩综合精品二区| 亚洲午夜高清视频| 亚洲欧美在线一区二区| 国产精品女主播| 亚洲免费在线电影| 亚洲欧美日韩另类| 国产精品手机视频| 午夜精品在线视频| 久久婷婷激情| 亚洲国产精品一区二区尤物区| 另类国产ts人妖高潮视频| 欧美成人精品h版在线观看| 亚洲欧洲日本在线| 欧美片第1页综合| 在线午夜精品| 久久久精品动漫| 亚洲国产综合视频在线观看| 欧美国产先锋| 一本色道久久综合| 欧美伊人久久| 伊人久久综合97精品| 免费日韩av电影| 日韩视频在线观看免费| 亚洲综合日韩中文字幕v在线| 国产精品视频久久一区| 欧美在线在线| 亚洲高清中文字幕| 亚洲免费中文| 精品成人a区在线观看| 欧美激情视频一区二区三区在线播放 | 一区二区三区高清不卡| 午夜精品网站| 极品日韩久久| 欧美日韩中文字幕在线视频| 亚洲欧美日本日韩| 欧美成人tv| 亚洲综合日本| 亚洲福利视频在线| 国产精品久久一级| 久久中文字幕一区二区三区| 日韩一级成人av| 亚洲国产激情| 中日韩美女免费视频网址在线观看 | 欧美成年人网站| 中文高清一区| 狠狠色综合日日| 欧美婷婷六月丁香综合色| 欧美一区二区视频97| 亚洲精品在线一区二区| 久久精品国产久精国产思思| 99视频精品全国免费| 国产在线视频欧美一区二区三区| 欧美精品手机在线| 久久在线91| 亚洲欧美电影院| 亚洲精品久久久一区二区三区| 久久精品国产精品亚洲综合| 亚洲一级影院| 日韩视频一区二区三区| 国产一区二区三区丝袜| 国产精品青草综合久久久久99| 欧美搞黄网站| 欧美刺激午夜性久久久久久久| 久久久久久黄| 欧美一级专区免费大片| 亚洲一区二区三区乱码aⅴ蜜桃女|