I am trying to replicate the Google App Engine Servlets module [here][1] using Retrofit instead of AsyncTask.
I find it odd, but apparently Retrofit 2.0 does not support connections to Google App Engine, as stated [here][2] in the issues of the GitHub repository. As a result, I am using Retrofit 1.9 and OkHttp 2.3 dependencies. I have created a project called "Retrofit Test" in the Google Developer Console, and Google has supplied me with a URL for the project: "http://retrofit-test-1203.appspot.com" with the subdomain as "http://retrofit-test-1203.appspot.com/hello. These will be my respective URL's for Retrofit. Below is my code: Gradle: apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.1" defaultConfig { applicationId "com.troychuinard.retrofittest" minSdkVersion 16 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.1.1' compile 'com.android.support:design:23.1.1' compile 'com.squareup.retrofit:retrofit:1.9.0' compile 'com.squareup.okhttp:okhttp:2.3.0' } MainActivity: public class MainActivity extends AppCompatActivity { //set the URL of the server, as defined in the Google Servlets Module Documentation private static String PROJECT_URL = "http://retrofit-test-1203.appspot.com"; private Button mTestButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); mTestButton = (Button) findViewById(R.id.test_button); //Instantiate a new UserService object, and call the "testRequst" method, created in the interface //to interact with the server mTestButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //Instantiate a new RestAdapter Object, setting the endpoint as the URL of the server RestAdapter restAdapter = new RestAdapter.Builder() .setEndpoint(PROJECT_URL) .setClient(new OkClient(new OkHttpClient())) .build(); UserService userService = restAdapter.create(UserService.class); userService.testRequest("Test_Name", new Callback<String>() { @Override public void success(String s, Response response) { Toast.makeText(getApplicationContext(), s, Toast.LENGTH_LONG).show(); } @Override public void failure(RetrofitError error) { Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_LONG).show(); } }); } }); } } UserService (Retrofit) public interface UserService { @POST("/hello") void testRequest(@Query("name") String name, Callback<String> cb); } My Servlet: public class MyServlet extends HttpServlet { @Override public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { resp.setContentType("text/plain"); resp.getWriter().println("Please use the form to POST to this url"); } @Override public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { String name = req.getParameter("name"); resp.setContentType("text/plain"); if(name == null) { resp.getWriter().println("Please enter a name"); } resp.getWriter().println("Hello " + name); } } As you can see, I have set the project up so that I make a server request on a button click. Similar to the Google App Engine Servlets module, I am expecting to receive a response from the Server, which I then display as a Toast that says "Hello + (whatever parameter entered into the .testRequest() method, which is "Test_Name" in this case. I am receiving the error below, any help/advice on my methodology is appreciated: [![enter image description here][3]][3] [1]: https://github.com/GoogleCloudPlatform/gradle-appengine-templates/tree/master/HelloWorld [2]: https://github.com/square/retrofit/issues/1149 [3]: http://i.stack.imgur.com/Y0ZTL.png -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/android-developers. To view this discussion on the web visit https://groups.google.com/d/msgid/android-developers/aeb03b59-2f14-43c1-bb73-f7f619094a83%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.

