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

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>
            亚洲靠逼com| 最新国产精品拍自在线播放| 99在线精品视频在线观看| 麻豆精品网站| 亚洲日本欧美日韩高观看| 麻豆国产精品va在线观看不卡| 久久9热精品视频| 国模一区二区三区| 欧美1区免费| 欧美日韩久久| 久久久国产一区二区三区| 亚洲欧美在线播放| 亚洲成色精品| 日韩一区二区福利| 国产精品日韩欧美一区二区三区| 久久久噜噜噜久噜久久| 久久欧美中文字幕| 中文欧美在线视频| 欧美在线你懂的| 亚洲精品少妇| 性欧美长视频| 亚洲日本电影在线| 一区二区欧美在线| 好吊妞这里只有精品| 亚洲电影免费在线观看| 国产精品视频免费一区| 欧美成人精品不卡视频在线观看| 欧美日韩在线播放一区二区| 久久人人爽人人爽爽久久| 欧美精品久久久久久久免费观看| 久久国产精品一区二区三区四区 | 久久综合免费视频影院| 媚黑女一区二区| 亚洲欧美日韩国产综合在线| 久久久久久**毛片大全| 亚洲图片激情小说| 久久久久久久性| 欧美一区二区三区免费观看视频| 欧美成人激情在线| 欧美一级在线亚洲天堂| 欧美成人午夜激情在线| 久久久久久久久伊人| 欧美日韩国产123| 美日韩丰满少妇在线观看| 欧美日韩在线高清| 欧美国产精品中文字幕| 国产欧美在线播放| 99热在这里有精品免费| 91久久线看在观草草青青| 久久爱91午夜羞羞| 欧美亚洲综合久久| 欧美日韩一区二区在线观看视频| 亚洲国产精品女人久久久| 国产亚洲欧美一区| 亚洲一区三区视频在线观看| 一区二区三区黄色| 欧美成人69av| 亚洲电影欧美电影有声小说| 在线国产亚洲欧美| 久久精品人人做人人爽电影蜜月| 欧美在线视频一区二区| 国产精品乱子久久久久| 99精品久久| 亚洲一区二区精品视频| 欧美三级视频在线| 亚洲免费大片| 亚洲主播在线观看| 欧美三级电影精品| 一区二区三区|亚洲午夜| 一区二区三区产品免费精品久久75 | 亚洲三级国产| 日韩视频在线一区二区三区| 欧美福利专区| 91久久综合亚洲鲁鲁五月天| 一本色道久久综合| 欧美日韩视频在线观看一区二区三区 | 亚洲欧美国产高清va在线播| 欧美日韩精品一本二本三本| 一本色道久久综合狠狠躁篇怎么玩 | 欧美日韩国产一区二区三区| 日韩亚洲欧美一区| 亚洲永久免费精品| 国产精品一级二级三级| 欧美在线观看视频| 欧美r片在线| 一区二区三区成人| 国产精品hd| 午夜免费日韩视频| 蜜臀久久99精品久久久画质超高清| 在线观看视频一区二区| 欧美精品一区视频| 亚洲性感美女99在线| 久久精品国产精品| 亚洲国产精品成人综合色在线婷婷| 欧美激情一级片一区二区| av成人免费观看| 久久伊伊香蕉| 一区二区欧美在线观看| 国产日韩欧美高清| 欧美不卡视频一区发布| 夜久久久久久| 免费成人在线观看视频| 在线亚洲自拍| 黑人极品videos精品欧美裸| 久久综合成人精品亚洲另类欧美 | 亚洲欧美伊人| 嫩草国产精品入口| 一区二区欧美国产| 国产日韩一区二区三区在线播放| 麻豆久久婷婷| 欧美一区二区免费| 亚洲激情网站| 老司机一区二区三区| 亚洲色图在线视频| 亚洲电影免费观看高清完整版| 欧美日韩美女在线观看| 欧美专区第一页| 在线一区二区三区四区| 欧美成人一二三| 久久久久免费视频| 中文在线一区| 亚洲精品在线观| 一区二区亚洲精品| 国产精品视频精品视频| 欧美精品性视频| 卡通动漫国产精品| 亚洲在线播放| 一区二区三区欧美成人| 亚洲高清av| 欧美国产日韩一区二区| 久久gogo国模啪啪人体图| 亚洲视频成人| 一本大道av伊人久久综合| 亚洲成色www久久网站| 国产一区三区三区| 国产精品私拍pans大尺度在线| 欧美伦理视频网站| 欧美成人精品不卡视频在线观看 | 午夜精品一区二区三区电影天堂| 亚洲另类视频| 亚洲精品乱码久久久久久蜜桃91 | 午夜在线视频一区二区区别 | 免费看精品久久片| 久久久国产视频91| 久久成人在线| 久久精品中文字幕一区| 久久99伊人| 久久久久久久一区二区| 欧美影院一区| 久久综合九色九九| 久久婷婷色综合| 欧美成人性生活| 亚洲电影免费在线观看| 亚洲第一狼人社区| 91久久国产综合久久蜜月精品 | 欧美xart系列高清| 久久综合精品一区| 欧美黑人国产人伦爽爽爽| 欧美韩国日本综合| 亚洲国产精品va在看黑人| 亚洲国产成人av| 99精品欧美一区| 先锋影音一区二区三区| 久久精品成人欧美大片古装| 久久综合色婷婷| 欧美日韩国产精品专区| 欧美午夜一区二区福利视频| 国产精品婷婷| 极品尤物久久久av免费看| 亚洲黄色av一区| 亚洲一级一区| 久久久久久久综合| 欧美激情亚洲另类| 一本久道久久综合婷婷鲸鱼| 亚洲欧美日韩国产成人| 欧美呦呦网站| 欧美日韩国产系列| 国产精品永久免费观看| 亚洲成色777777女色窝| 中文久久乱码一区二区| 欧美资源在线观看| 亚洲激情黄色| 欧美一区二区成人6969| 美女图片一区二区| 国产精品你懂的在线欣赏| 激情视频一区| 亚洲一区二区四区| 免费久久99精品国产自在现线| 日韩亚洲精品在线| 久久精品一二三| 国产精品chinese| 亚洲日本理论电影| 久久久91精品国产一区二区精品| 亚洲电影免费| 欧美中文字幕在线播放| 欧美美女bb生活片| 永久域名在线精品| 欧美一区二区视频97| 日韩视频三区| 美女久久网站|