android如何改造到 WCF 开机自检service

标签: WCF Android
发布时间: 2016/10/10 20:58:29
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我研究了很多页,但什么都不能回答我。 这里是我的代码android

RaceAPI.java

@FormUrlEncoded
@POST("/Service1.svc/GetData1")
void GetData1(@Field("title") List<String> m, Callback<String> cb);

这是我如何发布数据

  RestAdapter adapter = new RestAdapter.Builder()
            .setEndpoint("http://10.0.1.12:54253/")
            .build();
    final RaceAPI  race= adapter.create(RaceAPI.class);
    race.PostData(Arrays.asList("foo", "bar"), new Callback<String>() {
        @Override
        public void success(String s, Response response) {

        }

        @Override
        public void failure(RetrofitError error) {
            int a;
            a=1;
        }
    });

这是我的 WCF servicesignature

            [OperationContract]
            [WebInvoke(Method = "POST",
            ResponseFormat = WebMessageFormat.Json,
            RequestFormat = WebMessageFormat.Json,
            BodyStyle = WebMessageBodyStyle.Wrapped,
            UriTemplate = "/PostData")]
            String PostData(List<String> m);

但我在收到此错误 Android 在改造回调 failure()

改造。RetrofitError: 400 错误的请求

任何帮助将不胜感激 !

解决方法 1:

事实上我曾与一些改造界面中的更改。

添加到接口中的方法声明的标题属性。

@Headers("Content-Type:application/json")
@POST("/Service1.svc/PostData")
void PostData(@Body SpeechModel m, Callback<SpeechModel> cb);

我做了要传递与界面的正文中绑定数据。(我删除 @FormUrlEncoded)

我做了自定义的类来发送和从服务器中检索。我不能发送作为字符串或字符串数组 (可能有硫磺。 找不到它.)

   SpeechModel m = new SpeechModel();
        m.setSpeechId(5);
        m.setSpeechText("something");
        race.PostData(m, new Callback<SpeechModel>() {
            @Override
            public void success(SpeechModel PostDataResult, Response response) {

            }

            @Override
            public void failure(RetrofitError error) {
                int a;
                a=1;
            }
        });

WCF service signature ,改变参数 type 和返回 type

  [OperationContract]
  [WebInvoke(Method = "POST",            
  RequestFormat = WebMessageFormat.Json,
  ResponseFormat = WebMessageFormat.Json,
  BodyStyle= WebMessageBodyStyle.Wrapped,
  UriTemplate = "/PostData")]
  SpeechModel PostData(SpeechModel m);
官方微信
官方QQ群
31647020