Error in MM7

Error in MM7 SearchSearch
Author Message
Rafael Vasquez
New member
Username: Rvasquez

Post Number: 9
Registered: 04-2004
Posted on Monday, September 27, 2004 - 07:36 pm:   

Hello, I try to send mms message throw the http, when I see the logs in MMSCDEBUG file my code:

14:09:54:109 [7] ThreadProcessConnection: Processing connection from 172.16.129.100...
14:13:13:796 [7] ProcessRead: Received 1300 bytes - incomplete HTTP request
14:13:13:796 [7] ProcessRead: POST /mm7 HTTP/1.1
Host: mms.orangemi
Content-Type: multipart/related; boundary="NextPart_000_0028_01C19839.84698430"; type=text/xml; start="<MM_7>"
Content-Length: 3333
Connection: close
SOAPAction: ""

Content-Type:text/xml; charset="utf-8"
Content-ID: <MM_7>

<?xml version="1.0"?>
<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-M M7-1-3" env:mustUnderstand="1">
vas00001-sub
</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.3.0</MM7Version>
<SenderIdentification>
<VASPID>vasp</VASPID>
<VASID>vasp</VASID>
</SenderIdentification>
<Recipients>
<To>
<Number>+18098451458</Number>
</To>
</Recipients>
<MessageClass>Informational</MessageClass>
<ExpiryDate>P90D</ExpiryDate>
<DeliveryReport>true</DeliveryReport>
<Priority>normal</Priority>
<Subject>News for MMS today</Subject>
<ChargedParty>Sender</ChargedParty>
<DistributionIndicator>true</DistributionIndicator>
</SubmitReq>
</env:Body>
</env:Envelope>

Content-Type: text/plain; charset="us-ascii"

news of mms, tras el Oro...
14:13:13:796 [7] ThreadProcessConnection: Processing Complete

What is the error ?
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 3458
Registered: 10-2002
Posted on Monday, September 27, 2004 - 09:45 pm:   

Hi Rafael,

NowSMS is complaining because it received an incomplete HTTP request.

Translating from geek speek to english, what this means is that the HTTP request that was received was not a valid HTTP request.

In this case, it logged that it received 1300 bytes, but you can see that the "Content-Length:" header indicates 3333 bytes of content.

So something is definitely amiss with the size of the request and the amount of data that was actually sent.

Also, I notice that the boundary separators seem to be missing within the actual content.

-bn
Rafael Vasquez
New member
Username: Rvasquez

Post Number: 10
Registered: 04-2004
Posted on Monday, September 27, 2004 - 11:31 pm:   

Hi Bryce,
I have been making some tests with one example of the page:

POST /mm7 HTTP/1.1
Host:mms.orangemi
Content-type: multipart/related; boundary="mime-boundary-9106e770-0352-4af3-b26d-13ccb6fe1231";type=text/xml; start="<MM_7>"
Content-Length: 24280
Connection: close
SOAPAction: ""

--mime-boundary-9106e770-0352-4af3-b26d-13ccb6fe1231
Content-type: text/xml; charset=utf-8
Content-ID: <MM_7>

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:clr="http://schemas.microsoft.com/soap/encoding/clr/1.0" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Header>
<h3:TransactionID xsi:type="SOAP-ENC:string" SOAP-ENV:mustUnderstand="1" xmlns:h3="MM7" SOAP-ENC:root="1">20031028/11/C72C9123@nowsms.no-ip.com</h3:TransactionID>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<a1:SubmitReq id="ref-1" xmlns:a1="http://schemas.microsoft.com/clr/nsassem/MM7SDK/MM7SDK">
<MM7Version>5.6.0</MM7Version>
<Recipients>
<To>+18098451458</To>
<Cc></Cc>
<Bcc></Bcc>
</Recipients>
<DeliveryReport>true</DeliveryReport>
<ReadReply>true</ReadReply>
<Priority>high</Priority>
<Subject>MMS subject</Subject>
<Content href="cid:mms_cid" />
</a1:SubmitReq>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>


--mime-boundary-9106e770-0352-4af3-b26d-13ccb6fe1231
Content-type: multipart/related; start=<20048>; type=application/smil; boundary="mime-boundary-8ef76ef2-6b83-4b8c-abd7-eb3db8a42649"
Content-ID: <mms_cid>

--mime-boundary-8ef76ef2-6b83-4b8c-abd7-eb3db8a42649
Content-type: application/smil; name="mysmil.smil"
Content-ID: <20048>

<smil>
<head>
<meta name="CopyRight" content="MObile Technologies"/>
<layout>
<root-layout width="200%" height="200%"/>
<region id="defaultImage" width="100%" height="50%" left="0" top="0" fit="fill"/>
<region id="defaultText" width="100%" height="50%" left="0" top="50%" fit="hidden"/>
</layout>
</head>
<body>
<par dur="2000ms">
<img src="1234.bmp" ></img>
<text src="1.txt"></text>
</par>
</body>
</smil>


--mime-boundary-8ef76ef2-6b83-4b8c-abd7-eb3db8a42649
Content-type: text/plain; charset="us-ascii"; name="1.txt"
Content-location: 1.txt

ertert


--mime-boundary-8ef76ef2-6b83-4b8c-abd7-eb3db8a42649
Content-type: image/bmp; name="1234.bmp"
Content-location: 1234.bmp
Content-Transfer-Encoding: base64

But it's not working for me... this is what I see in the debug:

18:06:18:671 [7] ThreadProcessConnection: Processing connection from 172.16.129.100...
18:09:30:953 [7] ProcessRead: Received 2513 bytes - incomplete HTTP request
18:09:30:953 [7] ProcessRead: POST /mm7 HTTP/1.1
Host:mms.orangemi
Content-type: multipart/related; boundary="mime-boundary-9106e770-0352-4af3-b26d-13ccb6fe1231";type=text/xml; start="<MM_7>"
Content-Length: 24280
Connection: close
SOAPAction: ""

--mime-boundary-9106e770-0352-4af3-b26d-13ccb6fe1231
Content-type: text/xml; charset=utf-8
Content-ID: <MM_7>

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:clr="http://schemas.microsoft.com/soap/encoding/clr/1.0" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Header>
<h3:TransactionID xsi:type="SOAP-ENC:string" SOAP-ENV:mustUnderstand="1" xmlns:h3="MM7" SOAP-ENC:root="1">20031028/11/C72C9123@nowsms.no-ip.com</h3:TransactionID>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<a1:SubmitReq id="ref-1" xmlns:a1="http://schemas.microsoft.com/clr/nsassem/MM7SDK/MM7SDK">
<MM7Version>5.6.0</MM7Version>
<Recipients>
<To>+18098451458</To>
<Cc></Cc>
<Bcc></Bcc>
</Recipients>
<DeliveryReport>true</DeliveryReport>
<ReadReply>true</ReadReply>
<Priority>high</Priority>
<Subject>MMS subject</Subject>
<Content href="cid:mms_cid" />
</a1:SubmitReq>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>


--mime-boundary-9106e770-0352-4af3-b26d-13ccb6fe1231
Content-type: multipart/related; start=<20048>; type=application/smil; boundary="mime-boundary-8ef76ef2-6b83-4b8c-abd7-eb3db8a42649"
Content-ID: <mms_cid>

--mime-boundary-8ef76ef2-6b83-4b8c-abd7-eb3db8a42649
Content-type: application/smil; name="mysmil.smil"
Content-ID: <20048>

<smil>
<head>
<meta name="CopyRight" content="MObile Technologies"/>
<layout>
<root-layout width="200%" height="200%"/>
<region id="defaultImage" width="100%" height="50%" left="0" top="0" fit="fill"/>
<region id="defaultText" width="100%" height="50%" left="0" top="50%" fit="hidden"/>
</layout>
</head>
<body>
<par dur="2000ms">
<img src="1234.bmp" ></img>
<text src="1.txt"></text>
</par>
</body>
</smil>


--mime-boundary-8ef76ef2-6b83-4b8c-abd7-eb3db8a42649
Content-type: text/plain; charset="us-ascii"; name="1.txt"
Content-location: 1.txt

ertert


--mime-boundary-8ef76ef2-6b83-4b8c-abd7-eb3db8a42649
Content-type: image/bmp; name="1234.bmp"
Content-location: 1234.bmp
Content-Transfer-Encoding: base64
18:09:30:953 [7] ThreadProcessConnection: Processing Complete
18:09:58:312 [7] ThreadProcessConnection: Processing connection from 172.16.129.248...
18:09:58:312 [7] ThreadProcessConnection: Packet Length is 163 bytes
18:09:58:312 [7] ThreadProcessConnection: 47 45 54 20 2F 20 48 54 54 50 2F 31 2E 31 0D 0A GET / HTTP/1.1
18:09:58:312 [7] ThreadProcessConnection: 43 6F 6E 6E 65 63 74 69 6F 6E 3A 20 6B 65 65 70 Connection: keep
18:09:58:312 [7] ThreadProcessConnection: 2D 61 6C 69 76 65 0D 0A 44 61 74 65 3A 20 4D 6F -alive Date: Mo
18:09:58:312 [7] ThreadProcessConnection: 6E 2C 20 32 37 20 53 65 70 20 32 30 30 34 20 32 n, 27 Sep 2004 2
18:09:58:312 [7] ThreadProcessConnection: 32 3A 30 36 3A 34 33 20 47 4D 54 0D 0A 41 63 63 2:06:43 GMT Acc
18:09:58:312 [7] ThreadProcessConnection: 65 70 74 3A 20 2A 2F 2A 0D 0A 41 63 63 65 70 74 ept: */* Accept
18:09:58:312 [7] ThreadProcessConnection: 2D 43 68 61 72 73 65 74 3A 20 75 74 66 2D 38 0D -Charset: utf-8
18:09:58:312 [7] ThreadProcessConnection: 0A 48 6F 73 74 3A 20 31 37 32 2E 31 36 2E 31 32 Host: 172.16.12
18:09:58:312 [7] ThreadProcessConnection: 39 2E 31 30 30 0D 0A 55 73 65 72 2D 41 67 65 6E 9.100 User-Agen
18:09:58:312 [7] ThreadProcessConnection: 74 3A 20 4A 69 67 73 61 77 2F 32 2E 30 2E 35 0D t: Jigsaw/2.0.5
18:09:58:312 [7] ThreadProcessConnection: 0A 0D 0A
18:09:58:312 [7] ThreadProcessConnection: HTTP/1.0 404 Not Found
Connection: close


18:09:58:312 [7] ThreadProcessConnection: Processing Complete
18:11:04:375 [7] ThreadProcessConnection: Processing connection from 172.16.129.248...
18:11:04:375 [7] ThreadProcessConnection: Packet Length is 167 bytes
18:11:04:375 [7] ThreadProcessConnection: 47 45 54 20 2F 78 6D 6C 64 61 74 61 3F 69 74 65 GET /xmldata?ite
18:11:04:375 [7] ThreadProcessConnection: 6D 3D 48 50 49 4D 4C 69 63 65 6E 73 65 4B 65 79 m=HPIMLicenseKey
18:11:04:375 [7] ThreadProcessConnection: 20 48 54 54 50 2F 31 2E 31 0D 0A 43 6F 6E 6E 65 HTTP/1.1 Conne
18:11:04:375 [7] ThreadProcessConnection: 63 74 69 6F 6E 3A 20 6B 65 65 70 2D 61 6C 69 76 ction: keep-aliv
18:11:04:375 [7] ThreadProcessConnection: 65 0D 0A 44 61 74 65 3A 20 4D 6F 6E 2C 20 32 37 e Date: Mon, 27
18:11:04:375 [7] ThreadProcessConnection: 20 53 65 70 20 32 30 30 34 20 32 32 3A 30 37 3A Sep 2004 22:07:
18:11:04:375 [7] ThreadProcessConnection: 34 39 20 47 4D 54 0D 0A 41 63 63 65 70 74 3A 20 49 GMT Accept:
18:11:04:375 [7] ThreadProcessConnection: 2A 2F 2A 0D 0A 48 6F 73 74 3A 20 31 37 32 2E 31 */* Host: 172.1
18:11:04:375 [7] ThreadProcessConnection: 36 2E 31 32 39 2E 31 30 30 0D 0A 55 73 65 72 2D 6.129.100 User-
18:11:04:375 [7] ThreadProcessConnection: 41 67 65 6E 74 3A 20 4A 69 67 73 61 77 2F 32 2E Agent: Jigsaw/2.
18:11:04:375 [7] ThreadProcessConnection: 30 2E 35 0D 0A 0D 0A 0.5
18:11:04:390 [7] ThreadProcessConnection: HTTP/1.0 404 Not Found
Connection: close


18:11:04:390 [7] ThreadProcessConnection: Processing Complete


I can't make it work, any ideas??
Thanks for your help!!
Rafael
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 3468
Registered: 10-2002
Posted on Tuesday, September 28, 2004 - 08:19 pm:   

Did you include the base64 data from the BMP in the POST?

The "Content-Length:" header indicates that there are 24280 bytes of data that follow the HTTP header.

The NowSMS debug log shows that it received 2513 bytes of data (which includes the HTTP header).

So obviously, the request is incomplete. NowSMS is expecting a good 20000+ more bytes of data.

Since you seem to be struggling so much on the format, I'll send a test message on my system, intercept it, and post here.

POST /mm7/account=password HTTP/1.1
SOAPAction: ""
Content-Length: 1453
Content-Type: multipart/related; boundary="---mime-boundary-C33C1AC0.05DAD141---"; type="text/xml"; start="<mm7_msg>"
Connection: close

-----mime-boundary-C33C1AC0.05DAD141---
Content-Type: text/xml; charset=utf-8
Content-ID: <mm7_msg>

<?xml version="1.0" ?>
<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">
20040928150228-BF5F3EFF@nowsms.no-ip.com </mm7:TransactionID>
</env:Header>
<env: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>
<SenderAddress>
<Number>123456789</Number>
</SenderAddress>
</SenderIdentification>
<Recipients>
<To>
<Number>+9999999999</Number>
</To>
</Recipients>
<Priority>Normal</Priority>
<DeliveryReport>False</DeliveryReport>
<ReadReply>False</ReadReply>
<Subject>test message</Subject>
<Content href="cid:mms_cid"/>
</SubmitReq>
</env:Body>
</env:Envelope>

-----mime-boundary-C33C1AC0.05DAD141---
Content-Type: multipart/mixed; boundary="---mime-boundary-1BCAF282.58E80E83---"
Content-ID: <mms_cid>

-----mime-boundary-1BCAF282.58E80E83---
Content-Type: text/plain
Content-ID: <415844D0.txt>
Content-location: 415844D0.txt

this is a test
-----mime-boundary-1BCAF282.58E80E83-----

-----mime-boundary-C33C1AC0.05DAD141-----

The above has only a text part of the MMS message. So it is overly simplistic. But you can post it through Telnet and see that it works (subject to authentication issues).


Your latest examples seem fine, but they get to the header for the BMP file and just stop ... I don't know what word to use other than "incomplete".
Rafael Vasquez
New member
Username: Rvasquez

Post Number: 12
Registered: 04-2004
Posted on Tuesday, September 28, 2004 - 10:02 pm:   

Hello Bryce,

Sorry for create a new disscusion.

I put the correct content lenght in my file this the new log when I submit by Telnet:


16:34:41:484 [7] ThreadProcessConnection: Processing connection from 172.16.129.100...
16:38:08:671 [7] ProcessRead: Received 1493 bytes - incomplete HTTP request
16:38:08:671 [7] ProcessRead: POST /mm7 HTTP/1.1
Host: mms.orangemi
Content-Type: multipart/related; boundary="NextPart_000_0028_01C19839.84698430"; type=text/xml; start="<MM_7>"
Content-Length: 1493
Connection: close
SOAPAction: ""

Content-Type:text/xml; charset="utf-8"
Content-ID: <MM_7>

<?xml version="1.0"?>
<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-M M7-1-3" env:mustUnderstand="1">
vas00001-sub
</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.3.0</MM7Version>
<SenderIdentification>
<VASPID>vasp</VASPID>
<VASID>vasp</VASID>
</SenderIdentification>
<Recipients>
<To>
<Number>+18098451458</Number>
</To>
</Recipients>
<MessageClass>Informational</MessageClass>
<ExpiryDate>P90D</ExpiryDate>
<DeliveryReport>true</DeliveryReport>
<Priority>normal</Priority>
<Subject>News for MMS today</Subject>
<ChargedParty>Sender</ChargedParty>
<DistributionIndicator>true</DistributionIndicator>
</SubmitReq>
</env:Body>
</env:Envelope>

Content-Type: multipart/mixed; boundary="StoryParts-74526-8432-2002-77645"
Content-ID:<orange@mms.com> -->

Content-Type: text/plain; charset="us-ascii"
news of mms, tras el Oro...

Content-Type: image/gif
Content-ID:<1.gif>
Content-Transfer-Encoding: base64
16:38:08:671 [7] ThreadProcessConnection: Processing Complete


What do you think is the problem?
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 3496
Registered: 10-2002
Posted on Wednesday, September 29, 2004 - 09:20 pm:   

Rafael,

On the incomplete request issue, the "Content-Length:" header needs to specify the number of bytes that follow the HTTP header. That is to say, it should specify the number of bytes that follow the "SOAPAction:" header (or whatever your last HTTP header is).

So in this case, NowSMS is reporting that it received 1493 bytes, but the request is incomplete because it was expecting 1493 bytes to follow the HTTP header.

Note that in your example above, you are back to having the MIME boundaries missing from the content. And the data ends quite abruptly as there is no base64 encoded image data.