2012-09-11 135 views
1

我需要生成一個如下所示的MM7 Soap消息。我可以生成MM7肥皂,但SMIL消息部分和圖像/文本附件是問題。 有誰知道如何生成該部分?用Java生成MM7 Soap請求

<?xml version="1.0" encoding="UTF-8"?> 
<P:Envelope xmlns:P="http://schemas.xmlsoap.org/soap/envelope/"> 
<P:Header> 
<mm7:TransactionID xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-0" P:mustUnderstand="1" >1343706064118205</mm7:TransactionID> 
</P:Header> 
<P:Body> 
<mm7:SubmitReq xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-0"> 
<mm7:MM7Version>6.3.0</mm7:MM7Version> 
<mm7:SenderIdentification> 
<mm7:VASPID>1000</mm7:VASPID> 
<mm7:VASID>0005</mm7:VASID> 
<mm7:SenderAddress> 
<mm7:Number>Dialog MMS</mm7:Number> 
</mm7:SenderAddress> 
</mm7:SenderIdentification> 
<mm7:Recipients> 
<mm7:Bcc> 
<mm7:Number>94773087654/TYPE=PLMN</mm7:Number> 
</mm7:Bcc> 
</mm7:Recipients> 
<mm7:ServiceCode>105</mm7:ServiceCode> 
<mm7:DeliveryReport>true</mm7:DeliveryReport> 
<mm7:Subject>DailyMirror News Service</mm7:Subject> 
<mm7:ChargedParty>Neither</mm7:ChargedParty> 
<mm7:ChargedPartyID></mm7:ChargedPartyID> 
</mm7:SubmitReq></P:Body></P:Envelope> 

- ========== fBS6FtL4PDKimRjInCAaIDytdJ9ulmContent傳輸編碼:8bitContent型:多部分/相關;類型= 「應​​用/ SMIL」;開始= 「」; border = 481bf3d684924bbee13179cd4576eda8--481bf3d684924bbee13179cd4576eda8Content-Transfer-Encoding:8bitContent-ID:< 35_1> Content-Type:text/plain; name =「35_1.txt」Content-Disposition:附件;文件名=「35_1.txt」1.ABC 2. XYZ
- 481bf3d684924bbee13179cd4576eda8 Content-Transfer-Encoding:8bitContent-ID:< 35_2> Content-Type:image/jpeg; name =「35_2.jpg」Content-Disposition:附件; filename =「35_2.jpg」...... Exif..II * ................. Ducky ....... < ...... Adobe.d ................................

Content-Transfer-Encoding:8bitContent-ID:Content -Type:application/smil; name =「mms.smill」Content-Disposition:附件;文件名= 「mms.smill」

<?xml version="1.0" encoding="UTF-8"?> 
<smil xmlns="http://www.w3.org/2000/SMIL20/CR/Language"> 
<head> 
<layout> 
    <root-layout width="300" height="300" background-color="white"/> 
    <region id="Item0" top="125" left="1" width="99%" height="49%" fit="fill"/> 
</layout> 
</head> 
<body> 
<par dur="10s"> 
    <text region="Item0" src="cid:35_1"/> 
    <img region="Item1" src="cid:35_2"/> 
</par> 

</body> 
</smil> 

回答

2

最終的請求應該喜歡這樣一個,照顧MIME邊界部分

--mime-boundary-boundary1 
Content-Type: text/xml; charset=utf-8 
Content-ID: <mm7_msg> 

<?xml version='1.0' ?> 
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
<soap:Header> 
<mm7:TransactionID xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-2" soap:mustUnderstand="1"> 
1348056868070-1- 
</mm7:TransactionID> 
</soap:Header> 
<soap:Body> 
<SubmitReq xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-2"> 
<MM7Version>5.3.0</MM7Version> 
<SenderIdentification> 
<VASPID>Ejada</VASPID> 
<VASID>Ejada</VASID> 
</SenderIdentification> 
<Recipients> 
<To> 
<Number>1111</Number> 
</To> 
</Recipients> 
<DeliveryReport>true</DeliveryReport> 
<Subject>Allah Akbar</Subject> 
<Content href="cid:mms_cid" /> 
</SubmitReq> 
</soap:Body> 
</soap:Envelope> 

--mime-boundary-boundary1 
Content-Type: multipart/mixed; boundary="mime-boundary-boundary2" 
Content-ID: <mms_cid1> 

--mime-boundary-boundary2 
Content-Type: text/plain 
Content-ID: <contentId1.txt> 
Content-location: contentlocation1.txt 

test from jmeter, hello world! 

--mime-boundary-boundary2 
Content-Type: image/jpeg 
Content-location: Ejada.jpg 

(=================binary data for the image goes here) 

--mime-boundary-boundary2 
Content-Type: application/smil 
Content-ID: <smil file> 
Content-location: smil file 

<smil> 
    <head> 
     <layout> 
      <root-layout height="80" width="101"/> 
      <region fit="hidden" height="50%" id="Text" left="0%" top="0%" width="100%"/> 
      <region fit="hidden" height="50%" id="Image" left="0%" top="50%" width="100%"/> 
     </layout> 
    </head> 
    <body> 
     <par dur="5000ms"> 
     <img region="Image" src="Ejada.jpg"/> 
     <text region="Text" src="sample.txt"/> 
     </par> 
    </body> 
</smil> 

----mime-boundary-boundary1 
0

的使用InstantCom的MM7 Java庫https://github.com/vnesek/instantcom-mm7(無恥的披露,我維護者)可以產生具有更多或更少的相同的請求:

SubmitReq sr = new SubmitReq(); 
    sr.setNamespace("http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-2"); 
    sr.setMm7Version("5.3.0"); 
    sr.setVaspId("Ejada"); 
    sr.setVasId("Ejada"); 
    sr.setSubject("Allah Akbar"); 
    sr.setDeliveryReport(true); 
    sr.addRecipient(new Address("1111", RecipientType.TO)); 
    sr.setTransactionId("1348056868070-1-"); 

    // Attach a SMIL presentation 
    BinaryContent smil = new BinaryContent("application/smil", load("smil-sample2.xml")); 
    smil.setContentId("smil"); 

    // Attach a picture 
    BinaryContent image = new BinaryContent("image/jpeg", load("lorena.jpg")); 
    image.setContentId("image"); 

    // Attach a text 
    TextContent text = new TextContent("Lorena sends a lots of hugs!"); 
    text.setContentId("text"); 

    // Pack it all up 
    sr.setContent(new BasicContent(smil, image, text)); 

    MM7Message.save(sr, System.out, new MM7Context()); 

輸出將是:

--==MM7-SOAP==5474f579-afe1-4b23-b8e2-0b162f89fd94 
Content-Type: text/xml; charset="utf-8" 
Content-ID: <mm7-soap> 

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> 
    <env:Header> 
    <mm7:TransactionID xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-2" env:mustUnderstand="1">1348056868070-1-</mm7:TransactionID> 
    </env:Header> 
    <env:Body> 
    <mm7:SubmitReq xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-2"> 
     <mm7:MM7Version>5.3.0</mm7:MM7Version> 
     <mm7:SenderIdentification> 
     <mm7:VASPID>Ejada</mm7:VASPID> 
     <mm7:VASID>Ejada</mm7:VASID> 
     </mm7:SenderIdentification> 
     <mm7:Recipients> 
     <mm7:To> 
      <mm7:Number>1111</mm7:Number> 
     </mm7:To> 
     </mm7:Recipients> 
     <mm7:MessageClass>INFORMATIONAL</mm7:MessageClass> 
     <mm7:DeliveryReport>true</mm7:DeliveryReport> 
     <mm7:Subject>Allah Akbar</mm7:Subject> 
     <mm7:Content href="cid:mm7-content" /> 
    </mm7:SubmitReq> 
    </env:Body> 
</env:Envelope> 
--==MM7-SOAP==5474f579-afe1-4b23-b8e2-0b162f89fd94 
Content-Type: multipart/related; start="<smil>"; type="application/smil"; boundary="==Multipart==7f92313b-8941-4e9e-8ea6-a0838d80e63b" 
Content-ID: <mm7-content> 

--==Multipart==7f92313b-8941-4e9e-8ea6-a0838d80e63b 
Content-Type: application/smil 
Content-ID: <smil> 
Content-Transfer-Encoding: 7bit 

<smil> 
    <head> 
     <layout> 
      <root-layout height="80" width="101"/> 
      <region fit="hidden" height="50%" id="Text" left="0%" top="0%" width="100%"/> 
      <region fit="hidden" height="50%" id="Image" left="0%" top="50%" width="100%"/> 
     </layout> 
    </head> 
    <body> 
     <par dur="5000ms"> 
     <img region="Image" src="cid:image"/> 
     <text region="Text" src="cid:text"/> 
     </par> 
    </body> 
</smil> 
--==Multipart==7f92313b-8941-4e9e-8ea6-a0838d80e63b 
Content-Type: image/jpeg 
Content-ID: <image> 
Content-Transfer-Encoding: 8bit 

<skipped binary content> 
--==Multipart==7f92313b-8941-4e9e-8ea6-a0838d80e63b-- 
--==MM7-SOAP==5474f579-afe1-4b23-b8e2-0b162f89fd94--