持之以恒

          記錄本
          posts - 4, comments - 32, trackbacks - 0, articles - 74
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          MM7

          Posted on 2012-09-25 11:40 小白19870626 閱讀(1939) 評論(0)  編輯  收藏 所屬分類: MM7
          中興MM7接口開發(fā)
          2010-03-11 14:44
          1,發(fā)送彩信的時候一直報告說連接超時,返回好像是-104 ,檢查了網(wǎng)絡(luò) ping IP telnet 端口似乎都好的,后來抓包才發(fā)現(xiàn),發(fā)彩信的時候數(shù)據(jù)一直走80端口,不會走配置上的端口,后來才發(fā)現(xiàn)原來要改端口的話是要在這里<mmscIP>10.103.122.180:8080</mmscIP>加上端口號才行的.
          2,返回4007 等 一般都是參數(shù)加的有問題 比如號碼+86,serviceCode VASPID sendAddress等
          3,mm7api的文檔里面對于smil彩信,就說了一個含smil的彩信,必須把content-type設(shè)置成multipart-related,如果按照文檔里面的流程,即使你怎么組合,smil都不起作用的,即使你setPresentionContent(smil)了,照樣不起作用。原因很簡單,mixed方式發(fā)送彩信,只需要setContentID()就行,而related方式,必須把每一個subContent都setContentID()和setContentLocation(),這兩項的內(nèi)容最好相同,比如都為他們的文件名。
          (如果不填這兩個發(fā)下去的時候在諾基亞的手機(jī)里面就只能看到下發(fā)的所有文件列表,而且文件的名字和原來的不一樣 ,比如原來為001.jpg 在手機(jī)里面就顯示file001.jpg,設(shè)置了這兩個參數(shù)之后一切正常);

          中興MM7接口開發(fā)
          2010-03-11 14:44
          1,發(fā)送彩信的時候一直報告說連接超時,返回好像是-104 ,檢查了網(wǎng)絡(luò) ping IP telnet 端口似乎都好的,后來抓包才發(fā)現(xiàn),發(fā)彩信的時候數(shù)據(jù)一直走80端口,不會走配置上的端口,后來才發(fā)現(xiàn)原來要改端口的話是要在這里<mmscIP>10.103.122.180:8080</mmscIP>加上端口號才行的.
          2,返回4007 等 一般都是參數(shù)加的有問題 比如號碼+86,serviceCode VASPID sendAddress等
          3,mm7api的文檔里面對于smil彩信,就說了一個含smil的彩信,必須把content-type設(shè)置成multipart-related,如果按照文檔里面的流程,即使你怎么組合,smil都不起作用的,即使你setPresentionContent(smil)了,照樣不起作用。原因很簡單,mixed方式發(fā)送彩信,只需要setContentID()就行,而related方式,必須把每一個subContent都setContentID()和setContentLocation(),這兩項的內(nèi)容最好相同,比如都為他們的文件名。
          (如果不填這兩個發(fā)下去的時候在諾基亞的手機(jī)里面就只能看到下發(fā)的所有文件列表,而且文件的名字和原來的不一樣 ,比如原來為001.jpg 在手機(jī)里面就顯示file001.jpg,設(shè)置了這兩個參數(shù)之后一切正常);


          今天終于發(fā)出了彩信了,移動的MM7文檔寫的太不全了,折騰了好幾天,總算是發(fā)出去了。MM7ApiI文件如下

          Java代碼 收藏代碼
          1. import com.cmcc.mm7.vasp.message.*;
          2. import com.cmcc.mm7.vasp.service.MM7Sender;
          3. import com.cmcc.mm7.vasp.common.*;
          4. import java.io.*;
          5. import java.text.*;
          6. import com.cmcc.mm7.vasp.conf.*;
          7. public class MM7Api
          8. {
          9. public static void main(String[] args)
          10. {
          11. final MM7Config mm7Config = new MM7Config("./config/mm7Config.xml");
          12. mm7Config.setConnConfigName("./config/ConnConfig.xml");
          13. try
          14. {
          15. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
          16. MM7SubmitReq submit = new MM7SubmitReq();
          17. submit.setTransactionID("13934557531");
          18. submit.addTo(""); //發(fā)送到的號碼
          19. submit.setVASID("");//設(shè)置SP代碼
          20. submit.setVASPID(""); //設(shè)置服務(wù)代碼
          21. submit.setServiceCode("0008");//設(shè)置業(yè)務(wù)代碼
          22. submit.setSenderAddress("10086"); //設(shè)置MM始發(fā)方的地址
          23. submit.setSubject("經(jīng)營分析日報");
          24. submit.setChargedPartyID("13453417863");
          25. submit.setChargedParty((byte)4);
          26. submit.setDeliveryReport(true);
          27. MMContent presentation = MMContent.createFromFile("./test.smil");
          28. presentation.setContentType( "application/smil ");
          29. presentation.setContentID( "test.smil ");
          30. MMContent maincontent = new MMContent();
          31. maincontent.setContentID( "main ");
          32. maincontent.setContentType(MMConstants.ContentType.MULTIPART_RELATED);
          33. maincontent.addSubContent(presentation);
          34. /* MMContent content = new MMContent();
          35. content.setContentType(MMConstants.ContentType.MULTIPART_RELATED);
          36. content.setContentID("main");
          37. MMContent sub1 = MMContent.createFromFile("./test.smil");
          38. sub1.setContentID("test.smil");
          39. sub1.setContentType(MMConstants.ContentType.SMIL);
          40. sub1.setContentLocation("test.smil");
          41. content.addSubContent(sub1);
          42. */
          43. MMContent sub2 = MMContent.createFromFile("./smil.txt");
          44. sub2.setContentID("smil.txt");
          45. sub2.setContentType(MMConstants.ContentType.TEXT);
          46. maincontent.addSubContent(sub2);
          47. MMContent sub3 = MMContent.createFromFile("./a.GIF");
          48. sub3.setContentID("a.GIF");
          49. sub3.setContentType(MMConstants.ContentType.GIF);
          50. maincontent.addSubContent(sub3);
          51. MMContent sub4 = MMContent.createFromFile("./2.txt");
          52. sub4.setContentID("2.txt");
          53. sub4.setContentType(MMConstants.ContentType.TEXT);
          54. maincontent.addSubContent(sub4);
          55. submit.setContent(maincontent);
          56. MM7Sender mm7Sender = new MM7Sender(mm7Config);
          57. MM7RSRes rsRes;
          58. rsRes = (MM7RSRes)mm7Sender.send(submit);
          59. if(rsRes instanceof MM7SubmitRes)
          60. {
          61. MM7SubmitRes submitRes = (MM7SubmitRes)rsRes;
          62. System.out.println(rsRes.getTransactionID());
          63. System.out.println("after!!submitRes.statuscode=" + rsRes.getStatusCode() + ";submitRes.statusText=" + rsRes.getStatusText());
          64. }else{
          65. System.out.println("do!rsRes.statuscode="+rsRes.getStatusCode() + ";rsRes.statusText=" + rsRes.getStatusText());
          66. }
          67. }
          68. catch (Exception e)
          69. {
          70. System.out.println(e);
          71. }
          72. }
          73. }

          smil文件格式如下:

          Xml代碼 收藏代碼
          1. <smil>
          2. <head>
          3. <layout>
          4. <root-layout width="320" height="240"/>
          5. <region id="Image" width="220" height="260" left="76" top="34"/>
          6. <region id="Text" width="168" height="20" left="76" top="220"/>
          7. </layout>
          8. </head>
          9. <body>
          10. <par dur="20s">
          11. <img src="23.jpeg" region="Image" />
          12. <text src="smil.txt" region="Text" />
          13. </par>
          14. <par dur="20s">
          15. <img src="23.jpg" region="Image" begin="0s" end="20s" ></img>
          16. <text src="2.txt" region="Text" begin="0s" end="20s" ></text>
          17. </par>
          18. </body>
          19. </smil>

          需要特別主要的是

          1.

          submitReq.setVASPID("SP代碼") ; //設(shè)置SP代碼

          submitReq.setVASID("服務(wù)代碼") ; //設(shè)置服務(wù)代碼

          submitReq.setServiceCode("業(yè)務(wù)代碼"); //設(shè)置業(yè)務(wù)代碼

          如果出現(xiàn)rsRes.statuscode=4007;rsRes.statusText=Authority failed為鑒權(quán)失敗,一般為上述設(shè)置不對。

          2.當(dāng)時我是只把smil文件傳上去,以為有了這個文件系統(tǒng)會根據(jù)路徑來讀取所有的文件,其實不然,smil中出現(xiàn)的文件都得自己加到MMContent中上傳到服務(wù)器。



          小白

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 绵阳市| 衡南县| 浪卡子县| 长汀县| 泽州县| 新营市| 晋中市| 衢州市| 福贡县| 定兴县| 龙江县| 永安市| 昌乐县| 宾阳县| 武隆县| 曲水县| 纳雍县| 平南县| 东丰县| 枣强县| 财经| 镇坪县| 都江堰市| 湘阴县| 多伦县| 巴楚县| 博兴县| 鄂尔多斯市| 嘉定区| 富宁县| 黑河市| 四会市| 榆树市| 陆良县| 顺义区| 长兴县| 犍为县| 化德县| 长垣县| 百色市| 武鸣县|