On some questions here on SOverflow I found THIS. But it says that it is not avaiable at the moment and probably it will never get avaiable.
Based on THIS I realised that there is no need on building my own SMS service.
So the question:
My java application has to send SMS messages to users and receive SMS messages from users. Do I really need to pay some SMS gateway or is there some free SMS GATEWAY (with some limitations ofcourse) that I could use to test my application?
Simplewire Kit looks really simple but the demo examples are failing because I don' have Simplewire account. Simplewire documentation says that there is a 30-day trial for sending SMS. But this is for two way:
"For 2-Way, demo credits are not available because you will need your own mobile number hosted on Simplewire’s Network. Simplewire supports 2-Way numbers for many different countries and area codes. Please contact Simplewire for more information."
FYI Simplewire is now OpenMarket.com/MXTelecom.com
There are a couple of free SMS gateways but they all attach a SMS ad in your message to pay for the cost. ZeepMobile is the one I hear about the most. As for paying there are a couple of solution but this all depends on your needs.
Two way communication would require the end user to subscribe to your service. There are a few ways to approach this:
Short Code: you could get your own (www.openmarket.com) or share with others (www.clickatell.com) You could use a new service www.twilio.com looks to be good but haven't tested it yet.
If one way communication is all you need you could so something like email to gateway sms but then you would need to know the carrier the end user is on.