Turn Ejb To Web Service : Web Services « EJB3 « Java






Turn Ejb To Web Service


File: jndi.properties

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=localhost:1099


File: Main.java

import javax.naming.InitialContext;

import bean.CountRemote;

public class Main {

  public static void main(String[] a) throws Exception {
    String name = "java2s";
    CountRemote service = null;

    // Context compEnv = (Context) new InitialContext().lookup("java:comp/env");

    // service = (HelloService)new
    // InitialContext().lookup("java:comp/env/ejb/HelloService");
    service = (CountRemote) new InitialContext().lookup("CountBean/remote");

    int countVal = 9;

    service.set(countVal);
    countVal = service.count();
    System.out.println(countVal);
    System.out.println("Calling count() on beans...");

    countVal = service.count();
    System.out.println(countVal);

    service.remove();

  }

}
File: CountBean.java

package bean;

import javax.ejb.Remote;
import javax.ejb.Remove;
import javax.ejb.Stateless;
import javax.jws.WebService;

@Stateless
@Remote(CountRemote.class)
@WebService(serviceName="Counter", portName="CounterPort")
public class CountBean implements CountLocal, CountRemote {

    private int val;

    public int count() {
        System.out.println("count()");
        return ++val;
    }

    public void set(int val) {
        this.val = val;
        System.out.println("set()");
    }

    @Remove
    public void remove() {
        System.out.println("remove()");
    }

}


File: CountLocal.java

package bean;


import javax.ejb.Local;

@Local
public interface CountLocal  {

    /**
     * Increments the counter by 1
     */
    public int count();

    /**
     * Sets the counter to val
     * @param val
     */
    public void set(int val);

    /**
     * removes the counter
     */
    public void remove();
  }



File: CountRemote.java

package bean;



import javax.ejb.Remote;

@Remote
public interface CountRemote{

  /**
   * Increments the counter by 1
   */
  public int count();

  /**
   * Sets the counter to val
   * @param val
   */
  public void set(int val);

  /**
   * removes the counter
   */
  public void remove();
}







           
       








EJB-TurnEjbToWebService.zip( 4,486 k)

Related examples in the same category

1.EJB With Web Method
2.Web Method With Return Type And Parameters
3.EJB Tutorial from JBoss: turn EJB to web service
4.EJB Based Web Services