0

我有返回字符串类型的 WCF 方法。

这是我的输出

{“Table1”:[{“TableName”:“LoadDistributor”,“Description”:“Distributor”,“MandatoryFlag”:“1”,“Status”:“”,“Priority”:“0”},{“TableName " : "LoadPrice","Description" : "Price ","MandatoryFlag" : "1","Status" : "","Priority" : "0"},{"TableName" : "LoadProduct","Description" : "Product ","MandatoryFlag" : "1","Status" : "","Priority" : "0"},{"TableName" : "LoadTradeSchemeDetail","Description" : "TradeSchemeDeta","MandatoryFlag" : “1”,“状态”:"","Priority" : "0"},{"TableName" : "RD.AlternativeProductDetail","Description" : "AltProdutDetail","MandatoryFlag" : "0","Status" : "","Priority" : "0"},{"TableName" : "RD.AlternativeProductHeader","Description" : "AltProdutHeader","MandatoryFlag" : "0","Status" : "","Priority" : "0"},{" TableName”:“RD.BatchPriceDetail”,“Description”:“BatchPrice”,“MandatoryFlag”:“1”,“Status”:“”,“Priority”:“0”},{“TableName”:“RD.Executive “,“描述” : ”执行 ","MandatoryFlag" : "1","Status" : "","Priority" : "0"},{"TableName" : "RD.Route","Description" : "Route","MandatoryFlag" : “1”,“状态”:“”,“优先级”:“0”},{“表名”:“RD.vwRetailer”,“描述”:“零售商”,“MandatoryFlag”:“1”,“状态” : "","Priority" : "0"},{"TableName" : "RD.vwRouteDetail","Description" : "RouteDetail ","MandatoryFlag" : "1","Status" : "","Priority" : "0"},{"TableName" : "XA.vwProductType","Description" : "品牌产品 C","MandatoryFlag" : "1","Status" : "","Priority" : "0"},{"TableName" : "XA.vwTown","Description" : "Town ","MandatoryFlag" : "1","状态" : "","优先级" : "0"}]}

这是我的肥皂处理方法

    // ksoap2 calling wcf
public SoapPrimitive soapPrimitive(String METHOD_NAME, String SOAP_ACTION, String NAMESPACE, String URL) throws IOException, XmlPullParserException {
    SoapPrimitive responses = null;
    SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); //set up request
    request.addProperty("strExec", "7067");
    request.addProperty("strBusinessUnit", "HEMA");
    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); //put all required data into a soap envelope
    envelope.dotNet = true;
    envelope.setOutputSoapObject(request);  
    AndroidHttpTransport httpTransport = new AndroidHttpTransport(URL);  
    httpTransport.debug = true; 

    try{

        Log.w("Log_cat" ,"*********" + envelope.toString());
        httpTransport.call(SOAP_ACTION, envelope);
        Log.w("log_tag", " ===========" +SOAP_ACTION );

        // Object result = (Object)envelope.getResponse();
        // JSONArray jArray = new JSONArray(result.toString());
        // Log.w("log_tag", " ===*********==" +jArray );

         responses = (SoapPrimitive)envelope.getResponse();
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }

   // Object response= envelope.getResponse();
    return responses;
 }

我的 C# 方法返回带有 JSON 的字符串(作为字符串)。

如何仅在列表或数组中获取表名。请帮帮我。这里有什么问题?

4

1 回答 1

3

您了解 SOAP 和 JSON 之间的区别吗?kSOAP 用于处理期望 SOAP 请求并返回 SOAP 响应的服务。因此,除非您有 SOAP 服务返回带有 JSON 的单个字符串元素,否则您不需要(也不能使用)kSoap。如果您有返回 JSON 的 REST 服务,请使用简单的DefaultHttpClientHttpPost如此处所述。如果您一直在使用 JSON,它也会回答您之前的问题

于 2011-07-07T09:36:40.097 回答