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

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>
            中日韩高清电影网| 欧美va亚洲va日韩∨a综合色| 国产区亚洲区欧美区| 亚洲欧美亚洲| 久久网站热最新地址| 国内外成人免费激情在线视频| 亚洲自拍电影| 免费在线观看成人av| 日韩视频中文| 国产精品视频大全| 久久久国产精品亚洲一区| 欧美r片在线| 亚洲无玛一区| 亚洲成人中文| 国产精品视频最多的网站| 久久精品国产成人| 亚洲精品人人| 麻豆精品在线视频| 亚洲视频在线一区| 在线日韩一区二区| 国产欧美精品va在线观看| 蜜桃久久av一区| 欧美一级大片在线免费观看| 欧美www视频| 免费成人小视频| 亚洲午夜在线视频| 亚洲国产国产亚洲一二三| 国产精品成人va在线观看| 麻豆久久婷婷| 久久久在线视频| 欧美一级淫片aaaaaaa视频| 99re66热这里只有精品3直播| 久久亚洲午夜电影| 久久午夜视频| 久久亚洲精品欧美| 久久米奇亚洲| 亚洲午夜精品在线| 亚洲视频免费| 亚洲自拍另类| 性色av一区二区三区红粉影视| 日韩视频一区| 亚洲一区三区电影在线观看| 一区二区三区四区五区视频 | 亚洲国产精品电影在线观看| 国产欧美精品| 亚洲电影下载| 一区二区三区欧美| 欧美一级久久| 欧美成人综合网站| 夜夜狂射影院欧美极品| 香蕉久久久久久久av网站| 久久精品最新地址| 欧美精品成人一区二区在线观看 | 玖玖玖国产精品| 亚洲区一区二| 午夜精品一区二区三区四区 | 老巨人导航500精品| 欧美va亚洲va日韩∨a综合色| 欧美日韩亚洲一区二区| 国产视频一区欧美| 亚洲精品一区二区三区蜜桃久 | 99在线精品观看| 亚洲小视频在线| 美女999久久久精品视频| 欧美日韩亚洲一区二区三区在线 | 玖玖玖国产精品| 一本色道久久| 欧美日韩精品免费观看视频完整| 国产欧美日韩中文字幕在线| 亚洲精品1234| 久久亚洲私人国产精品va| 亚洲欧美日韩国产| 国产精品福利网| 亚洲深夜福利| 洋洋av久久久久久久一区| 欧美肥婆bbw| 91久久嫩草影院一区二区| 免费久久99精品国产| 久久不射中文字幕| 国产午夜亚洲精品羞羞网站 | 99视频+国产日韩欧美| 欧美激情第4页| 亚洲欧洲在线看| 亚洲高清成人| 欧美激情成人在线| 亚洲午夜女主播在线直播| 亚洲乱码国产乱码精品精| 欧美高清在线观看| 一二美女精品欧洲| 日韩一级黄色大片| 国产精品视频一二| 久久亚洲视频| 欧美大色视频| 亚洲校园激情| 欧美在线观看视频在线| 影音先锋欧美精品| 欧美激情一区二区三区在线视频观看 | 亚洲欧洲精品一区二区三区不卡 | 国产精品成人aaaaa网站| 亚洲欧美中文日韩v在线观看| 亚洲图片在线| 亚洲国产影院| 亚洲社区在线观看| 在线欧美一区| 亚洲精品一品区二品区三品区| 欧美午夜剧场| 欧美成人在线免费观看| 欧美丝袜一区二区| 美国成人直播| 国产精品嫩草影院一区二区| 免费亚洲婷婷| 国产欧美视频一区二区| 欧美高清视频| 国产一区 二区 三区一级| 亚洲欧洲一区二区三区在线观看| 国产精品亚洲综合| 亚洲精品孕妇| 亚洲国产天堂久久综合网| 欧美一区二区视频在线观看| 亚洲一区在线看| 欧美人成在线| 91久久久精品| 1024国产精品| 久久综合九色综合网站| 老巨人导航500精品| 国产主播一区| 久久久www免费人成黑人精品 | 久久免费高清| 久久亚洲国产精品日日av夜夜| 欧美亚男人的天堂| 日韩一级视频免费观看在线| 亚洲午夜小视频| 国产精品美女久久久| 亚洲欧美网站| 欧美大胆a视频| 日韩一级黄色片| 国产精品极品美女粉嫩高清在线 | 国产亚洲一区二区精品| 欧美一区二区免费视频| 久久久久久久精| 亚洲另类自拍| 国产免费成人av| 久久久久久久久岛国免费| 欧美gay视频| 亚洲午夜三级在线| 国模大胆一区二区三区| 蜜臀久久99精品久久久久久9| 亚洲毛片av在线| 久久在线精品| 亚洲男人影院| 91久久精品美女高潮| 国产精品久久毛片a| 久久人91精品久久久久久不卡| 亚洲曰本av电影| 国产综合精品| 日韩午夜黄色| 可以看av的网站久久看| 亚洲欧美经典视频| 91久久精品国产| 国产精品美女午夜av| 欧美综合国产| 欧美激情视频免费观看| 亚洲国产三级网| 蜜臀a∨国产成人精品| 亚洲欧美精品suv| 一区二区三区欧美成人| 在线观看成人小视频| 国产精品一区二区你懂的| 欧美色网一区二区| 欧美福利视频在线| 美女成人午夜| 欧美精品在线播放| 欧美黄色免费| 欧美精品在线视频观看| 欧美日韩高清在线一区| 欧美精品一区二区在线播放| 欧美成人午夜影院| 麻豆成人小视频| 欧美国产综合视频| 欧美日韩视频第一区| 欧美日韩精品免费观看视一区二区| 欧美777四色影视在线| 美日韩精品免费观看视频| 久久五月婷婷丁香社区| 欧美va天堂| 国产精品高清在线观看| 国产日本欧美一区二区三区| 国产亚洲美州欧州综合国| 狠狠色综合播放一区二区| 一区视频在线播放| 日韩亚洲国产精品| 香蕉亚洲视频| 免费毛片一区二区三区久久久| 免费不卡亚洲欧美| 日韩视频免费| 久久国产日韩欧美| 欧美日韩国产色综合一二三四| 欧美视频日韩视频在线观看| 国产日韩精品一区| 亚洲靠逼com|