??? GSOAP對于附件的處理非常好,可以很靈活的修改附件各部分,也可以偷懶讓GSOAP自動生成所需部分~不錯~
??? 下面是一堆在測試GSOAP加附件時用到的亂碼,就放這里作記錄吧~
????//attachment
????//if(packet->m_uiContentLen?>?0?&&?packet->m_pContent?!=?NULL)
????//{
????//????soap_set_mime(req.soap,?NULL,?NULL);
????//????//if(soap_set_mime_attachment(req.soap,?packet->m_pContent,?packet->m_uiContentLen,?SOAP_MIME_BINARY,?"application/vnd.wap.multipart.related",?"<KH-MMS-SMIL>",?NULL,?NULL)?!=?SOAP_OK)
????//????//if(soap_set_mime_attachment(req.soap,?packet->m_pContent,?packet->m_uiContentLen,?SOAP_MIME_NONE,?"text/plain",?"<slide1.txt>",?"slide1.txt",?NULL)?!=?SOAP_OK)
????//????//if(soap_set_mime_attachment(req.soap,?packet->m_pContent,?packet->m_uiContentLen,?SOAP_MIME_BASE64,?"image/png",?"<1001417929.27019.9.camel@spectrolite>",?"corner-bottomright.png",?"attachment;?filename=corner-bottomright.png")?!=?SOAP_OK)
????//????if(soap_set_mime_attachment(req.soap,?const_cast<char*>(str.c_str()),?str.size(),?SOAP_MIME_NONE,?"application/vnd.wap.multipart.related;?charset=utf-8;?boundary=\"----=_Part_24362_271418.1110357304160\";?type=\"application/smil\";?start=\"<KM-MMS-SMIL>\"",?NULL,?NULL,?NULL)?!=?SOAP_OK)
????//????{
????//????????ACEX_LOG_OS(LM_WARNING,?"<CCoreMsgTask::OnClientTaskMMSSendMessage>Add?attachment?to?MIME?failed."?<<?std::endl);
????//????}
????//}
????soap_set_mime(req.soap,?NULL,?NULL);
????for(Packet::TContentVector::const_iterator?it?=?packet->m_vctContent.begin();?it?!=?packet->m_vctContent.end();?++?it)
????{
????????if(soap_set_mime_attachment(req.soap,?it->m_pData,?it->m_uiSize,?soap_mime_encoding(it->m_ucEncoding),?it->m_strType.c_str(),?(it->m_strID.empty()???NULL?:?it->m_strID.c_str()),?(it->m_strLocation.empty()???NULL?:?it->m_strLocation.c_str()),?(it->m_strDesc.empty()???NULL?:?it->m_strDesc.c_str()))?!=?SOAP_OK)
????????{
????????????ACEX_LOG_OS(LM_WARNING,?"<CCoreMsgTask::OnClientTaskMMSSendMessage>Add?attachment?to?MIME?failed."?<<?std::endl);
????????}
????}
??? <---------------看不見的分割線----------------------->
??? 今天測試了ISAG的MMS接口,一切順利~
??? 電信對于ISAG是否支持SMIL格式,自己也沒有底--“SMIL好像不支持的,你們測試一下。。。”從理論上將,如果ISAG僅僅是透傳SOAP附帶的各附件,那么附件是何種格式就和ISAG沒有關系了,而要看終端是否支持了。
??? 因此,在多附件下發成功的情況下,我們作了SMIL格式的測試--PASS!
??? 報文在
這里,供參考。