Konuyu görüntüle
IUCODERS FORUM > Programlama > JAVA > j2me -- web servis kullanımı
Yazar
denox


avatar

Kayıt: 11.01.2006
21.02.2009-19:58 #57247
selam arkadaşlar,
Sizden bir konuda yardımınızı isteyeceğim.Ben 2006 mezunuyum ve o zamanların .NETcilerindenim.gerçi hala öyleyim ama neyse...
java konusunda ise daha önce hiç konu açmamaıştım:) nasip bugüneymiş.

şimdi .net in yetersiz kaldığı yada microsoft tekeline uymayan bir durum için java kullanmam lazım.
cep telefonuna(midp 2.0) basit bir uygulama yazmam gerekiyor.kısaca bu uygulama bir id parametresiyle web servise gidip data alıp ceptelefonuna geri data gönderecek.(genel web servis işlemi:)) Allahtan xml var yoksa web servisi falan da javada yazmak gerekecekti:) web servisi .Net de yazabiliyoruz bu sayede.
ben google a danıştım ama genelde karmaşık örnekler vermişler. bana en basit anlamda bir uygulama gerekiyor ki ben anlayayım ve biraz olsun geliştirebileyim.

mesela web serviste bir toplama metodu tanımlı olsun ve cep telefonu a ve b değşkenlerini yollasın ve sonuc ekrana gelsin gibi.

eminim bizim zamanımızdakinden çok daha canavar javacı arkadaşlar vardır bana yardım edebilecek.mesela bu işi .NET de yapmak istesek 5-10 dk mızı alır almazdı.windows mobile ortamında tabiki. java da da çok da uzun olmasa gerek.
bir arkadaşımız el atarsa olaya ve classı yazabilirse sevinirim.

Bu arada platform olarak netbeans seçtim kendime...daha iyisi varsa mobil ortam için önerebilirsiniz.

hepinize iyi dersler ve başarılar...

Yasin BAŞER
Coretech Bilgi Teknolojileri






Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
21.02.2009-23:15 #57251
http://www.netbeans.org/kb/60/mobility/vmd-and-ws-screencast.html
Temel olarak tüm platformlarda olay şu şekilde olur. java da da aynıdır.
WSDL urlsini idene verirsin ide bunun için stub oluşturur. stubı kullanarak da webservice call yaparsın. yukarıdaki linkte netbeans ile bu işi nasıl yapacağını anlatmış.





N/A
Yazar
denox


avatar

Kayıt: 11.01.2006
22.02.2009-00:41 #57256
package HesapMak;

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

//import service1.*;

public class HelloWorld extends MIDlet implements Runnable, CommandListener {

service1.Service1_Stub service;
Display display;
private Form f;
private StringItem si;
private TextField tf;
private TextField tf1;
private Command sendCommand = new Command("Send", Command.ITEM, 1);
private Command exitCommand = new Command("Exit", Command.EXIT, 1);

String first = "";
String second = "";

public void startApp() {
display = Display.getDisplay(this);
f = new Form("Hello Client");
tf = new TextField("Send:", "", 30, TextField.ANY);
tf1 = new TextField(" + ", "", 30, TextField.ANY);
si = new StringItem("Status:" , " ");
f.append(tf);
f.append(tf1);
f.append(si);
f.addCommand(sendCommand);
f.addCommand(exitCommand);
f.setCommandListener(this);
display.setCurrent(f);
}

public void pauseApp() {}

public void destroyApp(boolean unconditional) {}

public void commandAction(Command c, Displayable d) {
if (c == sendCommand) {
first = tf.getString();
second = tf1.getString();
si.setText("Message sent: " + "");
/*
* Start a new thread so that the remote invocation won't block
* the process.
*/
new Thread(this).start();
}
if (c == exitCommand) {
notifyDestroyed();
destroyApp(true);
}
}

public void run() {
try {
service = new service1.Service1_Stub();
service._setProperty(service1.Service1_Stub.ENDPOINT_ADDRESS_PROPERTY, "");
String msg = service.HelloWorld();
si.setText("Message Receive: " + msg);

} catch (Exception exception) {
si.setText(exception.getMessage());
}
}
}



eywallah orhan.

video da aslında benim yaptığım şeyi anlatmış basitçe.Fakat şöyle bir durum var.netbeans emulatörü yukardaki kodu çalıştırabiliyor fakat cep telefonuna(nokia 6600) yükleyince çalışmıyor.
bu olayın 6600 ile bir bağlantısı olabilir mi acaba?nette jsr 172 destekler yazıyor 6600 için. acaba ayrıca bir ayar mı yapmak gerekiyor.

//service = new service1.Service1_Stub();
//service._setProperty(service1.Service1_Stub.ENDPOINT_ADDRESS_PROPERTY, "");

yukardaki kodları commentlersem telefonda çalışabiliyor.

Bir fikri olan?







Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
22.02.2009-00:53 #57257
Nokia emülatörü indirip birde onunla dener misin? Belki cldc profillerinde bir problem vardır. Dahaönce benzer bir problem bende yaşamıştırm. Nokianın emulatorlerini indirip onlarla derleyince kodu çalışmıştı. Telefonun standartları destekliyor ise çalışması lazm.





N/A
Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
22.02.2009-00:55 #57258
service = new service1.Service1_Stub();
service._setProperty(service1.Service1_Stub.ENDPOINT_ADDRESS_PROPERTY, ""); 

Burada
service._setProperty(service1.Service1_Stub.ENDPOINT_ADDRESS_PROPERTY, "");

neyi set ediyo bu Endpoint adresi değişitriyor isen telefon ona erişemiyo olabilir. Bu satırı commentlersen çalışıyor mu?







N/A
Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
22.02.2009-00:59 #57259
Bu arada aldığın hataları buraya yazar mısın?





N/A
Yazar
denox


avatar

Kayıt: 11.01.2006
22.02.2009-01:57 #57262
ENDPOINT_ADDRESS_PROPERTY satırını commentleyince de çalışmıyor malesef. sanırım telefon service tanımlarken kızıyor. zaten telefonda yükleme tamamlanıyor ama program hiç çalışmıyor ekrana gelmiyor yani. netbeans emulator de sorunsuz çalışıyor. birde şunu sorayım bir ara şüphelendim. projede 2 package var birincisi midlet i barındıran package dieride web servisi barındıran package. şimdi projeyi derleyince iki package da jar dosyasına dahil ediliyor mu? belki orda problem olabilir diye ki tamamen ediyordur diye dşünmeme rağmen:) web serviside aynı package içerisine dahil ettim.ama sonuç yine değişmedi.
birde nokianın derleyicisini indirip deneyeyim ama şunu belirteyim ki bu benim için çok sıkıntı bir olay olur. çünkü bu programı herhangi bir cep telefonu kullanabilir yani midp 2.0 ve clcd 1.0 destekleyen telefon olması yeterli demeyi düşünüyordum.





Yazar
denox


avatar

Kayıt: 11.01.2006
22.02.2009-02:48 #57263
nokia emulatör kurmadan bir arkadaşa farklı bir modelde denettim nokia xpress bilmem kaç:) onda çalıştı program.
kötü oldu bu iş şimdi. adamlar windows mobile destekleyen aletler pahalı diye kabul etmemişlerdi.bizde java destekleyen telefonlarda çalışsın demiştik ama bu da pek ucuz olmayacak anlaşılan...

ilgilendiğin için saol..
görüşmek üzere...





Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
22.02.2009-12:35 #57264
Kendi telefonumda bir iki test yaptım bende düzgün çalışıyor. Fakat şöyle bir durum olabilir eğer kendi paket isimlerin java.* ile başlıyor ise nokianın bazı serilerinde çalışmayabiliyor.





N/A
Yazar
denox


avatar

Kayıt: 11.01.2006
22.02.2009-13:24 #57268
orhan yazdi
 
Kendi telefonumda bir iki test yaptım bende düzgün çalışıyor. Fakat şöyle bir durum olabilir eğer kendi paket isimlerin java.* ile başlıyor ise nokianın bazı serilerinde çalışmayabiliyor.


bu java. ile başlayan isimlerde sorun olduğuyla ilgili yazılara nette bende rastladım.Bu içeri import ettiğimiz java.* yada javax.* gibi paketlerden mi bahsediyoruz yoksa kendi paket isimlerimizden mi?
Çünkü ben içeri java ile başlayan isim vermedim:)(Bu basit sorularımı da mazur görürsün umarım.:))

Peki biz projede hiç bir şey değiştirmeden sadece servise bağlanan satırı commentleyince proje nasıl çalışıyor?Sanrıım benim telefonun jsr 172 desteği yok gibi geldi? bazı sitelerde var bazılarında yok diyor çünkü. Neyse orhan sağolasın...





Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
22.02.2009-13:28 #57269
6600 nokianın j2me destekleyen ilk telefonu telefonun teknik detaylarını bende tam bilmiyorum.
ama şurada yazdığına göre http://www.forum.nokia.com/devices/6600 adresinde jsr 172 desteği yazmıyor.

telefonların tam listesi ise şurada http://www.forum.nokia.com/devices/matrix_midp2_1.html





N/A
Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
22.02.2009-13:31 #57270
Bu tip telefonlar için HTTP Post kullanabilirsin nihayetinde webservisler bu mantıkla çalışıyor.





N/A
Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb