I am creating a SOAP request to MMSC for posting DRM content (.dm file which is a 3gp video).
I am using Saaj API for the same. The MMSC to which I sending the request to says that they need the SOAP request in the following format as its a 3gpp standards for submitting the SOAP request for a VASP.
POST / HTTP/1.1
Content-Type: multipart/related; boundary="XXX123456789PQR"; type=text/xml; start="<dna_003_mm7type>"
Content-Length: 14636
SOAPAction: ""
--XXX123456789PQR
Content-Type: text/xml; charset="utf-8"
Content-ID: <dna_003_mm7type>
<?xml version='1.0' ?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelop/">
<env:Header>
<mm7:TransactionID xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0"
env:mustUnderstand="1">dna_vasp_003</mm7:TransactionID>
</env:Header>
<env:Body>
<SubmitReq xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-3">
<MM7Version>5.6.0</MM7Version>
<SenderIdentification>
<VASPID>2222</VASPID>
<VASID>company</VASID>
</SenderIdentification>
<Recipients>
<To>
<Number>xxxxxxx</Number>
</To>
</Recipients>
<ServiceCode>gold-sp33-im42</ServiceCode>
<LinkedID>123456789</LinkedID>
<MessageClass>Informational</MessageClass>
<TimeStamp>2004-03-12T9:30:47-05:00</TimeStamp>
<EarliestDeliveryTime>2004-03-12T09:30:47-05:00</EarliestDeliveryTime>
<ExpiryDate>8400</ExpiryDate>
<DeliveryReport>true</DeliveryReport>
<ReadReply>true</ReadReply>
<ReplyCharging>true</ReplyCharging>
<replyDeadline>2004-05-12T9:30:47-05:00</replyDeadline>
<replyChargingSize>9198</replyChargingSize>
<Priority>Normal</Priority>
<Subject>News for today</Subject>
<ChargedParty>Sender</ChargedParty>
<DistributionIndicator>true</DistributionIndicator>
<Content href="cid:XYSFGA-135" allowAdaptations="true"/>
</SubmitReq>
</env:Body>
</env:Envelope>
--XXX123456789PQR
Content-Type: multipart/mixed; boundary="company"
--company
Content-Type: application/vnd.oma.drm.message; boundary="drm-boundary-409B8BD9"
Content-ID: base64_4.dm
Content-Location: base64_4.dm
--drm-boundary-409B8BD9
Content-Type: image/jpeg; name=scen2.jpg
Content-Location: scen2.jpg
Content-Transfer-Encoding: base64
/9j/4AAQSkZJRgABAAEAqgCqAAD//gAfTEVBRCBUZWNobm9sb2dpZXMgSW5j
LiBWMS4wMQD/2wCEABUODxIPDRUSERIXFhUZHzQiHx0dH0AuMCY0TENQT0tD
SUhUX3lmVFlyW0hJaY9qcn2Bh4mHUWWVn5OEnnmFh4IBFhcXHxsfPiIiPoJX
SVeCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKC
goKCgoKCgv/EAaIAAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKCwEAAwEB
AQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEAACAQMDAgQDBQUEBAAAAX0BAgMA
BBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygp
KjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaH
/9k=
--drm-boundary-409B8BD9--
--compa开发者_StackOverflow中文版ny--
--XXX123456789PQR--
Can anyone pls suggest me what I need to do to send different MIME type for a single file attachment. Are there any Java API available to create such requests??? As using SAAJ, I am only to attach one MIME-TYPE for single attachment.
Are you sure you want to deliver .dm encoded files over MMS? DM is used for Separate-Delivery protection method and a handset will need to purchase and download rights in another transaction before content can be viewed. I'm pretty sure that a lot of handset doesn't even support it.
I had more success with MMS and DRM by simply using Forward-Lock protection. To use it, just wrap around a forward lock container in MM7 request.
To generate all this in java see https://stackoverflow.com/a/21663398/3290316
精彩评论