Android Java - 使用Post Request调用WCF Rest Webservice

时间:2016-04-14 09:13:47

标签: android rest post request webservices-client

我已经厌倦了转向看起来如此简单的东西,但它不会给所有论坛和tututiais提供并且已经搜索过。

我想在android中通过POST请求调用WCF Rest WebService。

在c#中我可以做到,发送帖子,网址和“身体参数”。“

但是在android(java)发送参数时,webservice方法(虽然我无法连接),dizme认为数据始终无效。

我到目前为止的代码就是这个,这是主要的连接方法:

public void LoginWS(final String urlWS, final String user) throws Exception 
{
    Thread thread = new Thread(new Runnable() {
        @Override
        public void run() 
        {
            try 
            {
               //urlWS ="http://mywebsite/webservicename.svc/rest/methodnamePost";

                String inputCoded = Base64.encodeToString(user.getBytes("UTF-8"), Base64.NO_WRAP);
                HttpURLConnection request = (HttpURLConnection) new URL(urlWS).openConnection();

                try {
                    request.setDoOutput(true);
                    request.setDoInput(true);
                    request.setRequestProperty("Content-Type", "application/json");
                    request.setRequestMethod("POST");                        
                    request.connect();

                    InputStream is = request.getInputStream();
                    String resp = convertStreamToString(is);
                    byte[] data = Base64.decode(resp, Base64.NO_WRAP);
                    response = new String(data, "UTF-8");

                    is.close();


                } finally {
                    request.disconnect();
                }
            }
            catch (Exception ex)
            {
                ex.printStackTrace();
            }
        }
    });

    thread.start();
}

在Web服务端,方法签名是:

[OperationContract]
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json,      ResponseFormat = WebMessageFormat.Json)]
string methodnamePost(string input);

如果有人可以帮助我了解如何发送POST请求sending parameters without a name会很棒。

0 个答案:

没有答案