java एंड्रॉइड पर एसओएपी वेब सेवा कैसे कॉल करें




android web-services (21)

मुझे Android के साथ मानक SOAP / WSDL वेब सेवा को कॉल करने के तरीके के बारे में अच्छी जानकारी खोजने में बहुत परेशानी हो रही है। मैं जो कुछ भी खोजने में सक्षम हूं, वह बहुत ही जटिल दस्तावेज़ हैं और "kSoap2" के संदर्भ हैं और फिर सैक्स के साथ मैन्युअल रूप से इसे पार्स करने के बारे में कुछ बिट हैं। ठीक है, यह ठीक है, लेकिन 2008 है, इसलिए मुझे लगा कि मानक वेब सेवाओं को कॉल करने के लिए कुछ अच्छी लाइब्रेरी होनी चाहिए।

वेब सेवा मूल रूप से NetBeans में बनाई गई है। मैं नलसाजी कक्षाओं के निर्माण के लिए आईडीई समर्थन करना चाहता हूं। मुझे एंड्रॉइड आधारित फोन से WSDL आधारित वेब सेवा से संपर्क करने का सबसे आसान / सबसे शानदार तरीका चाहिए।


किसी मोबाइल डिवाइस (विशेष रूप से एंड्रॉइड फोन पर) से वेब सेवा कॉल करने के लिए, मैंने इसे करने का एक बहुत ही सरल तरीका उपयोग किया है। मैंने वेब सेवा को कॉल करने के प्रयास में किसी भी वेब सेवा क्लाइंट एपीआई का उपयोग नहीं किया है। मेरा दृष्टिकोण कॉल करने के लिए निम्नानुसार है।

  1. जावा मानक API HttpURLConnection का उपयोग कर एक सरल HTTP कनेक्शन बनाएँ।
  2. एक एसओएपी अनुरोध फार्म। (आप SOAPUI को SOAP अनुरोध करने के लिए सहायता कर सकते हैं।)
  3. सच के रूप में doOutPut ध्वज सेट करें।
  4. सामग्री हेडर मान जैसे सामग्री-लंबाई, सामग्री प्रकार और उपयोगकर्ता-एजेंट सेट करें। सामग्री-लंबाई मान सेट करना न भूलें क्योंकि यह अनिवार्य है।
  5. आउटपुट स्ट्रीम में संपूर्ण एसओएपी अनुरोध लिखें।
  6. कनेक्शन बनाने और प्रतिक्रिया प्राप्त करने के लिए विधि को कॉल करें (मेरे मामले में मैंने getResonseCode उपयोग किया)।
  7. यदि आपके प्राप्त प्रतिक्रिया कोड के रूप में
    1. इसका मतलब है कि आप वेब सेवा कॉल करने में सफल रहे हैं।
  8. अब एक ही HTTP कनेक्शन पर इनपुट स्ट्रीम लें और स्ट्रिंग ऑब्जेक्ट प्राप्त करें। यह स्ट्रिंग ऑब्जेक्ट एक SOAP प्रतिक्रिया है।
  9. यदि प्रतिक्रिया कोड 200 से अधिक है तो उसी HTTPobject पर एक त्रुटि ErrorInput स्ट्रीम लें और यदि कोई हो तो त्रुटि प्राप्त करें।
  10. SAXParser (मेरे मामले में) या डोमपेज़र या किसी अन्य पार्सिंग तंत्र का उपयोग करके प्राप्त प्रतिक्रिया पार्स करें।

मैंने एंड्रॉइड फोन के लिए इस प्रक्रिया को लागू किया है, और यह सफलतापूर्वक चल रहा है। मैं प्रतिक्रिया को पार्स करने में सक्षम हूं भले ही यह 700 से अधिक केबी है।


एंड्रॉइड किसी भी प्रकार की एसओएपी लाइब्रेरी प्रदान नहीं करता है। आप या तो अपना खुद का लिख ​​सकते हैं, या केएसओएपी 2 जैसे कुछ उपयोग कर सकते हैं। जैसा कि आप ध्यान देते हैं, अन्य लोग अपनी परियोजनाओं में केएसओएपी 2 संकलित और उपयोग करने में सक्षम हैं, लेकिन मुझे ऐसा नहीं करना है।

Google ने आज तक एंड्रॉइड को एसओएपी लाइब्रेरी जोड़ने में थोड़ी रुचि दिखाई है। इसके लिए मेरा संदेह यह है कि वे आरईएसटी-आधारित सेवाओं की ओर वेब सेवाओं में मौजूदा रुझानों का समर्थन करेंगे, और जेएसओएन का उपयोग डेटा एन्क्रिप्शन प्रारूप के रूप में करेंगे। या, मैसेजिंग के लिए एक्सएमपीपी का उपयोग करना। लेकिन यह सिर्फ अनुमान है।

एक्सएमएल-आधारित वेब सेवाएं इस समय एंड्रॉइड पर थोड़ा गैर-मामूली कार्य हैं। नेटबीन को नहीं जानते, मैं वहां उपलब्ध टूल्स से बात नहीं कर सकता, लेकिन मैं सहमत हूं कि एक बेहतर पुस्तकालय उपलब्ध होना चाहिए। यह संभव है कि XmlPullParser आपको SAX का उपयोग करने से बचाएगा, लेकिन मुझे इसके बारे में बहुत कुछ पता नहीं है।


यदि आप कर सकते हैं, JSON के लिए जाओ। एंड्रॉइड पूर्ण org.json पैकेज के साथ आता है


एसओएपी प्रोसेसिंग / पार्सिंग ओवरहेड की आवश्यकता के कारण एंड्रॉइड (या सामान्य रूप से मोबाइल डिवाइस) पर उपयोग के लिए एक बीमार अनुकूल तकनीक है। एक आरईएसटी सेवाएं एक हल्का वजन समाधान है और यही वह सुझाव है जो मैं सुझाऊंगा। एंड्रॉइड एक सैक्स पार्सर के साथ आता है, और यह उपयोग करने के लिए काफी छोटा है। यदि आपको मोबाइल डिवाइस पर SOAP को संभालने / विश्लेषण करने की पूरी आवश्यकता है तो मुझे आपके लिए खेद है, मैं सबसे अच्छी सलाह जो पेशकश कर सकता हूं वह सिर्फ एसओएपी का उपयोग नहीं करना है।


साबुन लिबरारे जोड़ें ( ksoap2-android-assembly-3.2.0-jar-with-dependencies.jar ):

सार्वजनिक स्थैतिक स्ट्रिंग Fn_Confirm_CollectMoney_Aprproval (

        HashMap < String, String > str1,
        HashMap < String, String > str2,
        HashMap < String, String > str3) {

    Object response = null;
    String METHOD_NAME = "CollectMoney";
    String NAMESPACE = "http://xxx/yyy/xxx";
    String URL = "http://www.w3schools.com/webservices/tempconvert.asmx";
    String SOAP_ACTION = "";

    try {

        SoapObject RequestParent = new SoapObject(NAMESPACE, METHOD_NAME);

        SoapObject Request1 = new SoapObject(NAMESPACE, "req");

        PropertyInfo pi = new PropertyInfo();

        Set mapSet1 = (Set) str1.entrySet();

        Iterator mapIterator1 = mapSet1.iterator();

        while (mapIterator1.hasNext()) {

            Map.Entry mapEntry = (Map.Entry) mapIterator1.next();

            String keyValue = (String) mapEntry.getKey();

            String value = (String) mapEntry.getValue();

            pi = new PropertyInfo();

            pi.setNamespace("java:com.xxx");

            pi.setName(keyValue);

            pi.setValue(value);

            Request1.addProperty(pi);
        }

        mapSet1 = (Set) str3.entrySet();

        mapIterator1 = mapSet1.iterator();

        while (mapIterator1.hasNext()) {

            Map.Entry mapEntry = (Map.Entry) mapIterator1.next();

            // getKey Method of HashMap access a key of map
            String keyValue = (String) mapEntry.getKey();

            // getValue method returns corresponding key's value
            String value = (String) mapEntry.getValue();

            pi = new PropertyInfo();

            pi.setNamespace("java:com.xxx");

            pi.setName(keyValue);

            pi.setValue(value);

            Request1.addProperty(pi);
        }

        SoapObject HeaderRequest = new SoapObject(NAMESPACE, "XXX");

        Set mapSet = (Set) str2.entrySet();

        Iterator mapIterator = mapSet.iterator();

        while (mapIterator.hasNext()) {

            Map.Entry mapEntry = (Map.Entry) mapIterator.next();

            // getKey Method of HashMap access a key of map
            String keyValue = (String) mapEntry.getKey();

            // getValue method returns corresponding key's value
            String value = (String) mapEntry.getValue();

            pi = new PropertyInfo();

            pi.setNamespace("java:com.xxx");

            pi.setName(keyValue);

            pi.setValue(value);

            HeaderRequest.addProperty(pi);
        }

        Request1.addSoapObject(HeaderRequest);

        RequestParent.addSoapObject(Request1);

        SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(
                SoapEnvelope.VER10);

        soapEnvelope.dotNet = false;

        soapEnvelope.setOutputSoapObject(RequestParent);

        HttpTransportSE transport = new HttpTransportSE(URL, 120000);

        transport.debug = true;

        transport.call(SOAP_ACTION, soapEnvelope);

        response = (Object) soapEnvelope.getResponse();

        int cols = ((SoapObject) response).getPropertyCount();

        Object objectResponse = (Object) ((SoapObject) response)
                .getProperty("Resp");

        SoapObject subObject_Resp = (SoapObject) objectResponse;


        modelObject = new ResposeXmlModel();

        String MsgId = subObject_Resp.getProperty("MsgId").toString();


        modelObject.setMsgId(MsgId);

        String OrgId = subObject_Resp.getProperty("OrgId").toString();


        modelObject.setOrgId(OrgId);

        String ResCode = subObject_Resp.getProperty("ResCode").toString();


        modelObject.setResCode(ResCode);

        String ResDesc = subObject_Resp.getProperty("ResDesc").toString();


        modelObject.setResDesc(ResDesc);

        String TimeStamp = subObject_Resp.getProperty("TimeStamp")
                .toString();


        modelObject.setTimestamp(ResDesc);

        return response.toString();

    } catch (Exception ex) {

        ex.printStackTrace();

        return null;
    }

}

एंड्रॉइड से एसओएपी वेब सेवा को कॉल करने के लिए, इस क्लाइंट का उपयोग करने का प्रयास करें

अपने जावा बिल्ड पथ में ksoap2-android.jar जोड़ने के लिए मत भूलना

public class WsClient {
    private static final String SOAP_ACTION = "somme";
    private static final String OPERATION_NAME = "somme";
    private static final String WSDL_TARGET_NAMESPACE = "http://example.ws";
    private static final String SOAP_ADDRESS = "http://192.168.1.2:8080/axis2/services/Calculatrice?wsdl";

    public String caclculerSomme() {

        String res = null;
        SoapObject request = new SoapObject(WSDL_TARGET_NAMESPACE,
                OPERATION_NAME);
        request.addProperty("a", "5");
        request.addProperty("b", "2");

        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                SoapEnvelope.VER11);
        envelope.dotNet = true;
        envelope.setOutputSoapObject(request);
        HttpTransportSE httpTransport = new HttpTransportSE(SOAP_ADDRESS);

        try {
            httpTransport.call(SOAP_ACTION, envelope);
            String result = envelope.getResponse().toString();
            res = result;
            System.out.println("############# resull is :" + result);
        } catch (Exception exception) {
            System.out.println("########### ERRER" + exception.getMessage());
        }

        return res;
    }
}

विधि SOAP द्वारा इन चरणों का पालन करें

डब्ल्यूएसडीएल फ़ाइल से,

  • प्रत्येक अनुरोध के लिए SOAP अनुरोध टेम्पलेट बनाएं।

  • फिर मूल्यों को कोड में पारित करने के लिए प्रतिस्थापित करें।

  • DefaultHttpClient उदाहरण का उपयोग कर सेवा अंत बिंदु पर इस डेटा को पोस्ट करें।

  • प्रतिक्रिया स्ट्रीम प्राप्त करें और अंत में

  • एक XML पुल पार्सर का उपयोग कर प्रतिक्रिया स्ट्रीम पार्स।


कुछ महीने पहले मैं जे 2 ई एप्लिकेशन में जाक्स-डब्ल्यूएस वेब सेवा के साथ काम कर रहा था, वहां हम डब्लूएसडीएल फाइल से डब्ल्यूएस क्लाइंट स्टब उत्पन्न करने के लिए सीएक्सएफ wsdl2java का उपयोग कर रहे थे और उन क्लाइंट स्टब्स के साथ हमने वेब सेवाओं का उपभोग किया था। कुछ हफ्ते पहले, जब मैं एंड्रॉइड प्लेटफ़ॉर्म में उसी तरह से वेब सेवा का उपभोग करने की कोशिश कर रहा था, तो मैं नहीं कर सका क्योंकि एंड्रॉइड जार में सभी "जैक्स-डब्ल्यू" वर्गों का समर्थन करने वाले वर्ग नहीं हैं। उस समय मुझे अपनी आवश्यकता को पूरा करने के लिए ऐसा कोई टूल नहीं मिला (अगर मैं कुशलतापूर्वक Google में विफल नहीं हुआ था)

  • डब्लूएसडीएल से क्लाइंट स्टब प्राप्त करें।
  • और कुछ तर्क (जावा व्यापार अनुरोध ऑब्जेक्ट) के साथ सेवा को कॉल करें।
  • प्रतिक्रिया व्यापार वस्तु प्राप्त करें।

इसलिए, मैंने अपना एंड्रॉइड सोप क्लाइंट जनरेशन टूल विकसित किया। आपको इन चरणों का पालन करना होगा:

  • डब्ल्यूएसडीएल से डब्ल्यूएस क्लाइंट स्टब प्राप्त करें, इसे अपनी परियोजना में रखें।
  • कुछ सेवा "ComplexOperationService" के लिए कहें, सेवा को तत्काल करें, एंडपॉइंट पोर्ट प्राप्त करें और सेवा विधि पर कॉल करें, और वेब सेवा से प्रतिक्रिया प्राप्त करें:

उदाहरण के लिए:

ComplexOperationService service = new ComplexOperationService( );
ComplexOperation port= service.getComplexOperationPort();    
SomeComplexRequest request = --Get some complex request----;    
SomeComplexResp resp = port.operate( request  );
  • आपको सर्विस क्लास / रिक / प्रतिक्रिया कक्षाओं या किसी अन्य वर्ग और विधि के बारे में भी ध्यान देने की आवश्यकता नहीं है, क्योंकि आप जानते हैं कि यह सब डब्लूएसडीएल से उत्पन्न होता है।
  • और निश्चित रूप से आपको साबुन कार्रवाई / लिफाफा / नामस्थान इत्यादि से अवगत होने की आवश्यकता नहीं है। बस विधि को कॉल करें, डेवलपर्स हर समय करते हैं।

org.apache.http.impl.client.DefaultHttpClient डिफ़ॉल्ट रूप से एंड्रॉइड एसडीके में आता है। इससे आपको डब्लूएसडीएल से जोड़ा जाएगा।

HttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
HttpGet httpGet = new HttpGet("http://www.example.com/" + URL);
HttpResponse response = httpClient.execute(httpGet, localContext);


अपनी परियोजना में ksoap2.jar जोड़ने के लिए मत भूलना और AndroidManifest फ़ाइल में इंटरनेट अनुमति भी जोड़ें

import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.PropertyInfo;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class WebserviceActivity extends Activity {

    private static final String NAMESPACE = "https://api.authorize.net/soap/v1/";
    private static final String URL ="https://apitest.authorize.net/soap/v1/Service.asmx?wsdl"; 
    private static final String SOAP_ACTION = "https://api.authorize.net/soap/v1/AuthenticateTest";
    private static final String METHOD_NAME = "AuthenticateTest";
    private TextView lblResult;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        lblResult = (TextView) findViewById(R.id.tv);

        SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 
        request.addProperty("name","44vmMAYrhjfhj66fhJN");
        request.addProperty("transactionKey","9MDQ7fghjghjh53H48k7e7n");
        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
        envelope.setOutputSoapObject(request);
        HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
        try {
            androidHttpTransport.call(SOAP_ACTION, envelope);

            //SoapPrimitive  resultsRequestSOAP = (SoapPrimitive) envelope.getResponse();
            // SoapPrimitive  resultsRequestSOAP = (SoapPrimitive) envelope.getResponse();
            SoapObject resultsRequestSOAP = (SoapObject) envelope.bodyIn;


            lblResult.setText(resultsRequestSOAP.toString());
            System.out.println("Response::"+resultsRequestSOAP.toString());


        } catch (Exception e) {
            System.out.println("Error"+e);
        }

    }
}


मैं एक बहुत ही उपयोगी टूल की जांच करने का सुझाव दूंगा जिसने मुझे बहुत मदद की। जो लोग उस परियोजना का ख्याल रखते हैं वे भी बहुत उपयोगी थे। www.wsdl2code.com/



कृपया अपनी परियोजना के साथ SOAP लाइब्रेरी फ़ाइल डाउनलोड करें और जोड़ें फ़ाइल नाम: ksoap2-android-assembly-3.4.0-jar-with-निर्भरता

एप्लिकेशन को साफ करें और फिर प्रोग्राम शुरू करें

एसओएपी सेवा कॉल के लिए कोड यहां दिया गया है

    String SOAP_ACTION = "YOUR_ACTION_NAME";
    String METHOD_NAME = "YOUR_METHOD_NAME";
    String NAMESPACE = "YOUR_NAME_SPACE";
    String URL = "YOUR_URL";
    SoapPrimitive resultString = null;

    try {
        SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME);
        addPropertyForSOAP(Request);

        SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
        soapEnvelope.dotNet = true;
        soapEnvelope.setOutputSoapObject(Request);

        HttpTransportSE transport = new HttpTransportSE(URL);

        transport.call(SOAP_ACTION, soapEnvelope);
        resultString = (SoapPrimitive) soapEnvelope.getResponse();

        Log.i("SOAP Result", "Result Celsius: " + resultString);
    } catch (Exception ex) {
        Log.e("SOAP Result", "Error: " + ex.getMessage());
    }
    if(resultString != null) {
        return resultString.toString();
    }
    else{
        return "error";
    }

परिणाम JSONObject या JSONArray या स्ट्रिंग हो सकते हैं

आपके बेहतर संदर्भ के लिए, https://trinitytuts.com/load-data-from-soap-web-service-in-android-application/

धन्यवाद।


मेरे लिए सभी आवश्यक वर्गों को उत्पन्न करने के लिए अच्छे उपकरण का उपयोग करना सबसे आसान तरीका है। व्यक्तिगत रूप से मैं इस साइट का उपयोग करता हूं:

http://easywsdl.com/

यह काफी जटिल वेब सेवाओं का समर्थन करता है और ksoap2 का उपयोग करता है।


Ksoap2 विधियों को कॉल करें। यह बहुत अच्छा काम करता है।

जैसे विवरण सेट करें

private static String mNAMESPACE=null;
private static String mURL=null;
public static Context context=null;
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(Request);

envelope.addMapping(mNAMESPACE, "UserCredentials",new UserCredendtials().getClass());
AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport(mURL);

और फिर परिणाम प्राप्त करने के लिए

androidHttpTransport.call(SOAP_ACTION, envelope);
result = (SoapPrimitive)envelope.getResponse();

यह सच है कि इसके ओवरहेड के कारण एसओएपी मोबाइल उपकरणों के साथ डेटा एक्सचेंज के लिए सबसे अच्छा विकल्प नहीं है। हालांकि, आप खुद को उस स्थिति में पा सकते हैं जिसमें आप सर्वर आउटपुट के प्रारूप को नियंत्रित नहीं करते हैं।

इसलिए, अगर आपको एसओएपी के साथ रहना है, तो यहां एंड्रॉइड के लिए एक केएसओएपी 2 लाइब्रेरी है:
http://code.google.com/p/ksoap2-android/


आप कुछ हेडर के साथ http पर पोस्ट के रूप में साबुन कॉल कर सकते हैं। मैंने इस सवाल को ksoap2 जैसे अतिरिक्त पुस्तकालयों के बिना हल किया है यहां साबुन सेवा से ऑर्डर प्राप्त करने वाला लाइव कोड है

private static HashMap<String,String> mHeaders = new HashMap<>();

static {
    mHeaders.put("Accept-Encoding","gzip,deflate");
    mHeaders.put("Content-Type", "application/soap+xml");
    mHeaders.put("Host", "35.15.85.55:8080");
    mHeaders.put("Connection", "Keep-Alive");
    mHeaders.put("User-Agent","AndroidApp");
    mHeaders.put("Authorization","Basic Q2xpZW50NTkzMzppMjR3s2U="); // optional
}public final static InputStream receiveCurrentShipments(String stringUrlShipments)
{
    int status=0;
    String xmlstring= "<soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:ser=\"http://35.15.85.55:8080/ServiceTransfer\">\n" +
            "   <soap:Header/>\n" +
            "   <soap:Body>\n" +
            "      <ser:GetAllOrdersOfShipment>\n" +
            "         <ser:CodeOfBranch></ser:CodeOfBranch>\n" +
            "      </ser:GetAllOrdersOfShipment>\n" +
            "   </soap:Body>\n" +
            "</soap:Envelope>";
    StringBuffer chaine = new StringBuffer("");

    HttpURLConnection connection = null;
    try {
        URL url = new URL(stringUrlShipments);
        connection = (HttpURLConnection) url.openConnection();
        connection.setRequestProperty("Content-Length", xmlstring.getBytes().length + "");
        connection.setRequestProperty("SOAPAction", "http://35.15.85.55:8080/ServiceTransfer/GetAllOrdersOfShipment");

        for(Map.Entry<String, String> entry : mHeaders.entrySet()) {
            String key = entry.getKey();
            String value = entry.getValue();
            connection.setRequestProperty(key,value);

        }

        connection.setRequestMethod("POST");
        connection.setDoInput(true);

        OutputStream outputStream = connection.getOutputStream();
        outputStream.write(xmlstring.getBytes("UTF-8"));
        outputStream.close();

        connection.connect();
        status = connection.getResponseCode();
    } catch (ProtocolException e) {
        e.printStackTrace();
    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } finally {

        Log.i("HTTP Client", "HTTP status code : " + status);
    }

    InputStream inputStream = null;
    try {
        inputStream = connection.getInputStream();
    } catch (IOException e) {
        e.printStackTrace();
    }

    return inputStream;
}


लगभग एक साल पहले मैं यह थ्रेड पढ़ रहा था कि एंड्रॉइड पर एसओएपी कॉल कैसे करें - एचटीपी क्लाइंट का उपयोग करके अपना खुद का निर्माण करने के सुझावों के परिणामस्वरूप मुझे एंड्रॉइड के लिए अपनी स्वयं की एसओएपी लाइब्रेरी का निर्माण हुआ:

IceSoap

असल में यह आपको एक साधारण जावा एपीआई के माध्यम से भेजने के लिए लिफाफे बनाने की अनुमति देता है, फिर स्वचालित रूप से उन्हें उन वस्तुओं में पार्स करता है जिन्हें आप XPath के माध्यम से परिभाषित करते हैं ... उदाहरण के लिए:

<Dictionary>
    <Id></Id>
    <Name></Name>
</Dictionary>

हो जाता है:

@XMLObject("//Dictionary")
public class Dictionary {
    @XMLField("Id")
    private String id;

    @XMLField("Name")
    private String name;
}

मैं इसे अपने स्वयं के प्रोजेक्ट के लिए इस्तेमाल कर रहा था, लेकिन मुझे लगा कि यह किसी अन्य लोगों की मदद कर सकता है, इसलिए मैंने इसे अलग करने और इसे दस्तावेज करने में कुछ समय बिताया है। मैं वास्तव में इसे प्यार करता हूं अगर आपकी कुछ गरीब आत्माएं जो इस धागे पर ठोकर खाती हैं, "एसओएपी एंड्रॉइड" गुगलते हुए इसे कुछ लाभ मिल सकती है।





wsdl