fw.cpp
来源:互联网 发布:星际争霸2 免费知乎 编辑:程序博客网 时间:2024/04/27 09:18
#include "ace/os_include/os_time.h"
#include "platform/codec/codec_base.h"
#include "platform/protocol/http/http_forwarder.h"
#include "platform/protocol/http/http_common.h"
//#include "platform/key_value_pair.h"
#include "platform/dqueue.h"
#include "ib_http_client_fw.h"
#include "commonfuns.h"
#include <list>
#define MAX_CLIENT_NUM 1
ACE_INT32 CIBClientHttpForwarder::OnInit(void)
{
ACE_INT32 nRet = CClientHttpForwarder::OnInit();
if (nRet)
{
return IB_FAIL;
}
this->SetKeepAliveNum(KEEP_ALIVE_NUM);
//每个forward都需要订购自己的去注册消息,以便由外部进行动态刷新
//nRet = CDispatcherDemon::instance()->SubscribeMsg(this, PLATFORM::UNREGIST_TASK_MSG);
return IB_SUCC;
}
void CIBClientHttpForwarder::saveHttpBuf(const char* szbuf, ACE_INT32 nLen)
{
if (IBLog::isLogMsgCode())
{
if( !szbuf || nLen <= 0)
{
this->m_sHttpCodeBuf.clear();
return;
}
m_sHttpCodeBuf.append(szbuf, (size_t)nLen);
}
else
{
if (m_sHttpCodeBuf.size() > 0)
{
this->m_sHttpCodeBuf.clear();
}
}
}
void CIBClientHttpForwarder::OnFinishSend(CClientHttpHandler* pClientHttpHandler)
{
ACE_UINT32 uiSessionID = pClientHttpHandler->GetSessionAddressKey().GetSessionID();
CMyClientHttpReq* pClientHttpReq = (CMyClientHttpReq*)(pClientHttpHandler->GetHttpReq());
if(pClientHttpReq)
{
CIBSoapHeader& reqSoapHead = pClientHttpReq->m_SoapHead;
my_thread_string& strtraceUniqueID = *(reqSoapHead.traceUniqueID);
my_thread_string& strKeyWord = *(reqSoapHead.reserv1);
my_string& sOperationName = pClientHttpReq->sOperationName;
my_string& sSerIP = pClientHttpReq->sServerIP;
ACE_UINT32 iSerPort = pClientHttpReq->iServerPort;
char* pszDevDesc = getDevDesc(*(reqSoapHead.destDeviceType));
//转发给对应部件成功,记录接口日志
IB_LOG_INTF(IBLOG_LVL_INFO, m_sHttpCodeBuf.c_str(), m_sHttpCodeBuf.size(), LOG_MSG_TYPE_ASCII,
DFT_INTF_OUTREQ, strtraceUniqueID.c_str(),
IB_PROTOCOL_HTTPXML, sOperationName.c_str(),
*((reqSoapHead).sourceDeviceType), CResManagerDemon::instance()->GetSALocalIP().c_str(),
*((reqSoapHead).destDeviceType), "", strKeyWord.c_str(),
"", pClientHttpReq->m_sSPID.c_str(),
pClientHttpReq->m_sServiceContentID.c_str(), pClientHttpReq->m_sUserID.c_str(),
"SA send %s http request message[sessionID:%u] to %s[%s:%d] successfully.",
sOperationName.c_str(), uiSessionID, pszDevDesc, sSerIP.c_str(), iSerPort);
}
//必须调用父类的同名接口,以便完成内存释放等工作
CClientHttpForwarder::OnFinishSend(pClientHttpHandler);
}
void CIBClientHttpForwarder::OnTimerOut(CClientHttpHandler* pClientHttpHandler)
{
//to do
ACE_UINT32 uiSessionID = pClientHttpHandler->GetSessionAddressKey().GetSessionID();
CMyClientHttpReq* pClientHttpReq = (CMyClientHttpReq*)(pClientHttpHandler->GetHttpReq());
if(pClientHttpReq)
{
CIBSoapHeader& reqSoapHead = pClientHttpReq->m_SoapHead;
my_thread_string& strtraceUniqueID = *(reqSoapHead.traceUniqueID);
my_thread_string& strKeyWord = *(reqSoapHead.reserv1);
my_string& sOperationName = pClientHttpReq->sOperationName;
my_string& sSerIP = pClientHttpReq->sServerIP;
ACE_UINT32 iSerPort = pClientHttpReq->iServerPort;
//计算当前时间毫秒数及消息耗时
struct timespec timeout;
ACE_OS::clock_gettime(CLOCK_REALTIME, &timeout);
ACE_UINT64 ulStopTime = IB_TO_MSECOND(timeout.tv_sec, timeout.tv_nsec);
ACE_INT32 ulIntTime = (ACE_INT32)(ulStopTime - pClientHttpReq->ulBeginTime);
char* pszDevDesc = getDevDesc(*(reqSoapHead.destDeviceType));
//转发给对应部件超时,记录接口日志
IB_LOG_INTF(IBLOG_LVL_ERROR, m_sHttpCodeBuf.c_str(), m_sHttpCodeBuf.size(), LOG_MSG_TYPE_ASCII,
DFT_INTF_OUTREQ, strtraceUniqueID.c_str(),
IB_PROTOCOL_HTTPXML, sOperationName.c_str(),
*((reqSoapHead).sourceDeviceType), CResManagerDemon::instance()->GetSALocalIP().c_str(),
*((reqSoapHead).destDeviceType), "", strKeyWord.c_str(),
"", pClientHttpReq->m_sSPID.c_str(), pClientHttpReq->m_sServiceContentID.c_str(), pClientHttpReq->m_sUserID.c_str(),
"SA receive %s http response message[sessionID:%u] from %s[%s:%d] timeout or error occurred, cost time:%d ms.",
sOperationName.c_str(), uiSessionID, pszDevDesc, sSerIP.c_str(), iSerPort, ulIntTime);
}
//必须调用父类的处理函数
CClientHttpForwarder::OnTimerOut(pClientHttpHandler);
}
void CIBClientHttpForwarder::OnConnectFailedProc(CHttpAsynchConnector* pHttpAsynchConnector)
{
//to do
//ACE_UINT32 uiSessionID = pHttpAsynchConnector->GetSessionAddressKey().GetSessionID();
CMyClientHttpReq* pClientHttpReq = (CMyClientHttpReq*)(pHttpAsynchConnector->GetHttpReq());
if(pClientHttpReq)
{
CIBSoapHeader& reqSoapHead = pClientHttpReq->m_SoapHead;
char* pszDevDesc = getDevDesc(*(reqSoapHead.destDeviceType));
my_string& sSerIP = pClientHttpReq->sServerIP;
ACE_UINT32 iSerPort = pClientHttpReq->iServerPort;
IB_LOG_RUN(IBLOG_LVL_WARNING, DFT_MSG_OTHER, RUN_LOGID_SYSTEM_EVENT, "Failed to connect to %s[%s:%u].", pszDevDesc, sSerIP.c_str(), iSerPort);
}
//必须调用父类的处理函数
CClientHttpForwarder::OnConnectFailedProc(pHttpAsynchConnector);
}
ACE_INT32 CIBClientHttpForwarder::OnHttpResponseProc(CClientHttpReq* rHttpReq, CClientHttpRsp& rHttpRsp, const CSessionAddressKey& rSessionAddressKey)
{
//ACE_UINT32 uiSessionID = rSessionAddressKey.GetSessionID();
ACE_UINT32 uiReqMsgID = 0;
// 根据传过来的seesion id计算出 msgid,然后得出是那个对应的response..
if(!rHttpReq)
{
return IB_FAIL;
}
uiReqMsgID = ((CMyClientHttpReq*)rHttpReq)->iMsgId;
uiReqMsgID += 0x10000000; //......msgid
//cms
if(Sync_httpmsg::CSyncDataNotifyResponse::MSG_ID == uiReqMsgID)
{
Sync_httpmsg::CSyncDataNotifyResponse msgResponse;
HttpProcessFunc(msgResponse, rHttpReq, rHttpRsp, rSessionAddressKey);
}
else if(Sync_httpmsg::CDataSourceSyncReceiptResponse::MSG_ID == uiReqMsgID)
{
Sync_httpmsg::CDataSourceSyncReceiptResponse msgResponse;
HttpProcessFunc(msgResponse, rHttpReq, rHttpRsp, rSessionAddressKey);
}
//dna
else if(DNA_HTTPMSG::CgetstcreclistforuserResponse::MSG_ID == uiReqMsgID)
{
DNA_HTTPMSG::CgetstcreclistforuserResponse msgResponse;
HttpProcessFunc(msgResponse, rHttpReq, rHttpRsp, rSessionAddressKey);
}
else if(DNA_HTTPMSG::CgetreclistbasedoninstResponse::MSG_ID == uiReqMsgID)
{
DNA_HTTPMSG::CgetreclistbasedoninstResponse msgResponse;
HttpProcessFunc(msgResponse, rHttpReq, rHttpRsp, rSessionAddressKey);
}
else if(DNA_HTTPMSG::CgetreclistofitembasedcorResponse::MSG_ID == uiReqMsgID)
{
DNA_HTTPMSG::CgetreclistofitembasedcorResponse msgResponse;
HttpProcessFunc(msgResponse, rHttpReq, rHttpRsp, rSessionAddressKey);
}
else if(DNA_HTTPMSG::CgetsimilaritemResponse::MSG_ID == uiReqMsgID)
{
DNA_HTTPMSG::CgetsimilaritemResponse msgResponse;
HttpProcessFunc(msgResponse, rHttpReq, rHttpRsp, rSessionAddressKey);
}
else if(DNA_HTTPMSG::CgetsimilarattrResponse::MSG_ID == uiReqMsgID)
{
DNA_HTTPMSG::CgetsimilarattrResponse msgResponse;
HttpProcessFunc(msgResponse, rHttpReq, rHttpRsp, rSessionAddressKey);
}
//drmc
else if(DRMC_HTTPMSG::CRightReqResponse::MSG_ID == uiReqMsgID)
{
DRMC_HTTPMSG::CRightReqResponse msgResponse;
HttpProcessFunc(msgResponse, rHttpReq, rHttpRsp, rSessionAddressKey);
}
//smsc
else if(SMSC_HTTPMSG::CSetSmsServiceFlagResponse::MSG_ID == uiReqMsgID)
{
SMSC_HTTPMSG::CSetSmsServiceFlagResponse msgResponse;
HttpProcessFunc(msgResponse, rHttpReq, rHttpRsp, rSessionAddressKey);
}
//streaming
else if(STREAMING_HTTPMSG::CgetserverURLResponse::MSG_ID == uiReqMsgID)
{
STREAMING_HTTPMSG::CgetserverURLResponse msgResponse;
HttpProcessFunc(msgResponse, rHttpReq, rHttpRsp, rSessionAddressKey);
}
//smart
else if(MDSP_HTTPMSG::CGetTokenResponse::MSG_ID == uiReqMsgID)
{
MDSP_HTTPMSG::CGetTokenResponse msgResponse;
HttpProcessFunc(msgResponse, rHttpReq, rHttpRsp, rSessionAddressKey);
}
//boss
else if(Sync_httpmsg::CDataSyncTransferResponse::MSG_ID == uiReqMsgID)
{
Sync_httpmsg::CDataSyncTransferResponse msgResponse;
HttpProcessFunc(msgResponse, rHttpReq, rHttpRsp, rSessionAddressKey);
}
else if(Sync_httpmsg::CBossDataSyncResponse::MSG_ID == uiReqMsgID)
{
Sync_httpmsg::CBossDataSyncResponse msgResponse;
HttpProcessFunc(msgResponse, rHttpReq, rHttpRsp, rSessionAddressKey);
}
return IB_SUCC;
}
ACE_INT32 CIBClientHttpForwarder::OnHttpResponseNotWholeBodyImpl(CClientHttpHandler* pClientHttpHandler)
{
return this->OnHttpResponseProc(pClientHttpHandler->GetHttpReq(), pClientHttpHandler->GetClientHttpRspRef(), pClientHttpHandler->GetSessionAddressKey());
}
ACE_INT32 CIBClientHttpForwarder::OnHttpResponseNoBodyImpl(CClientHttpHandler* pClientHttpHandler)
{
return this->OnHttpResponseProc(pClientHttpHandler->GetHttpReq(), pClientHttpHandler->GetClientHttpRspRef(), pClientHttpHandler->GetSessionAddressKey());
}
ACE_INT32 CIBClientHttpForwarder::OnHttpResponseImpl(CClientHttpHandler* pClientHttpHandler)
{
return this->OnHttpResponseProc(pClientHttpHandler->GetHttpReq(), pClientHttpHandler->GetClientHttpRspRef(), pClientHttpHandler->GetSessionAddressKey() );
}
void CIBClientHttpForwarder::handleRequest(Sync_httpmsg::CSyncDataNotifyRequest& msgRequest, CHttpReq* pHttpReq)
{
my_thread_string strtmp;
PLATFORM::CKeyValueList& kvList = pHttpReq->GetKeyValueListRef();
PLATFORM::CKeyValuePair* pr;
//setting soap header
pr = kvList.MakePair( ((*(msgRequest.property_SoapHeader)).version).GetLocalNameRef(), *((msgRequest.get_property_SoapHeader_ref()).version) );
kvList.PushBack(pr);
pr = kvList.MakePair( ((*(msgRequest.property_SoapHeader)).traceUniqueID).GetLocalNameRef(), *((msgRequest.get_property_SoapHeader_ref()).traceUniqueID) );
kvList.PushBack(pr);
strtmp = *(msgRequest.get_property_SoapHeader_ref()).sourceDeviceType;
pr = kvList.MakePair( ((*(msgRequest.property_SoapHeader)).sourceDeviceType).GetLocalNameRef(), strtmp);
kvList.PushBack(pr);
pr = kvList.MakePair( ((*(msgRequest.property_SoapHeader)).sourceDeviceCode).GetLocalNameRef(), *((msgRequest.get_property_SoapHeader_ref()).sourceDeviceCode) );
kvList.PushBack(pr);
strtmp = *(msgRequest.get_property_SoapHeader_ref()).destDeviceType;
pr = kvList.MakePair( ((*(msgRequest.property_SoapHeader)).destDeviceType).GetLocalNameRef(), strtmp);
kvList.PushBack(pr);
pr = kvList.MakePair( ((*(msgRequest.property_SoapHeader)).destDeviceCode).GetLocalNameRef(), *((msgRequest.get_property_SoapHeader_ref()).destDeviceCode) );
kvList.PushBack(pr);
pr = kvList.MakePair( ((*(msgRequest.property_SoapHeader)).authenticatorSource).GetLocalNameRef(), *((msgRequest.get_property_SoapHeader_ref()).authenticatorSource) );
kvList.PushBack(pr);
pr = kvList.MakePair( ((*(msgRequest.property_SoapHeader)).timeStamp).GetLocalNameRef(), *((msgRequest.get_property_SoapHeader_ref()).timeStamp) );
kvList.PushBack(pr);
//设置业务参数
pr = kvList.MakePair( ((*(msgRequest.property_syncDataNotifyReq)).property_sessionID).GetLocalNameRef(), *((msgRequest.get_property_syncDataNotifyReq_ref()).get_property_sessionID_ref()));
kvList.PushBack(pr);
pr = kvList.MakePair( ((*(msgRequest.property_syncDataNotifyReq)).property_dataSourceDevType).GetLocalNameRef(), *((msgRequest.get_property_syncDataNotifyReq_ref()).get_property_dataSourceDevType_ref()) );
kvList.PushBack(pr);
pr = kvList.MakePair( ((*(msgRequest.property_syncDataNotifyReq)).property_dataSourceDevCode).GetLocalNameRef(), *((msgRequest.get_property_syncDataNotifyReq_ref()).get_property_dataSourceDevCode_ref()));
kvList.PushBack(pr);
strtmp = (msgRequest.get_property_syncDataNotifyReq_ref()).get_property_dataType_ref();
pr = kvList.MakePair( ((*(msgRequest.property_syncDataNotifyReq)).property_dataType).GetLocalNameRef(), strtmp);
kvList.PushBack(pr);
pr = kvList.MakePair( ((*(msgRequest.property_syncDataNotifyReq)).property_actionType).GetLocalNameRef(), *((msgRequest.get_property_syncDataNotifyReq_ref()).get_property_actionType_ref()));
kvList.PushBack(pr);
pr = kvList.MakePair( ((*(msgRequest.property_syncDataNotifyReq)).property_needReceipt).GetLocalNameRef(), *((msgRequest.get_property_syncDataNotifyReq_ref()).get_property_needReceipt_ref()));
kvList.PushBack(pr);
strtmp = (msgRequest.get_property_syncDataNotifyReq_ref()).get_property_dataLocation_ref() ;
pr = kvList.MakePair( ((*(msgRequest.property_syncDataNotifyReq)).property_dataLocation).GetLocalNameRef(), strtmp);
kvList.PushBack(pr);
pr = kvList.MakePair( ((*(msgRequest.property_syncDataNotifyReq)).property_dataFileUrl).GetLocalNameRef(), *((msgRequest.get_property_syncDataNotifyReq_ref()).get_property_dataFileUrl_ref()) );
kvList.PushBack(pr);
//setting attchment body
ACE_UINT32 i_length = (*((msgRequest.get_property_syncDataNotifyReq_ref()).get_property_dataDes_ref())).GetSize() ;
if(i_length > 0)
{
pHttpReq->GetBodyRef().SetSize( i_length );
//附件的内存由平台释放
pHttpReq->GetBodyRef().SetBuffer( (*((msgRequest.get_property_syncDataNotifyReq_ref()).get_property_dataDes_ref())).GetBuffer() );
}
}
void CIBClientHttpForwarder::handleRequest(Sync_httpmsg::CDataSourceSyncReceiptRequest& msgRequest, CHttpReq* pHttpReq)
{
my_thread_string strtmp;
PLATFORM::CKeyValueList& kvList = pHttpReq->GetKeyValueListRef();
PLATFORM::CKeyValuePair* pr;
//setting soap header
pr = kvList.MakePair( (((*(msgRequest.property_SoapHeader)).version).GetLocalNameRef()), (*((msgRequest.get_property_SoapHeader_ref()).version)) );
kvList.PushBack(pr);
pr = kvList.MakePair( (((*(msgRequest.property_SoapHeader)).traceUniqueID).GetLocalNameRef()), (*((msgRequest.get_property_SoapHeader_ref()).traceUniqueID)) );
kvList.PushBack(pr);
strtmp = *(msgRequest.get_property_SoapHeader_ref()).sourceDeviceType;
pr = kvList.MakePair( (((*(msgRequest.property_SoapHeader)).sourceDeviceType).GetLocalNameRef()), strtmp);
kvList.PushBack(pr);
pr = kvList.MakePair( (((*(msgRequest.property_SoapHeader)).sourceDeviceCode).GetLocalNameRef()), (*((msgRequest.get_property_SoapHeader_ref()).sourceDeviceCode)) );
kvList.PushBack(pr);
strtmp = *(msgRequest.get_property_SoapHeader_ref()).destDeviceType;
pr = kvList.MakePair( (((*(msgRequest.property_SoapHeader)).destDeviceType).GetLocalNameRef()), strtmp);
kvList.PushBack(pr);
pr = kvList.MakePair( (((*(msgRequest.property_SoapHeader)).destDeviceCode).GetLocalNameRef()), (*((msgRequest.get_property_SoapHeader_ref()).destDeviceCode)));
kvList.PushBack(pr);
pr = kvList.MakePair( (((*(msgRequest.property_SoapHeader)).authenticatorSource).GetLocalNameRef()), (*((msgRequest.get_property_SoapHeader_ref()).authenticatorSource)) );
kvList.PushBack(pr);
pr = kvList.MakePair( (((*(msgRequest.property_SoapHeader)).timeStamp).GetLocalNameRef()), (*((msgRequest.get_property_SoapHeader_ref()).timeStamp)) );
kvList.PushBack(pr);
//设置业务参数
pr = kvList.MakePair( ((msgRequest.property_dataFileUrl).GetLocalNameRef()), (*(msgRequest.get_property_dataFileUrl_ref())) );
kvList.PushBack(pr);
strtmp = msgRequest.get_property_dataLocation_ref();
pr = kvList.MakePair( ((msgRequest.property_dataLocation).GetLocalNameRef()), strtmp);
kvList.PushBack(pr);
pr = kvList.MakePair( ((msgRequest.property_syncDevCode).GetLocalNameRef()), (*(msgRequest.get_property_syncDevCode_ref())) );
kvList.PushBack(pr);
pr = kvList.MakePair( ((msgRequest.property_syncDevType).GetLocalNameRef()), (*(msgRequest.get_property_syncDevType_ref())) );
kvList.PushBack(pr);
strtmp = msgRequest.get_property_dataType_ref();
pr = kvList.MakePair( ((msgRequest.property_dataType).GetLocalNameRef()), strtmp);
kvList.PushBack(pr);
pr = kvList.MakePair( ((msgRequest.property_sessionID).GetLocalNameRef()), (*(msgRequest.get_property_sessionID_ref())) );
kvList.PushBack(pr);
pr = kvList.MakePair( ((msgRequest.property_status).GetLocalNameRef()), (*(msgRequest.get_property_status_ref())) );
kvList.PushBack(pr);
//setting attchment body
ACE_UINT32 i_length = (*(msgRequest.get_property_dataDes_ref())).GetSize() ;
if(i_length > 0)
{
pHttpReq->GetBodyRef().SetSize(i_length );
pHttpReq->GetBodyRef().SetBuffer( (*(msgRequest.get_property_dataDes_ref())).GetBuffer() );
}
}
void CIBClientHttpForwarder::handleRequest(Sync_httpmsg::CBossDataSyncRequest& msgRequest, CHttpReq* pHttpReq)
{
my_thread_string strtmp;
PLATFORM::CKeyValueList& kvList = pHttpReq->GetKeyValueListRef();
PLATFORM::CKeyValuePair* pr;
//set special content-type for boss
pr = kvList.MakePair("content-type", "application/x-www-form-urlencoded");
kvList.PushBack(pr);
//设置业务参数
//setting attchment body
ACE_UINT32 i_length = (*(msgRequest.get_property_bossDataSyncReq_ref().get_property_dataDesIn_ref())).GetSize() ;
if(i_length > 0)
{
pHttpReq->GetBodyRef().SetSize(i_length );
pHttpReq->GetBodyRef().SetBuffer( (*(msgRequest.get_property_bossDataSyncReq_ref().get_property_dataDesIn_ref())).GetBuffer() );
}
}
void CIBClientHttpForwarder::handleRequest(Sync_httpmsg::CDataSyncTransferRequest& msgRequest, CHttpReq* pHttpReq)
{
my_thread_string strtmp;
PLATFORM::CKeyValueList& kvList = pHttpReq->GetKeyValueListRef();
PLATFORM::CKeyValuePair* pr;
//设置业务参数
if(msgRequest.get_property_dataSyncTransferReq_ref().get_property_BIPCode_ref().Exist())
{
pr = kvList.MakePair(msgRequest.get_property_dataSyncTransferReq_ref().property_BIPCode.GetLocalNameRef(), *(msgRequest.get_property_dataSyncTransferReq_ref().get_property_BIPCode_ref()));
kvList.PushBack(pr);
}
if(msgRequest.get_property_dataSyncTransferReq_ref().get_property_activityCode_ref().Exist())
{
pr = kvList.MakePair(msgRequest.get_property_dataSyncTransferReq_ref().property_activityCode.GetLocalNameRef(), *(msgRequest.get_property_dataSyncTransferReq_ref().get_property_activityCode_ref()));
kvList.PushBack(pr);
}
if(msgRequest.get_property_dataSyncTransferReq_ref().get_property_routeType_ref().Exist())
{
pr = kvList.MakePair(msgRequest.get_property_dataSyncTransferReq_ref().property_routeType.GetLocalNameRef(), *(msgRequest.get_property_dataSyncTransferReq_ref().get_property_routeType_ref()));
kvList.PushBack(pr);
}
if(msgRequest.get_property_dataSyncTransferReq_ref().get_property_routeValue_ref().Exist())
{
pr = kvList.MakePair(msgRequest.get_property_dataSyncTransferReq_ref().property_routeValue.GetLocalNameRef(), *(msgRequest.get_property_dataSyncTransferReq_ref().get_property_routeValue_ref()));
kvList.PushBack(pr);
}
if(msgRequest.get_property_dataSyncTransferReq_ref().get_property_procID_ref().Exist())
{
pr = kvList.MakePair(msgRequest.get_property_dataSyncTransferReq_ref().property_procID.GetLocalNameRef(), *(msgRequest.get_property_dataSyncTransferReq_ref().get_property_procID_ref()));
kvList.PushBack(pr);
}
if(msgRequest.get_property_dataSyncTransferReq_ref().get_property_transIDO_ref().Exist())
{
pr = kvList.MakePair(msgRequest.get_property_dataSyncTransferReq_ref().property_transIDO.GetLocalNameRef(), *(msgRequest.get_property_dataSyncTransferReq_ref().get_property_transIDO_ref()));
kvList.PushBack(pr);
}
if(msgRequest.get_property_dataSyncTransferReq_ref().get_property_transIDH_ref().Exist())
{
pr = kvList.MakePair(msgRequest.get_property_dataSyncTransferReq_ref().property_transIDH.GetLocalNameRef(), *(msgRequest.get_property_dataSyncTransferReq_ref().get_property_transIDH_ref()));
kvList.PushBack(pr);
}
if(msgRequest.get_property_dataSyncTransferReq_ref().get_property_processTime_ref().Exist())
{
pr = kvList.MakePair(msgRequest.get_property_dataSyncTransferReq_ref().property_processTime.GetLocalNameRef(), *(msgRequest.get_property_dataSyncTransferReq_ref().get_property_processTime_ref()));
kvList.PushBack(pr);
}
if(msgRequest.get_property_dataSyncTransferReq_ref().get_property_origDomain_ref().Exist())
{
pr = kvList.MakePair(msgRequest.get_property_dataSyncTransferReq_ref().property_origDomain.GetLocalNameRef(), *(msgRequest.get_property_dataSyncTransferReq_ref().get_property_origDomain_ref()));
kvList.PushBack(pr);
}
if(msgRequest.get_property_dataSyncTransferReq_ref().get_property_homeDomain_ref().Exist())
{
pr = kvList.MakePair(msgRequest.get_property_dataSyncTransferReq_ref().property_homeDomain.GetLocalNameRef(), *(msgRequest.get_property_dataSyncTransferReq_ref().get_property_homeDomain_ref()));
kvList.PushBack(pr);
}
if(msgRequest.get_property_dataSyncTransferReq_ref().get_property_testFlag_ref().Exist())
{
pr = kvList.MakePair(msgRequest.get_property_dataSyncTransferReq_ref().property_testFlag.GetLocalNameRef(), *(msgRequest.get_property_dataSyncTransferReq_ref().get_property_testFlag_ref()));
kvList.PushBack(pr);
}
if(msgRequest.get_property_dataSyncTransferReq_ref().get_property_msgSender_ref().Exist())
{
pr = kvList.MakePair(msgRequest.get_property_dataSyncTransferReq_ref().property_msgSender.GetLocalNameRef(), *(msgRequest.get_property_dataSyncTransferReq_ref().get_property_msgSender_ref()));
kvList.PushBack(pr);
}
if(msgRequest.get_property_dataSyncTransferReq_ref().get_property_msgReceiver_ref().Exist())
{
pr = kvList.MakePair(msgRequest.get_property_dataSyncTransferReq_ref().property_msgReceiver.GetLocalNameRef(), *(msgRequest.get_property_dataSyncTransferReq_ref().get_property_msgReceiver_ref()));
kvList.PushBack(pr);
}
if(msgRequest.get_property_dataSyncTransferReq_ref().get_property_svcContVer_ref().Exist())
{
pr = kvList.MakePair(msgRequest.get_property_dataSyncTransferReq_ref().property_svcContVer.GetLocalNameRef(), *(msgRequest.get_property_dataSyncTransferReq_ref().get_property_svcContVer_ref()));
kvList.PushBack(pr);
}
if(msgRequest.get_property_dataSyncTransferReq_ref().get_property_bIPVer_ref().Exist())
{
pr = kvList.MakePair(msgRequest.get_property_dataSyncTransferReq_ref().property_bIPVer.GetLocalNameRef(), *(msgRequest.get_property_dataSyncTransferReq_ref().get_property_bIPVer_ref()));
kvList.PushBack(pr);
}
//setting attchment body
ACE_UINT32 i_length = (*(msgRequest.get_property_dataSyncTransferReq_ref().get_property_dataDesToSIS_ref())).GetSize() ;
if(i_length > 0)
{
pHttpReq->GetBodyRef().SetSize(i_length );
pHttpReq->GetBodyRef().SetBuffer( (*(msgRequest.get_property_dataSyncTransferReq_ref().get_property_dataDesToSIS_ref())).GetBuffer() );
}
}
void CIBClientHttpForwarder::handleRequest(DNA_HTTPMSG::CgetstcreclistforuserRequest& msgRequest, CHttpReq* pHttpReq)
{
pHttpReq->GetHttpReqMethodRef().SetMethodName(IB_HTTP_GET);
my_thread_string& parameter = pHttpReq->GetHttpReqMethodRef().GetURLRef();
parameter = msgRequest.get_property_urlInfo_ref().get_property_url_ref();
parameter += IB_HTTP_ASK_CHAR;
//opaccount
parameter += msgRequest.property_opaccount.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += msgRequest.get_property_opaccount_ref();
parameter += IB_HTTP_AND_CHAR;
//oppwd
parameter += msgRequest.property_oppwd.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += msgRequest.get_property_oppwd_ref();
parameter += IB_HTTP_AND_CHAR;
//userid
parameter += msgRequest.property_userid.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += msgRequest.get_property_userid_ref();
parameter += IB_HTTP_AND_CHAR;
//howmany
parameter += msgRequest.property_howmany.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += msgRequest.get_property_howmany_ref();
//traceuniqueid
if( true == msgRequest.get_property_traceuniqueid_ref().Exist() )
{
parameter += IB_HTTP_AND_CHAR;
parameter += msgRequest.property_traceuniqueid.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += (*(msgRequest.get_property_traceuniqueid_ref()));
}
//contenttype
if( true == msgRequest.get_property_contenttype_ref().Exist() )
{
parameter += IB_HTTP_AND_CHAR;
parameter += msgRequest.property_contenttype.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += (*(msgRequest.get_property_contenttype_ref()));
}
//pHttpReq->GetHttpReqMethodRef().SetURL(parameter.c_str());
}
void CIBClientHttpForwarder::handleRequest(DNA_HTTPMSG::CgetreclistbasedoninstRequest& msgRequest, CHttpReq* pHttpReq)
{
pHttpReq->GetHttpReqMethodRef().SetMethodName(IB_HTTP_GET);
my_thread_string& parameter = pHttpReq->GetHttpReqMethodRef().GetURLRef();
parameter = msgRequest.get_property_urlInfo_ref().get_property_url_ref();
parameter += IB_HTTP_ASK_CHAR;
//opaccount
parameter += msgRequest.property_opaccount.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += msgRequest.get_property_opaccount_ref();
parameter += IB_HTTP_AND_CHAR;
//oppwd
parameter += msgRequest.property_oppwd.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += msgRequest.get_property_oppwd_ref();
parameter += IB_HTTP_AND_CHAR;
//userid
parameter += msgRequest.property_userid.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += msgRequest.get_property_userid_ref();
parameter += IB_HTTP_AND_CHAR;
//howmany
parameter += msgRequest.property_howmany.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += msgRequest.get_property_howmany_ref();
//traceuniqueid
if( true == msgRequest.get_property_traceuniqueid_ref().Exist() )
{
parameter += IB_HTTP_AND_CHAR;
parameter += msgRequest.property_traceuniqueid.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += (*(msgRequest.get_property_traceuniqueid_ref()));
}
//contenttype
if( true == msgRequest.get_property_contenttype_ref().Exist() )
{
parameter += IB_HTTP_AND_CHAR;
parameter += msgRequest.property_contenttype.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += (*(msgRequest.get_property_contenttype_ref()));
}
//pHttpReq->GetHttpReqMethodRef().SetURL(parameter.c_str());
}
void CIBClientHttpForwarder::handleRequest(DNA_HTTPMSG::CgetreclistofitembasedcorRequest& msgRequest, CHttpReq* pHttpReq)
{
pHttpReq->GetHttpReqMethodRef().SetMethodName(IB_HTTP_GET);
my_thread_string& parameter = pHttpReq->GetHttpReqMethodRef().GetURLRef();
parameter = msgRequest.get_property_urlInfo_ref().get_property_url_ref();
parameter += IB_HTTP_ASK_CHAR;
//opaccount
parameter += msgRequest.property_opaccount.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += msgRequest.get_property_opaccount_ref();
parameter += IB_HTTP_AND_CHAR;
//oppwd
parameter += msgRequest.property_oppwd.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += msgRequest.get_property_oppwd_ref();
parameter += IB_HTTP_AND_CHAR;
//userid
if( true == msgRequest.get_property_userid_ref().Exist() )
{
parameter += msgRequest.property_userid.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += (*(msgRequest.get_property_userid_ref()));
parameter += IB_HTTP_AND_CHAR;
}
//howmany
parameter += msgRequest.property_howmany.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += msgRequest.get_property_howmany_ref();
//curitems
CODE_BASE::Thread_List< CODE_BASE::Pascal_String >::iterator itr = (msgRequest.get_property_curitems_ref()).begin();
for(;itr != (msgRequest.get_property_curitems_ref()).end(); ++itr)
{
parameter += IB_HTTP_AND_CHAR;
parameter += msgRequest.property_curitems.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += itr->c_str();
}
//traceuniqueid
if( true == msgRequest.get_property_traceuniqueid_ref().Exist() )
{
parameter += IB_HTTP_AND_CHAR;
parameter += msgRequest.property_traceuniqueid.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += (*(msgRequest.get_property_traceuniqueid_ref()));
}
//contenttype
if( true == msgRequest.get_property_contenttype_ref().Exist() )
{
parameter += IB_HTTP_AND_CHAR;
parameter += msgRequest.property_contenttype.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += (*(msgRequest.get_property_contenttype_ref()));
}
//pHttpReq->GetHttpReqMethodRef().SetURL(parameter.c_str());
}
void CIBClientHttpForwarder::handleRequest(DNA_HTTPMSG::CgetsimilaritemRequest& msgRequest, CHttpReq* pHttpReq)
{
pHttpReq->GetHttpReqMethodRef().SetMethodName(IB_HTTP_GET);
my_thread_string& parameter = pHttpReq->GetHttpReqMethodRef().GetURLRef();
parameter = msgRequest.get_property_urlInfo_ref().get_property_url_ref();
parameter += IB_HTTP_ASK_CHAR;
//opaccount
parameter += msgRequest.property_opaccount.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += msgRequest.get_property_opaccount_ref();
parameter += IB_HTTP_AND_CHAR;
//oppwd
parameter += msgRequest.property_oppwd.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += msgRequest.get_property_oppwd_ref();
parameter += IB_HTTP_AND_CHAR;
//itemid
parameter += msgRequest.property_itemid.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += msgRequest.get_property_itemid_ref();
parameter += IB_HTTP_AND_CHAR;
//howmany
parameter += msgRequest.property_howmany.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += msgRequest.get_property_howmany_ref();
//traceuniqueid
if( true == msgRequest.get_property_traceuniqueid_ref().Exist() )
{
parameter += IB_HTTP_AND_CHAR;
parameter += msgRequest.property_traceuniqueid.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += (*(msgRequest.get_property_traceuniqueid_ref()));
}
//contenttype
if( true == msgRequest.get_property_contenttype_ref().Exist() )
{
parameter += IB_HTTP_AND_CHAR;
parameter += msgRequest.property_contenttype.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += (*(msgRequest.get_property_contenttype_ref()));
}
//pHttpReq->GetHttpReqMethodRef().SetURL(parameter.c_str());
}
void CIBClientHttpForwarder::handleRequest(DNA_HTTPMSG::CgetsimilarattrRequest& msgRequest, CHttpReq* pHttpReq)
{
pHttpReq->GetHttpReqMethodRef().SetMethodName(IB_HTTP_GET);
//my_thread_string parameter;
my_thread_string& parameter = pHttpReq->GetHttpReqMethodRef().GetURLRef();
parameter = msgRequest.get_property_urlInfo_ref().get_property_url_ref();
parameter += IB_HTTP_ASK_CHAR;
//opaccount
parameter += msgRequest.property_opaccount.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += msgRequest.get_property_opaccount_ref();
parameter += IB_HTTP_AND_CHAR;
//oppwd
parameter += msgRequest.property_oppwd.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += msgRequest.get_property_oppwd_ref();
parameter += IB_HTTP_AND_CHAR;
//attrid
parameter += msgRequest.property_attrid.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += msgRequest.get_property_attrid_ref();
parameter += IB_HTTP_AND_CHAR;
//attrvalue
parameter += msgRequest.property_attrvalue.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += msgRequest.get_property_attrvalue_ref();
parameter += IB_HTTP_AND_CHAR;
//howmany
parameter += msgRequest.property_howmany.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += msgRequest.get_property_howmany_ref();
//traceuniqueid
if( true == msgRequest.get_property_traceuniqueid_ref().Exist() )
{
parameter += IB_HTTP_AND_CHAR;
parameter += msgRequest.property_traceuniqueid.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += (*(msgRequest.get_property_traceuniqueid_ref()));
}
//contenttype
if( true == msgRequest.get_property_contenttype_ref().Exist() )
{
parameter += IB_HTTP_AND_CHAR;
parameter += msgRequest.property_contenttype.GetLocalNameRef();
parameter += IB_HTTP_EQUAL_CHAR;
parameter += (*(msgRequest.get_property_contenttype_ref()));
}
//pHttpReq->GetHttpReqMethodRef().SetURL(parameter.c_str());
}
void CIBClientHttpForwarder::handleRequest(DRMC_HTTPMSG::CRightReqRequest& msgRequest, CHttpReq* pHttpReq)
{
my_thread_string& url = pHttpReq->GetHttpReqMethodRef().GetURLRef();
url = msgRequest.get_property_urlInfo_ref().get_property_url_ref();
url += IB_HTTP_ASK_CHAR;
//Time
url += msgRequest.property_time.GetLocalNameRef();
url += IB_HTTP_EQUAL_CHAR;
url += msgRequest.get_property_time_ref();
url += IB_HTTP_AND_CHAR;
//transactionID
url += msgRequest.property_transactionID.GetLocalNameRef();
url += IB_HTTP_EQUAL_CHAR;
url += msgRequest.get_property_transactionID_ref();
url += IB_HTTP_AND_CHAR;
//ISMPID
url += msgRequest.property_ISMPID.GetLocalNameRef();
url += IB_HTTP_EQUAL_CHAR;
url += msgRequest.get_property_ISMPID_ref();
url += IB_HTTP_AND_CHAR;
//portalID
url += msgRequest.property_portalID.GetLocalNameRef();
url += IB_HTTP_EQUAL_CHAR;
url += msgRequest.get_property_portalID_ref();
url += IB_HTTP_AND_CHAR;
//contentID
url += msgRequest.property_contentID.GetLocalNameRef();
url += IB_HTTP_EQUAL_CHAR;
url += msgRequest.get_property_contentID_ref();
url += IB_HTTP_AND_CHAR;
//deliveryMethod
url += msgRequest.property_deliveryMethod.GetLocalNameRef();
url += IB_HTTP_EQUAL_CHAR;
url += msgRequest.get_property_deliveryMethod_ref();
url += IB_HTTP_AND_CHAR;
//OAType
url += msgRequest.property_OAType.GetLocalNameRef();
url += IB_HTTP_EQUAL_CHAR;
if( true == msgRequest.get_property_OAType_ref().Exist() )
{
url += *(msgRequest.get_property_OAType_ref());
}
url += IB_HTTP_AND_CHAR;
//OAOpr
url += msgRequest.property_OAOpr.GetLocalNameRef();
url += IB_HTTP_EQUAL_CHAR;
url += (*msgRequest.get_property_OAOpr_ref());
url += IB_HTTP_AND_CHAR;
//OA
url += msgRequest.property_OA.GetLocalNameRef();
url += IB_HTTP_EQUAL_CHAR;
url += msgRequest.get_property_OA_ref();
url += IB_HTTP_AND_CHAR;
//DAType
url += msgRequest.property_DAType.GetLocalNameRef();
url += IB_HTTP_EQUAL_CHAR;
if( true == msgRequest.get_property_DAType_ref().Exist() )
{
url += *(msgRequest.get_property_DAType_ref());
}
url += IB_HTTP_AND_CHAR;
//DAOpr
url += msgRequest.property_DAOpr.GetLocalNameRef();
url += IB_HTTP_EQUAL_CHAR;
url += (*msgRequest.get_property_DAOpr_ref());
url += IB_HTTP_AND_CHAR;
//DA
url += msgRequest.property_DA.GetLocalNameRef();
url += IB_HTTP_EQUAL_CHAR;
url += (*msgRequest.get_property_DA_ref());
url += IB_HTTP_AND_CHAR;
//FAType
url += msgRequest.property_FAType.GetLocalNameRef();
url += IB_HTTP_EQUAL_CHAR;
if( true == msgRequest.get_property_FAType_ref().Exist() )
{
url += *(msgRequest.get_property_FAType_ref());
}
url += IB_HTTP_AND_CHAR;
//FAOpr
url += msgRequest.property_FAOpr.GetLocalNameRef();
url += IB_HTTP_EQUAL_CHAR;
url += (*msgRequest.get_property_FAOpr_ref());
url += IB_HTTP_AND_CHAR;
//FA
url += msgRequest.property_FA.GetLocalNameRef();
url += IB_HTTP_EQUAL_CHAR;
url += (*msgRequest.get_property_FA_ref());
url += IB_HTTP_AND_CHAR;
//serviceIdType
url += msgRequest.property_serviceIdType.GetLocalNameRef();
url += IB_HTTP_EQUAL_CHAR;
if( true == msgRequest.get_property_serviceIdType_ref().Exist() )
{
url += *(msgRequest.get_property_serviceIdType_ref());
}
url += IB_HTTP_AND_CHAR;
//spId
url += msgRequest.property_spId.GetLocalNameRef();
url += IB_HTTP_EQUAL_CHAR;
url += (*msgRequest.get_property_spId_ref());
url += IB_HTTP_AND_CHAR;
//productId
url += msgRequest.property_productId.GetLocalNameRef();
url += IB_HTTP_EQUAL_CHAR;
url += (*msgRequest.get_property_productId_ref());
url += IB_HTTP_AND_CHAR;
//serType
url += msgRequest.property_serType.GetLocalNameRef();
url += IB_HTTP_EQUAL_CHAR;
if( true == msgRequest.get_property_serType_ref().Exist() )
{
url += *(msgRequest.get_property_serType_ref());
}
url += IB_HTTP_AND_CHAR;
//confirm
url += msgRequest.property_confirm.GetLocalNameRef();
url += IB_HTTP_EQUAL_CHAR;
if( true == msgRequest.get_property_confirm_ref().Exist() )
{
url += *(msgRequest.get_property_confirm_ref());
}
url += IB_HTTP_AND_CHAR;
//report
url += msgRequest.property_report.GetLocalNameRef();
url += IB_HTTP_EQUAL_CHAR;
if( true == msgRequest.get_property_report_ref().Exist() )
{
url += *(msgRequest.get_property_report_ref());
}
url += IB_HTTP_AND_CHAR;
//securityID
url += msgRequest.property_securityID.GetLocalNameRef();
url += IB_HTTP_EQUAL_CHAR;
url += msgRequest.get_property_securityID_ref();
//pHttpReq->GetHttpReqMethodRef().SetURL(url);
}
void CIBClientHttpForwarder::handleRequest(SMSC_HTTPMSG::CSetSmsServiceFlagRequest& msgRequest, CHttpReq* pHttpReq)
{
//PLATFORM::CKeyValuePair pr;
//pr.Set(((msgRequest.property_commandID).GetLocalName()), (IntToStr(msgRequest.get_property_commandID_ref()).c_str()));
//pHttpReq->GetKeyValueListRef().push_back(pr); //should be push every time
//pr.Set(((msgRequest.property_dataStruct).GetLocalName()), (msgRequest.get_property_dataStruct_ref()).c_str());
//pHttpReq->GetKeyValueListRef().push_back(pr); //should be push every time
//pr.Set(((msgRequest.property_serviceflag).GetLocalName()), (IntToStr(msgRequest.get_property_serviceflag_ref()).c_str()));
//pHttpReq->GetKeyValueListRef().push_back(pr); //should be push every time
//setting attchment body
ACE_UINT32 i_length = (msgRequest.get_property_dataStruct_ref()).GetSize() ;
if(i_length > 0)
{
pHttpReq->GetBodyRef().SetSize(i_length );
pHttpReq->GetBodyRef().SetBuffer( (msgRequest.get_property_dataStruct_ref()).GetBuffer() );
}
}
void CIBClientHttpForwarder::handleRequest(STREAMING_HTTPMSG::CgetserverURLRequest& msgRequest, CHttpReq* pHttpReq)
{
// PLATFORM::CKeyValuePair pr;
// my_thread_string sTmp = *(msgRequest.get_property_audioid_ref());
// pr.Set(msgRequest.property_audioid.GetLocalNameRef(), sTmp);
// pr.Set(msgRequest.property_msisdn.GetLocalNameRef(), msgRequest.get_property_msisdn_ref());
// pr.Set(msgRequest.property_mdspid.GetLocalNameRef(), (*(msgRequest.get_property_mdspid_ref())));
// pr.Set(msgRequest.property_spid.GetLocalNameRef(), msgRequest.get_property_spid_ref());
// pr.Set(msgRequest.property_sid.GetLocalNameRef(), (*(msgRequest.get_property_sid_ref())));
// sTmp = msgRequest.get_property_nettype_ref();
// pr.Set(msgRequest.property_nettype.GetLocalNameRef(), sTmp);
// pr.Set(msgRequest.property_Channel_ID.GetLocalNameRef(), (*(msgRequest.get_property_Channel_ID_ref())));
// pr.Set(msgRequest.property_timestamp.GetLocalNameRef(), (*(msgRequest.get_property_timestamp_ref())));
// pr.Set(msgRequest.property_clientip.GetLocalNameRef(), (*(msgRequest.get_property_clientip_ref())));
// pr.Set(msgRequest.property_MDN2000.GetLocalNameRef(), (*(msgRequest.get_property_MDN2000_ref())));
}
void CIBClientHttpForwarder::handleRequest(MDSP_HTTPMSG::CGetTokenRequest& msgRequest, CHttpReq* pHttpReq)
{
//setting attchment body
ACE_UINT32 i_length = (*((msgRequest.get_property_getTokenReq_ref()).get_property_dataDes_ref())).GetSize() ;
if(i_length > 0)
{
pHttpReq->GetBodyRef().SetSize( i_length );
//附件的内存由平台释放
pHttpReq->GetBodyRef().SetBuffer( (*((msgRequest.get_property_getTokenReq_ref()).get_property_dataDes_ref())).GetBuffer() );
}
}
void CIBClientHttpForwarder::handleResponse(Sync_httpmsg::CSyncDataNotifyResponse& msgResponse, CClientHttpRsp& rHttpRsp)
{
PLATFORM::CKeyValueList& rkeyList = (const_cast<CClientHttpRsp&>(rHttpRsp)).GetKeyValueListRef();
for(PLATFORM::CKeyValueList::iterator p = rkeyList.begin(); p != rkeyList.end(); ++p)
{
// get what you need according relative value..
my_thread_string sKey = (*p).GetKeyRef();
my_thread_string sValue = (*p).GetValueRef();
if(sKey == ((msgResponse.get_property_syncDataNotifyRsp_ref()).property_resultCode).GetLocalName() )
{
(msgResponse.get_property_syncDataNotifyRsp_ref()).get_property_resultCode_ref().Exist(true);
*((msgResponse.get_property_syncDataNotifyRsp_ref()).get_property_resultCode_ref())= sValue.c_str();
}
if(sKey == ((msgResponse.get_property_syncDataNotifyRsp_ref()).property_resultMessage).GetLocalName())
{
(msgResponse.get_property_syncDataNotifyRsp_ref()).get_property_resultMessage_ref().Exist(true);
*((msgResponse.get_property_syncDataNotifyRsp_ref()).get_property_resultMessage_ref())= sValue.c_str();
}
}
}
void CIBClientHttpForwarder::handleResponse(Sync_httpmsg::CDataSourceSyncReceiptResponse& msgResponse, CClientHttpRsp& rHttpRsp)
{
PLATFORM::CKeyValueList& rkeyList = (const_cast<CClientHttpRsp&>(rHttpRsp)).GetKeyValueListRef();
for(PLATFORM::CKeyValueList::iterator p = rkeyList.begin(); p != rkeyList.end(); ++p)
{
// get what you need according relative value..
my_thread_string sKey = (*p).GetKeyRef();
my_thread_string sValue = (*p).GetValueRef();
if(sKey == (msgResponse.property_resultCode).GetLocalName() )
{
msgResponse.get_property_resultCode_ref().Exist(true);
*(msgResponse.get_property_resultCode_ref())= sValue.c_str();
}
if(sKey== (msgResponse.property_resultMessage).GetLocalName())
{
msgResponse.get_property_resultMessage_ref().Exist(true);
*(msgResponse.get_property_resultMessage_ref())= sValue.c_str();
}
}
}
void CIBClientHttpForwarder::handleResponse(Sync_httpmsg::CBossDataSyncResponse& msgResponse, CClientHttpRsp& rHttpRsp)
{
if(0 != rHttpRsp.GetBodyRef().GetSize()) // attachments
{
msgResponse.get_property_bossDataSyncRsp_ref().get_property_dataDesOut_ref().Exist(true);
(*(msgResponse.get_property_bossDataSyncRsp_ref().get_property_dataDesOut_ref())).SetSize( rHttpRsp.GetBodyRef().GetSize() );
(*(msgResponse.get_property_bossDataSyncRsp_ref().get_property_dataDesOut_ref())).SetBuffer( rHttpRsp.GetBodyRef().GetBuffer() );
}
}
void CIBClientHttpForwarder::handleResponse(Sync_httpmsg::CDataSyncTransferResponse& msgResponse, CClientHttpRsp& rHttpRsp)
{
PLATFORM::CKeyValueList& rkeyList = (const_cast<CClientHttpRsp&>(rHttpRsp)).GetKeyValueListRef();
for(PLATFORM::CKeyValueList::iterator p = rkeyList.begin(); p != rkeyList.end(); ++p)
{
// get what you need according relative value..
my_thread_string sKey = (*p).GetKeyRef();
my_thread_string sValue = (*p).GetValueRef();
if(sKey == (msgResponse.get_property_dataSyncTransferRsp_ref().property_BIPCode).GetLocalName() )
{
msgResponse.get_property_dataSyncTransferRsp_ref().get_property_BIPCode_ref().Exist(true);
*(msgResponse.get_property_dataSyncTransferRsp_ref().get_property_BIPCode_ref())= sValue.c_str();
}
if(sKey == (msgResponse.get_property_dataSyncTransferRsp_ref().property_activityCode).GetLocalName())
{
msgResponse.get_property_dataSyncTransferRsp_ref().get_property_activityCode_ref().Exist(true);
*(msgResponse.get_property_dataSyncTransferRsp_ref().get_property_activityCode_ref())= sValue.c_str();
}
if(sKey == (msgResponse.get_property_dataSyncTransferRsp_ref().property_routeType).GetLocalName())
{
msgResponse.get_property_dataSyncTransferRsp_ref().get_property_routeType_ref().Exist(true);
*(msgResponse.get_property_dataSyncTransferRsp_ref().get_property_routeType_ref())= sValue.c_str();
}
if(sKey == (msgResponse.get_property_dataSyncTransferRsp_ref().property_routeValue).GetLocalName())
{
msgResponse.get_property_dataSyncTransferRsp_ref().get_property_routeValue_ref().Exist(true);
*(msgResponse.get_property_dataSyncTransferRsp_ref().get_property_routeValue_ref())= sValue.c_str();
}
if(sKey == (msgResponse.get_property_dataSyncTransferRsp_ref().property_procID).GetLocalName())
{
msgResponse.get_property_dataSyncTransferRsp_ref().get_property_procID_ref().Exist(true);
*(msgResponse.get_property_dataSyncTransferRsp_ref().get_property_procID_ref())= sValue.c_str();
}
if(sKey == (msgResponse.get_property_dataSyncTransferRsp_ref().property_transIDO).GetLocalName())
{
msgResponse.get_property_dataSyncTransferRsp_ref().get_property_transIDO_ref().Exist(true);
*(msgResponse.get_property_dataSyncTransferRsp_ref().get_property_transIDO_ref())= sValue.c_str();
}
if(sKey == (msgResponse.get_property_dataSyncTransferRsp_ref().property_transIDH).GetLocalName())
{
msgResponse.get_property_dataSyncTransferRsp_ref().get_property_transIDH_ref().Exist(true);
*(msgResponse.get_property_dataSyncTransferRsp_ref().get_property_transIDH_ref())= sValue.c_str();
}
if(sKey== (msgResponse.get_property_dataSyncTransferRsp_ref().property_processTime).GetLocalName())
{
msgResponse.get_property_dataSyncTransferRsp_ref().get_property_processTime_ref().Exist(true);
*(msgResponse.get_property_dataSyncTransferRsp_ref().get_property_processTime_ref())= sValue.c_str();
}
if(sKey== (msgResponse.get_property_dataSyncTransferRsp_ref().property_rspType).GetLocalName())
{
msgResponse.get_property_dataSyncTransferRsp_ref().get_property_rspType_ref().Exist(true);
*(msgResponse.get_property_dataSyncTransferRsp_ref().get_property_rspType_ref())= sValue.c_str();
}
if(sKey== (msgResponse.get_property_dataSyncTransferRsp_ref().property_rspCode).GetLocalName())
{
msgResponse.get_property_dataSyncTransferRsp_ref().get_property_rspCode_ref().Exist(true);
*(msgResponse.get_property_dataSyncTransferRsp_ref().get_property_rspCode_ref())= sValue.c_str();
}
if(sKey== (msgResponse.get_property_dataSyncTransferRsp_ref().property_rspDesc).GetLocalName())
{
msgResponse.get_property_dataSyncTransferRsp_ref().get_property_rspDesc_ref().Exist(true);
*(msgResponse.get_property_dataSyncTransferRsp_ref().get_property_rspDesc_ref())= sValue.c_str();
}
if(sKey== (msgResponse.get_property_dataSyncTransferRsp_ref().property_origDomain).GetLocalName())
{
msgResponse.get_property_dataSyncTransferRsp_ref().get_property_origDomain_ref().Exist(true);
*(msgResponse.get_property_dataSyncTransferRsp_ref().get_property_origDomain_ref())= sValue.c_str();
}
if(sKey== (msgResponse.get_property_dataSyncTransferRsp_ref().property_homeDomain).GetLocalName())
{
msgResponse.get_property_dataSyncTransferRsp_ref().get_property_homeDomain_ref().Exist(true);
*(msgResponse.get_property_dataSyncTransferRsp_ref().get_property_homeDomain_ref())= sValue.c_str();
}
if(sKey== (msgResponse.get_property_dataSyncTransferRsp_ref().property_testFlag).GetLocalName())
{
msgResponse.get_property_dataSyncTransferRsp_ref().get_property_testFlag_ref().Exist(true);
*(msgResponse.get_property_dataSyncTransferRsp_ref().get_property_testFlag_ref())= sValue.c_str();
}
if(sKey== (msgResponse.get_property_dataSyncTransferRsp_ref().property_msgSender).GetLocalName())
{
msgResponse.get_property_dataSyncTransferRsp_ref().get_property_msgSender_ref().Exist(true);
*(msgResponse.get_property_dataSyncTransferRsp_ref().get_property_msgSender_ref())= sValue.c_str();
}
if(sKey== (msgResponse.get_property_dataSyncTransferRsp_ref().property_svcContVer).GetLocalName())
{
msgResponse.get_property_dataSyncTransferRsp_ref().get_property_svcContVer_ref().Exist(true);
*(msgResponse.get_property_dataSyncTransferRsp_ref().get_property_svcContVer_ref())= sValue.c_str();
}
if(sKey== (msgResponse.get_property_dataSyncTransferRsp_ref().property_msgReceiver).GetLocalName())
{
msgResponse.get_property_dataSyncTransferRsp_ref().get_property_msgReceiver_ref().Exist(true);
*(msgResponse.get_property_dataSyncTransferRsp_ref().get_property_msgReceiver_ref())= sValue.c_str();
}
if(sKey== (msgResponse.get_property_dataSyncTransferRsp_ref().property_bIPVer).GetLocalName())
{
msgResponse.get_property_dataSyncTransferRsp_ref().get_property_bIPVer_ref().Exist(true);
*(msgResponse.get_property_dataSyncTransferRsp_ref().get_property_bIPVer_ref())= sValue.c_str();
}
}
if(0 != rHttpRsp.GetBodyRef().GetSize()) // attachments
{
msgResponse.get_property_dataSyncTransferRsp_ref().get_property_dataDesFromSIS_ref().Exist(true);
(*(msgResponse.get_property_dataSyncTransferRsp_ref().get_property_dataDesFromSIS_ref())).SetSize( rHttpRsp.GetBodyRef().GetSize() );
(*(msgResponse.get_property_dataSyncTransferRsp_ref().get_property_dataDesFromSIS_ref())).SetBuffer( rHttpRsp.GetBodyRef().GetBuffer() );
}
}
void CIBClientHttpForwarder::handleResponse(DRMC_HTTPMSG::CRightReqResponse& msgResponse, CClientHttpRsp& rHttpRsp)
{
ACE_UINT32 resultcode = (const_cast<CClientHttpRsp&>(rHttpRsp)).GetHttpRspMethodRef().GetResultCode();
if( IB_HTTP_200 != resultcode )
{
PLATFORM::CKeyValueList& rkeyList = (const_cast<CClientHttpRsp&>(rHttpRsp)).GetKeyValueListRef();
for(PLATFORM::CKeyValueList::iterator p = rkeyList.begin(); p != rkeyList.end(); ++p)
{
my_thread_string sKey = (*p).GetKeyRef();
my_thread_string sValue = (*p).GetValueRef();
if( !ACE_OS::strncasecmp(sKey.c_str() , IB_HTTP_LOCATION, strlen(sKey.c_str()) ) )
{
msgResponse.get_property_url_ref().Exist(true);
*(msgResponse.get_property_url_ref()) = sValue.c_str();
}
}
}
}
void CIBClientHttpForwarder::handleResponse(STREAMING_HTTPMSG::CgetserverURLResponse& msgResponse, CClientHttpRsp& rHttpRsp)
{
PLATFORM::CKeyValueList& rkeyList = (const_cast<CClientHttpRsp&>(rHttpRsp)).GetKeyValueListRef();
for(PLATFORM::CKeyValueList::iterator p = rkeyList.begin(); p != rkeyList.end(); ++p)
{
my_thread_string sKey = (*p).GetKeyRef();
my_thread_string sValue = (*p).GetValueRef();
if( sKey==((msgResponse.property_resultcode).GetLocalName()))
{
msgResponse.get_property_resultcode_ref()= sValue.c_str();
}
if(sKey==((msgResponse.property_url).GetLocalName()))
{
msgResponse.get_property_url_ref()= sValue.c_str();
}
}
}
void CIBClientHttpForwarder::handleResponse(MDSP_HTTPMSG::CGetTokenResponse& msgResponse, CClientHttpRsp& rHttpRsp)
{
if(0 != rHttpRsp.GetBodyRef().GetSize()) // attachments
{
msgResponse.get_property_getTokenRsp_ref().get_property_dataDes_ref().Exist(true);
(*(msgResponse.get_property_getTokenRsp_ref().get_property_dataDes_ref())).SetSize( rHttpRsp.GetBodyRef().GetSize() );
(*(msgResponse.get_property_getTokenRsp_ref().get_property_dataDes_ref())).SetBuffer( rHttpRsp.GetBodyRef().GetBuffer() );
}
}
//void CIBClientHttpForwarder::clearMyMemory(SMSC_HTTPMSG::CSetSmsServiceFlagRequest& msgRequest)
//{
// if( msgRequest.get_property_dataStruct_ref().GetBuffer() )
// {
// this->deallocate(msgRequest.get_property_dataStruct_ref().GetBuffer(), msgRequest.get_property_dataStruct_ref().GetSize() );
// }
//}
//
//void CIBClientHttpForwarder::clearMyMemory(Sync_httpmsg::CSyncDataNotifyRequest& msgRequest)
//{
// if( ( *((msgRequest.get_property_syncDataNotifyReq_ref()).get_property_dataDes_ref())).GetBuffer() )
// {
// this->deallocate( (*((msgRequest.get_property_syncDataNotifyReq_ref()).get_property_dataDes_ref())).GetBuffer(), (*((msgRequest.get_property_syncDataNotifyReq_ref()).get_property_dataDes_ref())).GetSize() );
// }
//}
//void CIBClientHttpForwarder::clearMyMemory(Sync_httpmsg::CDataSourceSyncReceiptRequest& msgRequest)
//{
// if( (*(msgRequest.get_property_dataDes_ref())).GetBuffer() )
// {
// this->deallocate( (*(msgRequest.get_property_dataDes_ref())).GetBuffer(), (*(msgRequest.get_property_dataDes_ref())).GetSize() );
// }
//}
- fw.cpp
- fw
- FW - Determinants
- nat&fw
- FW:转帖
- FW-切图
- cpp
- CPP
- CPP
- cpp
- cpp
- CPP
- CPP
- Building fw printenv and fw setenv
- fw: 侯捷--MFCLite
- [FW]TCL WWW Info
- fw: 算术题
- fw:SQL操作全集
- 在Android中使用scala编程(-)
- SYN 洪水攻击
- linux下find命令的用法
- 创建浏览文件夹对话框 .
- 分治法,归并排序
- fw.cpp
- 一类简单数位统计问题的记忆化搜索解法
- 存储过程如何防止一条记录重复插入
- JSP,PHP详细性能测试
- c#中双斜杠和三斜杠注释的差别
- Android培训班(65)dex文件打开
- 还是担心自己的动手能力
- android中的样式和主题
- get传参乱码解决