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

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| 久久精品国产99国产精品| 麻豆成人小视频| 亚洲成色精品| 99视频在线观看一区三区| 一区二区免费看| 午夜视频在线观看一区二区三区| 久久高清福利视频| 欧美成人免费全部| 国产精品福利影院| 国产欧美在线观看| 亚洲欧洲日本在线| 午夜视频一区在线观看| 久久精品在线观看| 亚洲精品免费观看| 亚洲自拍偷拍一区| 鲁大师影院一区二区三区| 国产精品成人播放| 亚洲福利视频一区| 性欧美精品高清| 亚洲国产日日夜夜| 性高湖久久久久久久久| 欧美国产日韩精品免费观看| 国产欧美精品一区二区三区介绍| 亚洲人成网在线播放| 欧美一区二区三区四区视频| 亚洲丰满少妇videoshd| 性欧美精品高清| 欧美日韩亚洲一区在线观看| 亚洲女性喷水在线观看一区| 久久精品国产亚洲一区二区三区 | 久久久国产一区二区| 亚洲大片在线| 欧美亚洲视频| 欧美性开放视频| 亚洲乱码精品一二三四区日韩在线 | 亚洲美女黄色片| 久久精品在这里| 国产欧美日韩综合一区在线观看 | 欧美一区二区三区婷婷月色| 欧美日韩免费观看一区| 亚洲国产一区二区三区a毛片| 久久久久国产精品一区| 亚洲一区中文| 国产精品成人免费精品自在线观看| 亚洲欧洲日韩在线| 免费在线视频一区| 久久久精品性| 国产一区美女| 久久久国产精品一区二区中文| 亚洲一区二区黄| 欧美三区在线| 亚洲一区二区三区四区视频 | 久久久久国产精品麻豆ai换脸| 亚洲午夜女主播在线直播| 欧美日韩免费在线| 亚洲视频免费在线| 夜夜嗨av一区二区三区网页| 欧美金8天国| 亚洲视频观看| 亚洲在线播放| 国产在线不卡| 欧美3dxxxxhd| 欧美人成网站| 一区二区三区不卡视频在线观看| 亚洲国产一区在线| 欧美另类99xxxxx| 亚洲一区观看| 先锋a资源在线看亚洲| 狠狠色丁香久久婷婷综合丁香| 久久香蕉精品| 欧美搞黄网站| 亚洲欧美一区二区激情| 欧美在线观看一区二区| 91久久在线| 一区二区三区视频在线观看| 国产精品影片在线观看| 久久综合久久综合这里只有精品| 久久中文在线| 亚洲在线观看视频| 久久人人97超碰人人澡爱香蕉| 久久久久久久久伊人| 亚洲人体1000| 亚洲夜间福利| 在线观看欧美日韩| 亚洲免费久久| 国产在线精品一区二区中文| 亚洲电影免费观看高清| 国产精品久久7| 欧美/亚洲一区| 欧美午夜三级| 农夫在线精品视频免费观看| 欧美日韩亚洲一区二区三区在线观看| 欧美在线观看一二区| 蜜桃视频一区| 欧美在线视频a| 欧美伦理在线观看| 久久综合亚洲社区| 欧美色图五月天| 欧美成人精品一区二区| 国产精品毛片在线| 亚洲国产综合视频在线观看| 国产亚洲欧美一区| 亚洲精品麻豆| 亚洲国产精品精华液2区45| 亚洲视频福利| 日韩一区二区免费看| 久久午夜电影| 久久久精品一区二区三区| 欧美日本免费一区二区三区| 狂野欧美激情性xxxx欧美| 国产精品青草久久久久福利99| 亚洲国产欧美另类丝袜| 激情综合久久| 欧美一区二区在线免费播放| 亚洲欧美国产77777| 欧美久久久久| 亚洲国产精品一区制服丝袜| 激情欧美一区二区三区| 午夜精品福利电影| 欧美亚洲一级| 国产麻豆综合| 亚洲一区黄色| 亚洲午夜高清视频| 欧美啪啪成人vr| 亚洲人成77777在线观看网| 91久久一区二区| 蜜臀av一级做a爰片久久| 美女亚洲精品| 亚洲高清免费在线| 两个人的视频www国产精品| 老司机成人网| 影音先锋成人资源站| 久久亚洲精品欧美| 欧美高清在线视频观看不卡| 在线欧美三区| 欧美88av| 亚洲精品一区二区三区四区高清| 亚洲精品影视| 欧美日韩一区精品| 在线一区二区日韩| 欧美中在线观看| 狠狠色丁香久久婷婷综合_中| 久久久精品网| 亚洲激情自拍| 亚洲一区美女视频在线观看免费| 国产精品人人爽人人做我的可爱| 国产专区欧美专区| 欧美自拍偷拍| 国产精品你懂的在线欣赏| 午夜精品免费在线| 久久婷婷人人澡人人喊人人爽| 亚洲第一搞黄网站| 欧美国产综合| 亚洲午夜精品网| 久久青草欧美一区二区三区| 亚洲国产精品成人久久综合一区| 欧美激情视频给我| 亚洲无线观看| 快射av在线播放一区| av72成人在线| 欧美性猛交99久久久久99按摩| 亚洲欧美日韩国产综合| 蜜桃久久精品一区二区| 一本久久综合亚洲鲁鲁| 国产欧美一区二区三区在线看蜜臀 | 亚洲一区图片| 久久色在线观看| 一二三区精品福利视频| 国产日韩欧美在线播放不卡| 久久先锋影音av| 9人人澡人人爽人人精品| 久久久91精品国产一区二区精品| 亚洲日本成人女熟在线观看| 国产精品一二| 欧美精品久久久久久久久老牛影院 | 99精品欧美一区二区三区综合在线| 国产精品扒开腿爽爽爽视频| 久久久91精品国产一区二区精品| 亚洲理伦在线| 蜜臀av性久久久久蜜臀aⅴ| 亚洲欧美综合一区| 日韩视频免费| 在线日本成人| 国产一区二区三区免费观看| 欧美天堂亚洲电影院在线播放| 久久综合色播五月| 欧美一区激情视频在线观看| 一区二区国产日产| 91久久在线| 欧美国产日韩一区二区三区| 欧美一区二区精品在线| 一本色道久久| 日韩午夜免费| 亚洲美女网站|