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

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) 評論(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在线播放我和闺蜜| 日韩午夜一区| 99爱精品视频| 国产无一区二区| 免费成人在线观看视频| 欧美激情精品久久久久久蜜臀| 日韩午夜av| 亚洲综合欧美日韩| 一区二区在线观看视频| 亚洲二区视频在线| 国产精品久久久久国产精品日日| 欧美一区二区性| 久久这里有精品视频| 日韩天天综合| 欧美一区二区三区免费观看| 亚洲国产精品久久久久秋霞不卡 | 亚洲免费在线视频| 欧美一区亚洲| 99国产精品99久久久久久粉嫩| 亚洲一区二区三区欧美| 有坂深雪在线一区| 日韩视频免费看| 一区二区三区在线免费播放| 亚洲精品乱码久久久久久| 国产女主播在线一区二区| 欧美激情第六页| 国产一区二区欧美| 亚洲理伦电影| 一区二区在线观看视频| 亚洲午夜国产成人av电影男同| 激情婷婷欧美| 亚洲欧美日韩精品| 中国成人黄色视屏| 久久婷婷久久| 久久国产精品一区二区三区| 欧美人在线观看| 美国三级日本三级久久99| 国产精品成人一区二区艾草| 欧美不卡视频一区| 国产亚洲欧美aaaa| 宅男精品视频| 一区二区三区欧美激情| 美女视频一区免费观看| 久久高清国产| 国产精品一区免费视频| 99国产精品久久| 一区二区av在线| 免费成人高清在线视频| 久久一区二区精品| 国产日韩亚洲欧美综合| 午夜精品久久久久99热蜜桃导演| 亚洲一区二区三区激情| 欧美精品九九| 亚洲欧洲精品一区二区精品久久久| 激情自拍一区| 久久久久久日产精品| 久久一本综合频道| 揄拍成人国产精品视频| 久久久国产成人精品| 久色成人在线| 亚洲成色777777女色窝| 久久色在线观看| 免费中文日韩| 亚洲精品综合在线| 欧美人与性动交a欧美精品| 亚洲精品一区二区三区四区高清| 亚洲精品亚洲人成人网| 欧美激情一区二区在线| 日韩写真在线| 亚洲欧美亚洲| 国产主播一区二区三区| 久久久精品2019中文字幕神马| 久久亚洲精品伦理| 91久久精品国产91久久| 欧美精品一区二区三区视频| 亚洲乱码国产乱码精品精| 亚洲免费在线精品一区| 国产一区视频网站| 免费一级欧美在线大片| av成人免费在线| 久久精品视频va| 亚洲国产精品黑人久久久| 欧美国产91| 亚洲一区二区三区四区五区午夜| 久久黄金**| 亚洲欧洲一区二区三区| 欧美日本在线一区| 性色av一区二区三区| 欧美不卡三区| 午夜伦理片一区| 黄色亚洲网站| 欧美三区美女| 久久精品综合一区| 日韩一级精品| 牛牛影视久久网| 亚洲欧美影音先锋| 亚洲国内欧美| 国产精品一区二区久久久久| 猛干欧美女孩| 午夜精品美女自拍福到在线| 欧美激情中文字幕一区二区 | 在线观看日韩| 国产精品久久一区二区三区| 久久精品国产欧美激情| 99精品国产福利在线观看免费| 久久精品人人做人人综合| 亚洲精品在线视频| 国内偷自视频区视频综合| 欧美日韩在线视频首页| 久久久高清一区二区三区| 亚洲午夜精品17c| 亚洲黄色精品| 美女免费视频一区| 亚洲欧美日韩系列| 日韩视频不卡中文| 激情综合亚洲| 国产精品美女久久久久av超清 | 免费国产自线拍一欧美视频| 亚洲综合国产精品| 日韩亚洲欧美成人一区| 欧美高清一区二区| 久久偷窥视频| 欧美中文在线免费| 亚洲欧美国产毛片在线| 一区二区黄色| 亚洲美女黄网| 亚洲精品日韩在线观看| 亚洲激情欧美| 亚洲国产美女久久久久| 一区二区视频免费在线观看| 国产一区二区三区日韩| 国产女人水真多18毛片18精品视频 | 欧美一区视频| 亚洲欧美日韩电影| 先锋影音国产精品| 午夜精品福利一区二区蜜股av| 亚洲视频精选在线| 中文日韩在线| 亚洲自拍高清| 欧美一区二区三区播放老司机| 亚洲一区二区三区四区视频| 一区二区欧美在线观看| 亚洲午夜极品| 欧美一区=区| 久久成人综合网| 久久久午夜视频| 欧美大片在线观看一区| 亚洲国产高清一区| 一本色道久久88综合日韩精品| 日韩亚洲欧美一区| 午夜精品区一区二区三| 亚洲欧美日韩中文播放| 欧美一级二区| 蜜臀久久99精品久久久久久9| 免费成人美女女| 欧美日韩精品一区二区三区| 欧美日韩在线一区二区| 国产精品视频男人的天堂| 国产一二三精品| 亚洲国产成人精品久久久国产成人一区 | 欧美日韩在线一区二区三区| 国产精品萝li| 韩国在线视频一区| 亚洲精品在线观看视频| 亚洲欧美在线aaa| 美女福利精品视频| 日韩视频在线免费| 亚洲欧美日韩成人| 你懂的视频欧美| 国产精品v日韩精品| 黄色精品一区二区| 99ri日韩精品视频| 久久精品亚洲一区二区三区浴池| 亚洲国产成人精品久久久国产成人一区| 91久久久亚洲精品| 欧美一区二区三区日韩视频| 欧美粗暴jizz性欧美20| 国产欧美va欧美va香蕉在| 亚洲欧洲精品天堂一级| 亚洲欧美日韩区| 亚洲承认在线| 性欧美大战久久久久久久久| 欧美高清视频在线播放| 国产字幕视频一区二区| 亚洲性图久久| 欧美大片免费| 欧美一二三区精品| 欧美天堂亚洲电影院在线观看| 精品不卡视频| 欧美一区二区三区啪啪|