Error while sending information through POST WS

34 views
Skip to first unread message

Mario Barón

unread,
Oct 29, 2015, 5:31:49 PM10/29/15
to CodenameOne Discussions
Hey guys,


I'm suddenly getting an error that I was getting about a year ago which is reported in this discussion post. But this time I am using the solution specified there by using the bui9ld request body method:

protected void buildRequestBody(OutputStream os) throws IOException {

           
if(shouldWriteUTFAsGetBytes()) {
                os
.write(payload.toString().getBytes("UTF-8"));
           
} else {
               
OutputStreamWriter w = new OutputStreamWriter(os, "UTF-8");
                w
.write(payload.toString());
           
}
   
}

 What could causing this problem? it is also somnething quite recent it seems, it may be due to something you did server side, maybe?

Please  I appreciate your fast response to this matter as it is quite urgent to solve this.

Shai Almog

unread,
Oct 30, 2015, 2:36:06 AM10/30/15
to CodenameOne Discussions
Hi,
under which OS?
Does this happen in the simulator/device and which block is executed?

Mario Barón

unread,
Oct 30, 2015, 10:33:06 AM10/30/15
to CodenameOne Discussions
Hey Shai,

this is happenning on Android, this is not happenning on the simulator. The app is going through the shouldWriteUTFAsGetBytes() == true block of the If.

Shai Almog

unread,
Oct 31, 2015, 12:49:00 AM10/31/15
to CodenameOne Discussions
Hi,
what do you see in the network monitor?
If you write the bytes to a file and compare the binary file with the one produced in the simulator how do they differ?

Mario Barón

unread,
Nov 3, 2015, 9:39:50 AM11/3/15
to CodenameOne Discussions
Hey Shai,

both files appear to be the same but the one on the device seems to be cut short. The JSON file I'm getting is something like this:

on the device:

{
   "List": [
     {
       "name": "name",
      "File": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB\nAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEB\nAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAK2AggDASIA\nAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA\nAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3\nODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm\np6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA\nAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx\nBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK\nU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3\nuLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD8M/26\nfHur/DfwNYaNZ6nc6XruvXiqjWkrQ3KWFpJ5ssiSI6yQ73EMZkXDOsjxbyd61+R9t8cfi3ZMTa/E\nDxNFuARv+JvetvUFgqnfMwCgqm1Qu1cEYAO4/UP/AAUR+KsHxI+PviCx0u48zR/CDN4eszHMGha4\ns2ddQli2yOpDXrTgyrkyIEbkFc+Mfsjfs0+LP2tfj34F+B3hKX7Hf+M9WisJ9Xazubu00eyJLXeq\n3cVuDMbOxgV55ynzYVUUGR40P87eDXB2X4Lw5ynEZ3k2Eq47McMsxxNOrg6dWpD6wuelSSnCUnJU\n7Jxv8Tturv47g7hzDvLaFOrhaFWtipKrz16cWoRk7pylJXjCMU5S3srvVrXM0/8Aae+PNgS1v8Rv\nEPmEhjvuFk5BKqGWeN1cDCnBBwdrj50LV1C/tiftDopB+IWpOUVQWe300lyrNkkCzGG4G7oSpYAA\nszH+hC4/4NgfidHFnT/2k/Alw4bH+k+G/EVsu0iQghhFKzNxgowVdzECQMpauL1H/g2U/aIh8w6b\n8bfhZdLyMTjxJAXYM4G3doz7crnIGeSPnJXFfZ1uHOBarlKtwZh21vKeQ03JpvT3o0W1pF/K7a2v\n9n/qblVWMmq3Drs/heMpxle9lpKlG2y67uN273PwpH7Y37QXllX8c3Dgg7ybOwAYFnIJCW6gkFht\nznAUAfIqg6GnftsfHiwlMi+JorjDBmSawtGQjcwIZBECVOcbQwwSx6nJ+8P2x/8Agir8ef2Lvgxq\nXxq8f/EP4Zap4fs9XsdGGm6Pq2pnWb28vEvXiWwtbzRbVbk7bVnkijl81IiZXUCJyfxUlVkkZVB6\n4/hxnJC/xEkHjB56nAAGTpheBOAMxo1XHhTLYwTtKNXLIUG3Fr7EoQdtXaSfKndXu2eViuFsow9X\n2U8Hl1aXKpKeGnTrU7N2s502+V6NuL967T0e/wCqv7Nv7VXxz+KHxO0Xw1dS2Gp2FxIW1KOOzELR\n2UbM084kEyhRb
    }
  ],
  "User": "user",
  "Password": "pass"
}

while on the simulator it is something like this:

{
   "List": [
     {
       "name": "name",
      "File": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB\nAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEB\nAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAK2AggDASIA\nAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA\nAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3\nODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm\np6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA\nAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx\nBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK\nU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3\nuLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD8M/26\nfHur/DfwNYaNZ6nc6XruvXiqjWkrQ3KWFpJ5ssiSI6yQ73EMZkXDOsjxbyd61+R9t8cfi3ZMTa/E\nDxNFuARv+JvetvUFgqnfMwCgqm1Qu1cEYAO4/UP/AAUR+KsHxI+PviCx0u48zR/CDN4eszHMGha4\ns2ddQli2yOpDXrTgyrkyIEbkFc+Mfsjfs0+LP2tfj34F+B3hKX7Hf+M9WisJ9Xazubu00eyJLXeq\n3cVuDMbOxgV55ynzYVUUGR40P87eDXB2X4Lw5ynEZ3k2Eq47McMsxxNOrg6dWpD6wuelSSnCUnJU\n7Jxv8Tturv47g7hzDvLaFOrhaFWtipKrz16cWoRk7pylJXjCMU5S3srvVrXM0/8Aae+PNgS1v8Rv\n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"
    }
  ],
  "User": "user",
  "Password": "pass"
}


Shai Almog

unread,
Nov 3, 2015, 10:50:01 PM11/3/15
to CodenameOne Discussions
Hi,
it should work pretty well. Both the simulator and Android would use the getBytes() method which should produce exactly the same result.
Maybe Chen has an idea.
Reply all
Reply to author
Forward
0 new messages