文字列型を返すWCFメソッドがあります。SOAPPRIMITIVE応答の処理方法
は、これは私の出力である
{ "表1":[{ "テーブル名": "LoadDistributor"、 "説明": "ディストリビューター"、 "MandatoryFlag": "1"、 "ステータス""、 "優先度": "0"}、{"TableName": "LoadPrice"、 "Description": "Price "、 "MandatoryFlag": "1"、 "Status": ""、 "優先度": "0"}、{"TableName": "LoadProduct"、 "Description": "Product "、 "MandatoryFlag": "1"、 "Status": ""、 "Priority": "0 "}、{" TableName ": "LoadTradeSchemeDetail"、 "説明" : "TradeSchemeDeta"、 "MandatoryFlag": "1"、 "ステータス": ""、 "優先": "0"}、{ "テーブル名": 「RD.AlternativeProductDetail "、"説明 " " AltProdutDetail "、" MandatoryFlag ": " 0 "、"ステータス ":" "優先度": "0"}、{"TableName": "RD.AlternativeProductHeader"、 " "説明:" "AltProdutHeader"、 "MandatoryFlag": "0"、 "ステータス": ""優先度 ": " 0 "}、{" TableName ": " RD.BatchPriceDetail "、" Description " "BatchPrice"、 "MandatoryFlag": "1"、 "ステータス": ""優先度 ":"0"}、{"TableName": "RD.Executive"、 "Description": "Executive"、 "MandatoryFlag": "1"、 "ステータス": ""優先度 ": " 0 "、" TableName ": " RD.Route "、"説明 ":" Route "、" MandatoryFlag ":" 1 "、" Status ": " "、" Priority ":" 0 "}、 "TableName": "RD.vwRetailer"、 "説明": "小売業者"、 "MandatoryFlag": "1"、 "ステータス": ""、 "優先度": "0"}、{"TableName" : "RD.vwRouteDetail"、 "説明": "RouteDetail"、 "MandatoryFlag": "1"、 "ステータス": ""、 "優先": "0"}、{ "テーブル名": " XA.vwProdu "0"}、{"TableName": "XA.vwTown"、 "ctType"、 "Description": "ブランド製品C"、 "MandatoryFlag": "1"、 "ステータス": ""優先度 " 」、 "説明": "タウン "、 "MandatoryFlag": "1"、 "ステータス": ""、 "優先順位": "0"}]}
これは私のSOAP処理方法である
// 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;
}
My C#メソッドは、JSON(Stringとして)のStringを返します。
リストまたは配列でのみテーブル名を取得する方法。 私を助けてください。ここで何が間違っていますか?
非常に有益な提案です。私の場合、JSONでString要素を返すWCFサービス。 – Piraba
私の場合、SOAPを使用したいが、その戻りString要素はJSONである。今、結果は正しい方法で値を取得する方法が来ている?私を助けてください。 – Piraba
私を案内してくださいこのようにSOAP値を処理する方法:{"Table1":[{"TableName": "LoadDistributor"、 "Description": "Distributor"、 "MandatoryFlag": "1"、 "Status" "Priority": "0"}]} – Piraba