Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

Revision as of 14:28, 27 April 2014 by lpvalente (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Como fazer uma aplicação cliente EJB em Java ME

From Wiki
Jump to: navigation, search
Article Metadata

Artigo
Tradução:
Por maiconherverton
Última alteração feita por lpvalente em 27 Apr 2014


Este artigo cria uma aplicação EJB (Entreprise Java Beans) que recebe strings.

Nós vamos criar uma pequena aplicação EJB e temos duas maneiras de resolver a comunicação a partir do telefone móvel.

Contents

Aplicação EJB

O appliaction espera por uma sequência e envia uma resposta: "Hello $string!"

package com.nokia.developer.wiki;
 
import javax.ejb.Stateless;
import javax.jws.WebService;
 
@Stateless()
@WebService
public class Hello
{
public String getHello(String name)
{
return "Hello " + name + "!";
}
}

Forma fácil com WSA e NetBeans

Se o telefone de destino suporta WSA, só precisamos importar o arquivo WSDL a partir do servidor e o assistente NetBeans irá criar um aplicativo de exemplo para nós.

Passos:

  • Criar uma nova Aplicação móvel (Mobile Application)
  • Com o botão direito clique em Projeto(Project) / Novo(New) / J2ME Web Service Client
  • Escreva a URL para na caixaWSDL URL e clique no botão Retrieve WSDL
  • Vá emCriar um exmeplo MIDLet(Create Sample MIDLet) e clique em Fim(Finish)

Nbhw1.pngNbhw2.pngNbhw3.png

Outro caminho sem WSA

Se o telefone de destino não suporta o recurso WSA, precisamos usar de alguma forma, algo como kSOAP2. Nós não podemos usar os benefícios do WSDL e é preciso editar manualmente a a mensagem 'soap'.

Não se esqueça de adicionar as libs do kSOAP2 no projeto!

Soap1.pngSoap2.png

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;
// Form principal
private Form form;
// Para a mensagem
private StringItem stringItem;
// Para o comando de saida
private Command exitCommand;
 
public void commandAction(Command command, Displayable displayable) {
if (displayable == form) {
if (command == exitCommand) {
exitMIDlet();
}
}
}
 
public void startApp() {
// Cria o formulário
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);
 
// Recupera para desenhar
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);
// Cria o pedido de saída
SoapObject soapObject =
new SoapObject("http://www.developer.nokia.com/Community/Wiki/", "getHello");
// Adiciona o parâmetro
soapObject.addProperty("arg0", "Tibor");
// Atribui o objeto para o envelope
soapEnvelope.setOutputSoapObject(soapObject);
// faz a chamada
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();
}
}
}

Link's úteis

This page was last modified on 27 April 2014, at 14:28.
282 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×