Werb servisime aşağıdaki kodları yazdım ancak nasıl geriye göndürülen list i alabilirimi bulamadım?

public class Client {

    String kullaniciadi;
    String puan;

    public String getKullaniciadi() {
        return kullaniciadi;
    }
    public void setKullaniciadi(String kullaniciadi) {
        this.kullaniciadi = kullaniciadi;
    }
    public String getPuan() {
        return puan;
    }
    public void setPuan(String puan) {
        this.puan = puan;
    }

}

public static List<Client> top10List()
    {
        List<Client> liste = new ArrayList<Client>();
        String sorgu = "SELECT * FROM clientbilgileri ORDER BY PUAN DESC LIMIT 10";
        con = MysqlBaglanti.Baglan();
        try {
                prepared = con.prepareStatement(sorgu);
                result = prepared.executeQuery();
                while(result.next())
                {
                    Client client = new Client();
                    client.setKullaniciadi(result.getString("KullaniciAdi"));
                    client.setPuan(result.getString("Puan"));
                    liste.add(client);
                }
        }
        catch (Exception e)
        {
            System.out.println("Hata: "+e.getMessage());
        }

        return liste;
    }

Bunları yazdıktan sonra android tarafında dönen bilgiyi nasıl alabilirim? try { SoapObject request2=new SoapObject(NAMESPACE, METHOD_NAME); SoapSerializationEnvelope envelope2=new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope2.dotNet=true; envelope2.setOutputSoapObject(request2); HttpTransportSE androidHttpTransport2=new HttpTransportSE(URL); androidHttpTransport2.call(SOAP_ACTION, envelope2); Object result2=envelope2.getResponse(); } catch (Exception e) { e.printStackTrace(); }

soruldu: 19 Tem '12, 05:52

emax_64's gravatar image

emax_64
64589102101
cevap kabul oranı: 20%


Hayir, Yazdiginiz server class lari, sizin Web Service niz. Onlari bir App Server a deploy yapacaksiniz ki, wsdl - dosyasi olusturulsun. Simdi, android icinden bu web service ulasmaniz icin, bir Web Service Client yazmaniz gerekli. Bu client Web Service baglanip, ondan isteklerde bulunacak, data lari okuyacak. Iste bunu kendiniz yapabilirsiniz. Veya bunu Netbeans e yaptirabilirsiniz. Netbeans bu Client i sizin icin olusturduktan sonra( Bunu olusturuken, Netbaens bir sürü Sinif olusturuyor) bunu bir Jar haline getirip, Eclipse deki projenize eklerseniz, bu Jar icindeki Siniflari kullanarak kolaylikla Web Service nize ulasabilirsiniz.

Buna benzer olarak Eclipse de Client olusturuyor bir Web Service icin otamatik olarak. Ancak bence bunu Netbeans daha iyi yapiyor. Ancak secim sizin.

permanent link

cevaplandı: 19 Tem '12, 08:22

mceliksoy's gravatar image

mceliksoy ♦
6.5k84988
cevap kabul oranı: 25%

Ben bu zamana kadar şunları yaptım ve uygulamadada takır takır işledi. Bir tane server yazım ve bu server ı tomcat de çalıştırdım. Ardından Android projesinden soap ile bu servise bağlantıyı sağladım ve metodları falan hepsini kullanabildim. Burada sadece benim kafama takılan şey veritabanında gelen verilerin ArrayList e aktarıldıktan sonra client tarafında nasıl verilerin ArrayList ten alınması

(19 Tem '12, 08:38) emax_64 emax_64's gravatar image

Tomcat a deploy yaptigin service nin bir wsdl-dosyasi yok mu?

(19 Tem '12, 08:42) mceliksoy ♦ mceliksoy's gravatar image

web servisin bir xml dosyası var çıktı olarak

(19 Tem '12, 08:49) emax_64 emax_64's gravatar image

Xml, SOAP in Veri transferi icin kullandigi bir yapi. Eger ben bu isleri yanlis ögrenmediysem, wsdl dosyasi her service icin olmasi gerekir. O senin Service ni disariya karsi tanimlar. Senin SErvice ne ersecek, diger kisiler bu dosya sayeside Service nin yapisini anlarlar. Örnegin JBoss App Serverde, Deploy yapilmis Service ler diye bir bölüm var ve burda hangi service ler var görebilirsin. Buna benzer bir sey Tomcat de de vardir diye düsünüyorum.

(19 Tem '12, 09:06) mceliksoy ♦ mceliksoy's gravatar image

öyle bir dosyanın oluşturduğunu bilmiyorum. Bu işlerde yeni olduğum için fazla bilgim yok malesef.Ama bu sorunu gidersem iyi olacak.

(19 Tem '12, 09:37) emax_64 emax_64's gravatar image

Eclipse'te wsdl dosyasını oluşturduktan sonra, dosyaya sağ tık->web services->generate client ve generate java bean skeleton seçeneklerinden otomatik generate yapılabiliyor.

(19 Tem '12, 09:56) mhkoca60 mhkoca60's gravatar image

wsdl dosyasını hangi klasörün içersine oluşturuyor.

(20 Tem '12, 01:58) emax_64 emax_64's gravatar image
8 yorumdan 5 tanesi gösteriliyor hepsini göster

Herseyden önce Web Service yi nasil yazdigina bakmak lazim. Yazdigin örnekte Web Service olan Sinif nerde, hangi ayarlar yapilmis, JAX-RS (Restful WebService) mi yoksa SOAP mi kullanmak istiyorsun?. Eger evet se, wsdl-dosyasina bakmak lazim. Yani kisaca, Web Service nin dogru calistigindan eminmisin. Restful Web Service su sekilde yazilir :

@Stateless
@Path("product")
public class ProductService {

@Inject
ProductController productController;

@GET
@Path("{productId}")
@Produces(MediaType.APPLICATION_JSON)
public Product getProduct(@PathParam("productId") Long productId) {
    return (Product)productController.find(productId);
}

@GET
@Path("/list")
@Produces(MediaType.APPLICATION_JSON)
public List<Product> getProductList(@QueryParam("startIndex") Integer startIndex, 
    @QueryParam("rowCount") Integer rowCount) {
    if(rowCount== null){
        rowCount= "10";
    }

    return productController.findAllWithComments(startIndex, rowCount);
}

Bu örnekteki Restful Web Service geriye JSON datasi gönderir. Eger Restful Webservice lere biraz bakarsan burda baska seceneklerinde oldugunu görürsün.

Eger Soap la yapmak istiyorsan yaptigin Web Service i deploy ettikten sonra onun wsdl- dosyasina bak, calisip calismadigindan emin ol. Sonraki adim olarak, Netbeans le bir Client olusturup test edebilirsin. Netbeans bir web Service icin, wsld-dosyasinda Client i otamatik olusturuyor.

permanent link

cevaplandı: 19 Tem '12, 06:04

mceliksoy's gravatar image

mceliksoy ♦
6.5k84988
cevap kabul oranı: 25%

ben o kısımları tamamladım. Ancak yaptığım her metodda ben client tarafına bir string yolluyordum. Ancak bu işlemde karşı tarafa liste yolladığım için response ile dönen değeri nasıl alacağımı bilemiyorum. Servis olarak soap kullanıyorum.

(19 Tem '12, 06:27) emax_64 emax_64's gravatar image

Ozaman yapman gereken en basit yöntemiyle, wsdl dosyasini kullanarak Netbeans de bir Client olusturman. Sonra bu Client i Jar, haline getirip, Projene eklemen. Bu adimlardan sonra, bu Jar dosyasi üzerinden hic zorlanmadan istedigin bilgileri okursun.

Bu adreste örnekler verilmis : http://netbeans.org/kb/trails/web.html

(19 Tem '12, 07:44) mceliksoy ♦ mceliksoy's gravatar image

tam ne demek istediğinizi anlamadım. Android projemi Eclipse de yapıyorum. Şimdi ben yazdığım server classını jar dosyası haline mi getireyim?

(19 Tem '12, 08:16) emax_64 emax_64's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×90
×10

Soruldu: 19 Tem '12, 05:52

Görüntüleme: 2,068 kez

Son güncelleme: 20 Tem '12, 01:58

powered by BitNami OSQA