2013-04-12 20 views
7

XML verilerini döndüren web hizmetim var. ama verilerde başında boş alanlar alıyorum. Fiili veriler de mevcuttur, ancak boş alanlar takip eder. Ksoap2'yi kullanarak Android'de web servisine erişiyorum. SoapObject değişkeninin tam verileri vardır, ancak bu servisle çalışmak için problem yaratan boş alanlara da sahiptir. Burada bunu etmiştir başlayan hiçbir şey görebilirsiniz ama sonradan bunun Etiket "Kitap Adı" sorunun nerede olduğunu anlamıyorum.net web hizmeti, verilerin başında NULL nesneleri döndürüyor

04-12 10:55:09.405: D/ENVELOPE(1394): GetGuestEventsListingForServiceResponse{GetGuestEventsListingForServiceResult=anyType{schema=anyType{element=anyType{complexType=anyType{choice=anyType{element=anyType{complexType=anyType{sequence=anyType{element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{}; }; }; }; }; }; }; }; diffgram=anyType{NewDataSet=anyType{Table=anyType{Title=THE CLUSTER DAY-1, JUNKOVATION; Description=anyType{}; EventDate=Apr 12, 2013; EventTime=5:00 PM; Venue=BLOCK 13-306; CreatedBy=16689; CreatedOn=2013-04-11T09:52:07.163+05:30; EventFor=All; Type=Internal; IsActive=true; }; 
+0

olarak bağlanmayı ayarlamayı deneyin. WSDL formatlarınızı istek ve yanıt için lütfen paylaşabilir misiniz? – Swayam

+0

Ayrıca, "" için sunucu tarafınızı kontrol edin ve tüm boş veriler '' etiketinin içinde olduğu gibi kaldırabilirsiniz. – Swayam

cevap

1

ile başlayan veri var. Eğer xml olarak sonuç Dize biçimlendirmek, bu edinin:

<GetGuestEventsListingForServiceResponse> 
    <GetGuestEventsListingForServiceResult> 
    <schema> 
     <element> 
      <complexType> 
      <choice> 
       <element> 
       <complexType> 
        <sequence> 
        <element/> 
        <element/> 
        <element/> 
        <element/> 
        <element/> 
        <element/> 
        <element/> 
        <element/> 
        <element/> 
        <element/> 
        </sequence> 
       </complexType> 
       </element> 
      </choice> 
      </complexType> 
     </element> 
    </schema> 
    <diffgram> 
     <NewDataSet> 
     <Table> 
      <Title>THE CLUSTER DAY-1, JUNKOVATION</Title> 
      <Description/> 
      <EventDate>Apr 12, 2013</EventDate> 
      <EventTime>5:00 PM</EventTime> 
      <Venue>BLOCK 13-306</Venue> 
      <CreatedBy>16689</CreatedBy> 
      <CreatedOn>2013-04-11T09:52:07.163+05:30</CreatedOn> 
      <EventFor>All</EventFor> 
      <Type>Internal</Type> 
      <IsActive>true</IsActive> 
     </Table> 
     </NewDataSet> 
    </diffgram> 
    </GetGuestEventsListingForServiceResult> 
</GetGuestEventsListingForServiceResponse> 

bu boşaltır eleman vardır neden Şunu varsa, sunucu tarafında web hizmeti kontrol etmek gerekir. Sunucu tarafında ".NET" web hizmeti ile arayüz yapıyorsanız, BasicBinding

+1

Doğrudan web servislerine erişimim yok ve istemci tarafında işlemek için optimize edilmiş bir çözüm arıyorum, bir şekilde Java Api'nin bölünmüş, değiştir ve tümünü kullanarak bunu bir şekilde hayata geçirdim. Ama iyi bir çözüm gibi görünmüyor. –

+0

Sunucu tarafında kod değiştiremezseniz, yapabileceğiniz tek şey işe yaramaz yanıt düğümlerini yok saymak ve yalnızca ne yapmanız gerektiğini düşünmektir. Bu özel durumda, düğüm "şema" olarak adlandırılır ve düğüm "NewDataSet" ise işlemek, yok sayılır. Bu arada, iyi hatırlarsam, bu yanıt, BasicBinding olarak ayarlanmadığında gerçekleşir – kinghomer