Possible SoftwareSerial bug

Here's your problem:

  softwareSerial.begin(115200);

Don't expect SoftwareSerial to work above 38400 baud, if your device is picky about serial timing above 9600 baud. I even have a WiFi Bee (RN-XV from Roving Networks) that doesn't work with SoftwareSerial with 9600 baud but has absolutely no problem even with higher baud rates when connected to the hardware serial. The timing is different with the SoftwareSerial as you can check with a scope yourself. It has some random time slips which seem to be enough for those picky devices to not work correctly. If you need an debug interface over USB, take an Arduino Leonardo, it's handling the USB serial directly in the processor leaving the USART free for you to use.

If you don't wanna buy another Arduino, use the SoftwareSerial for debugging and the hardware USART for the device connection. You just need a USB2Serial device like an FTDI cable or an Arduino USB2Serial Light adapter.