You have to append the method name to the URL (/HelloWorld, for example) and specify method: "post" in your ajax call (if you want to use a POST request). Try this:
$.ajax({
    url: "http://10.0.2.2/SampleService/Service/HelloWorld.asmx/HelloWorld",
    method:"POST",
    dataType: "text",
    cache: false,
    crossDomain: true,
    timeout: 15000,
    success: function (rtndata) {
        alert('Got Success ::' + rtndata);
    },
    error: function (xhr, errorType, exception) {
        alert("Excep:: " + exception + "Status:: " + xhr.statusText);
    }
});
If you want to use GET as the request method, make sure you have this tags in your web.config file:
<system.web>
  <webServices>
    <protocols>
      <add name="HttpGet" />
      <add name="HttpPost" />
    </protocols>
  </webServices>
</system.web>
Also, you need to decorate the service method with the ScriptMethodAttribute:
[ScriptMethod(UseHttpGet = true)]
[WebMethod]
public string HelloWorld()
{
    return "Hello World";
}
The ajax call (method: "GET" is optional, as it is the default method for text):
$.ajax({
    url: "http://localhost:57315/helloworld.asmx/HelloWorld",
    method: "GET"
    dataType: "text",
    cache: false,
    crossDomain: true,
    timeout: 15000,
    success: function (rtndata) {
        alert('Got Success ::' + rtndata);
    },
    error: function (xhr, errorType, exception) {
        alert("Excep:: " + exception + "Status:: " + xhr.statusText);
    }
});
As you are using cache: false, probably you want to use the GET request:
Setting cache to false will only work correctly with HEAD and GET requests.
It works by appending "_={timestamp}" to the GET parameters.