Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Επιστροφή xml αντι για json

Îåêßíçóå áðü ôï ìÝëïò evagelos. Τελευταία δημοσίευση από το μέλος nikos123 στις 22-10-2015, 10:09. Υπάρχουν 8 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  14-10-2015, 10:26 77322

    Επιστροφή xml αντι για json

    Γεια σας παιδια.

    Εχω φτιάξει ένα απλό webservice που επιστρέφει ένα object.

    Στις δοκιμές που έκανα το διαβάζω σαν json string και όλα πανε καλα.

    Το βαλαμε σε μια εφαρμογή και μυ λένε ότι το διαβάζουν σαν xml που μέσα σαν attribute εχει βεβεαια το json string.

    πχ: 

    Η κλάση μου είναι η

    public class PostReturnModel
    {
     public bool Success { get; set; }
     public string Message { get; set; }

     

    Γεμιζω τιμες:

    PostReturnModel myPostReturnApi = new PostReturnModel();

    myPostReturnApi.Success = true;
    myPostReturnApi.Message = "notifications updated"; 

    και το επιστρέφω: 

    return myPostReturnApi;

     

    Διαβασα αρκετά posts για το θεμα  πχ: http://stackoverflow.com/questions/12216260/how-to-avoid-string-xmlns-http-schemas-microsoft-com-2003-10-serialization , αλλα δεν έβγαλα άκρη.

    Εχει κανεις καμια άποψη;

    Ευχαριστώ 

     

  •  15-10-2015, 14:44 77325 σε απάντηση της 77322

    Απ: Επιστροφή xml αντι για json

    Για τι είδους project μιλάμε και τι εννοείς Web Service? Web Service σημαίνει SOAP και XML, όχι REST και Json.  Η ερώτηση στην οποία παραπέμπεις έχει να κάνει με WCF, όχι MVC ή Web API. Έτσι κι αλλιώς, τον τύπο των results τον καθορίζει *και* ο client, μέσω του Accept header. Αν ζητήσει XML, θα πάρει XML.

    Επιπλέον, ο κώδικας στην ερώτηση έχει μία σημαντική γκάφα - αντί να επιστρέψει το DTO από τη μέθοδο και να αφήσει το WCF να κάνει το serialization κανονικά, φτιάχνει ένα string και επιστρέφει ένα χύμα string. Ε, όταν λες στους άλλους ότι έχεις ένα SOAP Service που επιστρέφει ένα και μοναδικό string, τι περιμένεις να πάρουν? 

    Για να βοηθήσουμε θα πρέπει να μας πεις τι είδους service έχεις φτιάξει, τι είδους project είναι, τον κώδικα του action και ιδιαίτερα τα attributes και το κομμάτι στο οποίο επιστρέφεις το αποτέλεσμα. 


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  15-10-2015, 17:41 77326 σε απάντηση της 77325

    Απ: Επιστροφή xml αντι για json

     επειδή δεν ε'ιμαι και ο καλυτερος (βασικά πιστεύω με κλιμακα 100 είμαι στο 1), μερικά από αυτά που γραφετε συγνώμη, αλλα δεν τα καταλαβαινω .

    Τωρα για το θεμα μου, πραγματικά είναι WCF (δεν είχα δει ότι υπάρχει συγκεκριμενο κομματι του site για wcf )

    δεν καταλαβαινω την "γκαφα". Γυρίζω το object και όχι χύμα string

    Αν έκανα return "τραλλι τραλαλο";

    θα ήταν string.
    Τώρα γυρίζω το PostReturnModel 

    Εκτός και αν καταλαβαινω λαθος 

  •  15-10-2015, 17:54 77327 σε απάντηση της 77326

    Απ: Επιστροφή xml αντι για json

    Αναφέρομαι στο Stack Overflow post που έκανες Link. Εκεί αυτός που ρωτάει γυρίζει ένα χύμα string. Λογικό είναι αυτό να "τυλιχτεί" σε XML.

    Όπως και να έχει, αν δεν μας δείξεις τον κώδικα δεν μπορεί να βοηθήσει κανείς.  


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  19-10-2015, 12:03 77335 σε απάντηση της 77327

    Απ: Επιστροφή xml αντι για json

    Ο Κώδικας μου είναι αυτός:

    [HttpPost]
    public PostReturnModel Post(RegDev myRegDev)
    {
     PostReturnModel myPostReturnApi = new PostReturnModel();
     if(.....)
     {
      myPostReturnApi.Success = true;
      myPostReturnApi.Message = "Key inserted";
     }
     else
     {
      myPostReturnApi.Success = false;
      myPostReturnApi.Message = "Key Exist"; 
     }
     return myPostReturnApi;  
    }
     

  •  19-10-2015, 15:37 77336 σε απάντηση της 77335

    Απ: Επιστροφή xml αντι για json

    Αφαιρέσε το Xml Forrmater 

     GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();

    στο Application_Start()

     

  •  21-10-2015, 22:59 77341 σε απάντηση της 77336

    Απ: Επιστροφή xml αντι για json

    Εμενα έχει:

            protected void Application_Start()
            {
                GlobalConfiguration.Configure(WebApiConfig.Register);
            } 

  •  21-10-2015, 23:05 77342 σε απάντηση της 77341

    Απ: Επιστροφή xml αντι για json

    Αυτό είναι configuration για Web API. Τί είδους service έχεις φτιάξει τελικά, WCF ή Web API? Η κλάση του service από που κάνει Inherit? 
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  22-10-2015, 10:09 77343 σε απάντηση της 77341

    Απ: Επιστροφή xml αντι για json

    Εννοούσα προσθέτοντας αυτή τη γραμμη

     GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();

    αφαιρείς το  Xml formatter.

     

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems