не смог получить ответ за веб-сервис даже у почтальона - PullRequest
0 голосов
/ 28 мая 2018

Я реализую веб-сервисы .svc, но не смог добиться успеха в ответ.Пожалуйста, дайте мне знать, что проблема

URL веб-службы: http://77.92.177.131/Focus8Library/TransactionService.svc/LoadVoucher

, и мы должны отправить json input:

json is:

"{
  ""iVoucherType"": 5635,
  ""sVoucherNo"": ""101973"",
  ""objLoadTrans"": {
    ""arrBodyIds"": null,
    ""arrBodyNames"": [
      ""Product"",
      ""Description"",
      ""Unit"",
      ""Quantity"",
      ""L-Sales Quotations"",
      ""Rate"",
      ""Gross"",
      ""Discount Amt"",
      ""Discount %"",
      ""sRemarks""
    ],
    ""arrFooterIds"": null,
    ""arrFooterNames"": [
      ""Scheme Discount"",
      ""Round Off"",
      ""Card Charges"",
      ""Special Discount""
    ],
    ""arrHeaderIds"": null,
    ""arrHeaderNames"": [
      ""sVoucherNo"",
      ""Date"",
      ""CustomerAC"",
      ""Currency"",
      ""Outlet"",
      ""Salesman"",
      ""Cost Center"",
      ""sNarration"",
      ""Delivery_Address"",
      ""Delivery_Terms"",
      ""Pay_Terms"",
      ""LPONo""
    ]
  },
  ""bByIds"": ""false""
}"                  

мы должны отправить fsessionid - должны быть добавлены в заголовок запроса

session id is :==>> 280520188522077721

1 Ответ

0 голосов
/ 28 мая 2018

Я использую Volley JsonObjectRequest, и моя модель анализируется с помощью библиотеки Gson.Я также реализовал веб-сервис WCF.

[WebInvoke(Method = "POST",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
UriTemplate = "simplePostExample", BodyStyle = WebMessageBodyStyle.Bare)]

Test simplePostExample(Test test);

Тест - это пользовательский объект.

он отлично работает в моем сценарии.

public class CustomJsonRequest extends JsonRequest<T> {

        private Class<T> mType;
        private String mEncodedCharSetProtocol = "utf-8";

        CustomJsonRequest(int method, String url, Class<T> type, JSONObject jsonRequest,
                      Response.Listener<T> listener, Response.ErrorListener errorListener) {
            super(method, url, (jsonRequest == null) ? null : jsonRequest.toString(), listener,
                    errorListener);
            this.mType = type;
        }


        @Override
        protected Response<T> parseNetworkResponse(NetworkResponse response) {
            try {
                String parsed;
                try {
                    if (mEncodedCharSetProtocol != null) {
                        parsed = new String(response.data, mEncodedCharSetProtocol);
                    } else {
                        parsed = new String(response.data,
                                HttpHeaderParser.parseCharset(response.headers));
                    }
                } catch (UnsupportedEncodingException e) {
                    parsed = new String(response.data);
                }
                Gson gson = new Gson();
                return Response.success(gson.fromJson(parsed, mType),HttpHeaderParser.parseCacheHeaders(response));
            } catch (Throwable e) {
                return Response.error(new ParseError(e));
            }
        }
    }

Также включает библиотеку Gson

implementation 'com.google.code.gson:gson:2.8.2'

Надеюсь, это сработает.

...