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

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)  編輯 收藏 引用

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   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>
            亚洲午夜精品一区二区三区他趣 | 亚洲影视综合| 久久久www成人免费精品| 一区二区三区四区五区精品| 久久精品国产久精国产爱| 亚洲少妇自拍| 牛牛国产精品| 老司机一区二区三区| 国产精品红桃| 日韩一级片网址| 一区二区精品在线观看| 亚洲免费大片| 欧美高清在线视频| 欧美激情亚洲国产| 影音先锋久久资源网| 性欧美1819性猛交| 欧美有码视频| 国产噜噜噜噜噜久久久久久久久| av成人免费观看| 一本久久综合亚洲鲁鲁五月天| 老司机免费视频久久| 卡通动漫国产精品| 1024亚洲| 美女91精品| 91久久在线| 亚洲靠逼com| 欧美激情精品久久久| 亚洲欧洲日韩女同| 99成人精品| 欧美日韩国产综合久久| 亚洲美女尤物影院| 亚洲一区二区久久| 国产精品vvv| 亚洲在线中文字幕| 久久久久99| 在线精品视频在线观看高清| 裸体丰满少妇做受久久99精品| 欧美成人视屏| 亚洲乱码久久| 欧美午夜宅男影院在线观看| 亚洲一区二区三区午夜| 久久嫩草精品久久久精品一| 亚洲国产成人久久综合| 欧美精品播放| 亚洲香蕉网站| 久久伊人精品天天| 亚洲欧洲日本专区| 欧美午夜精品久久久久久浪潮| 亚洲欧美综合另类中字| 每日更新成人在线视频| 日韩午夜在线视频| 国产精品美女www爽爽爽| 欧美一区二区三区四区在线观看地址| 久久一区二区三区超碰国产精品| 亚洲精品中文字| 国产精品日韩欧美综合 | 亚洲永久免费观看| 久久蜜桃资源一区二区老牛| 亚洲精品激情| 国产三级欧美三级| 欧美 日韩 国产 一区| 一区二区高清视频| 另类激情亚洲| 亚洲一区免费观看| 亚洲成人在线| 欧美午夜一区| 免费中文字幕日韩欧美| 亚洲男人av电影| 亚洲国产成人一区| 欧美专区在线| 亚洲视频国产视频| 亚洲电影毛片| 国产亚洲欧美一级| 欧美日韩中文字幕在线视频| 久久久久国产精品一区二区| 一区二区毛片| 亚洲国产小视频在线观看| 欧美一级视频| 一区二区欧美日韩| 亚洲第一页在线| 国产一区二区电影在线观看 | 国产精品一区二区三区成人| 欧美 日韩 国产精品免费观看| 亚洲欧美在线免费观看| 亚洲精品免费电影| 美女网站在线免费欧美精品| 欧美一区高清| 午夜精品视频在线观看一区二区 | 亚洲激情av| 国内精品久久久久影院优| 欧美视频在线观看视频极品| 麻豆成人av| 久久天堂精品| 久久九九精品| 久久精品成人一区二区三区| 午夜激情亚洲| 午夜日韩视频| 亚洲中无吗在线| 亚洲一区二区三区精品动漫| 亚洲美女视频在线免费观看| 亚洲精选中文字幕| 亚洲精品欧美日韩| 亚洲麻豆av| 日韩小视频在线观看| 亚洲美女淫视频| 99精品免费视频| 99精品国产一区二区青青牛奶| 亚洲精品久久久久久下一站| 亚洲欧洲日本在线| 亚洲日本aⅴ片在线观看香蕉| 欧美激情免费观看| 亚洲国产精品va在线观看黑人| 欧美国产一区在线| 亚洲丰满在线| 亚洲精品一区二区三区蜜桃久| 亚洲青色在线| 一区二区高清视频在线观看| 中文精品视频一区二区在线观看| 一区二区三区日韩在线观看| 亚洲午夜精品一区二区| 亚洲免费中文| 久久九九热免费视频| 免费成人黄色片| 欧美日韩18| 国产精品日韩在线一区| 国产私拍一区| 亚洲国产天堂网精品网站| aa级大片欧美| 午夜日韩在线观看| 美日韩精品视频免费看| 亚洲人成人一区二区三区| 这里是久久伊人| 久久精品欧美日韩精品| 免费av成人在线| 国产精品国产福利国产秒拍| 国产亚洲福利| 91久久久久久久久| 午夜精品久久久久久久久久久久久 | 久久国产精品第一页| 麻豆av一区二区三区| 亚洲精品视频在线看| 亚洲欧美日韩综合aⅴ视频| 久久人人爽爽爽人久久久| 欧美激情精品久久久久| 国产麻豆视频精品| 亚洲高清三级视频| 亚洲欧美精品suv| 欧美99久久| 亚洲一区免费看| 蜜臀av一级做a爰片久久| 国产精品私拍pans大尺度在线 | 国内精品免费在线观看| 在线亚洲精品| 久久夜色精品亚洲噜噜国产mv| 日韩视频国产视频| 久久久久国产一区二区三区四区| 欧美色网一区二区| 亚洲国产欧美在线| 久久青草久久| 亚洲欧美一区二区原创| 欧美理论在线播放| 在线日韩av永久免费观看| 欧美一级理论片| 亚洲精品久久在线| 卡通动漫国产精品| 国产日韩精品视频一区| 亚洲一区二区视频| 91久久精品国产91久久性色tv| 欧美亚洲一区| 国产精品看片资源| 一区二区日韩精品| 亚洲福利视频网| 久久色在线观看| 国内精品久久久久影院色| 羞羞答答国产精品www一本| 最新亚洲视频| 欧美大片免费观看| 最近中文字幕日韩精品 | 欧美专区在线播放| 亚洲一二三四区| 欧美日韩免费高清一区色橹橹| 亚洲黄色性网站| 欧美成人黄色小视频| 久久亚洲免费| 亚洲国产精品久久久久| 美女黄网久久| 老司机精品视频一区二区三区| 有码中文亚洲精品| 久久免费99精品久久久久久| 午夜在线播放视频欧美| 国产偷国产偷亚洲高清97cao| 欧美制服丝袜| 午夜欧美精品久久久久久久| 国产视频一区二区三区在线观看| 性欧美xxxx视频在线观看| 亚洲综合日本| 国产亚洲精品aa午夜观看| 久久久久国色av免费观看性色| 欧美在线视频一区二区三区| 好看的av在线不卡观看|