Categories: Java | Client/Server | Enterprise | Networking | Code Examples | How To | Web Services
This page was last modified 08:54, 25 September 2007.
Make EJB client in Java ME
From Forum Nokia Wiki
We will create a small EJB application and we have two way to solve the communication from the mobile phone.
Contents |
EJB application
The appliaction wait for a string and send an answer: "Hello $string!"
package com.nokia.forum.wiki; import javax.ejb.Stateless; import javax.jws.WebService; @Stateless() @WebService public class Hello { public String getHello(String name) { return "Hello " + name + "!"; } }
Easy way with WSA and NetBeans
If the target phone support the WSA we only need to import the WSDL file from the server and the NetBeans wizard will create a sample application to us.
Steps:
- Create a new Mobile Application
- Right click on the project / New / J2ME Web Service Client
- Write the URL to the WSDL URL box and click on the Retrieve WSDL button
- Check on the Create Sample MIDLet and click on the Finish
Other way without WSA
If the target phone doesn't support the WSA feature we need to use some alternative way, like kSOAP2. We can't use the benefits of the WSDL and we need edit manually the soap message.
Don't forget to add the libs of the kSOAP2 to the project!
package helloworld; import javax.microedition.midlet.MIDlet; import javax.microedition.lcdui.*; import org.ksoap2.SoapEnvelope; import org.ksoap2.serialization.SoapObject; import org.ksoap2.serialization.SoapSerializationEnvelope; import org.ksoap2.transport.HttpTransport; public class HelloWorldMidlet extends MIDlet implements CommandListener { public HelloWorldMidlet() { } // Display private Display display; // Main form private Form form; // For the message private StringItem stringItem; // For the exit command private Command exitCommand; public void commandAction(Command command, Displayable displayable) { if (displayable == form) { if (command == exitCommand) { exitMIDlet(); } } } public void startApp() { // Create form stringItem = new StringItem("Hello", "Hello World!"); form = new Form(null, new Item[] {stringItem}); exitCommand = new Command("Exit", Command.EXIT, 1); form.addCommand(exitCommand); form.setCommandListener(this); // Get display for drawning display = Display.getDisplay(this); display.setCurrent(form); soapCall(); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } public void exitMIDlet() { display.setCurrent(null); destroyApp(true); notifyDestroyed(); } public void soapCall() { SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); // Create your outgoing request SoapObject soapObject = new SoapObject("http://wiki.forum.nokia.com/", "getHello"); // Add a parameter soapObject.addProperty("arg0", "Tibor"); // Assigns the object to the envelope soapEnvelope.setOutputSoapObject(soapObject); // Make the call try { HttpTransport transport = new HttpTransport("http://localhost:8080/HelloService/Hello"); transport.call(null , soapEnvelope); Object responseObject = null; responseObject = soapEnvelope.getResponse(); System.out.println(responseObject); stringItem.setText(responseObject.toString()); } catch (Exception e){ System.out.println("Exception : "+ e.getMessage()); e.printStackTrace(); } } }
Usefull links
| Related Discussions | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Help ... Connection from PC to 6600 using JSR82 problem... | jim226 | Bluetooth Technology | 3 | 2004-05-18 11:29 |
| how to pass values from an exe to sis file | sulabh120881 | General Symbian C++ | 9 | 2007-05-21 08:31 |
| Bluetooth connection questions | calvin.cal | Mobile Java Networking & Messaging & Security | 6 | 2007-02-14 08:12 |
| Help! Can't send sms out | n_kit | Mobile Java Networking & Messaging & Security | 4 | 2006-03-31 07:51 |
| MMS Client | kpollefo | General Messaging | 1 | 2003-02-14 04:42 |





