1 Reply Latest reply on May 4, 2006 5:41 AM by thomas.diesler

    HelloWorld EJB3-WebService

    ernie2705

      Hi! I´m new to JBoss and also my experience with developing Web Services are reduced to some auto-generating stuff in Netweaver. So I had a look at some internet-pages and found the new features of ejb3 and JBossWS. So I tried to start with a simple HelloWorld EJB + WebService:

      HelloWorldBean:

      @Stateless
      @WebService(
       name="EndpointInterface",
       targetNamespace="http://facade.charon/jaws",
       serviceName="HelloWorldService")
      
      @SOAPBinding(style = SOAPBinding.Style.RPC)
      @Remote(HelloWorldRemoteInterface.class)
      public class HelloWorldBean implements HelloWorldRemoteInterface {
       public static final String RemoteJNDIName = HelloWorldBean.class
       .getSimpleName()
       + "/remote";
      
       @WebMethod
       public String getHello() {
       return "HelloWorld";
       }
      }
      


      HelloWorldRemoteInterface:
      public interface HelloWorldRemoteInterface {
       @WebMethod
       public String getHello();
      }
      


      Client:
      ...
       URL url = new URL("http://localhost:8080/hello/HelloWorldBean?wsdl");
       QName qname = new QName("http://facade.charon/jaws",
       "HelloWorldService");
      
       ServiceFactory factory = ServiceFactory.newInstance();
       Service service = factory.createService(url, qname);
      
       HelloWorldRemoteInterface hw = (HelloWorldRemoteInterface) service
       .getPort(HelloWorldRemoteInterface.class);
       System.out.println(hw.getHello());
      ...
      


      Compiling and deploying works fine, JBoss says WebService started. But when I try to connect via client code, I get following exception within JBoss:
      10:20:40,960 ERROR [SOAPFaultExceptionHelper] SOAP request exception
      javax.xml.rpc.soap.SOAPFaultException: Endpoint {http://facade.charon/jaws}EndpointInterfacePort does not contain operation meta data for: {http://schemas.xmlsoap.org/soap/envelope/}Envelope
      

      on Client side this results to:
      Exception in thread "main" java.lang.ClassCastException: org.jboss.ws.soap.SOAPMessageImpl
      


      The exeption is thrown in following line: System.out.println(hw.getHello());

      Can somebody help me? Maybe somebody can give me a link to a tutorial which contains such an example?

      Thx,
      Ernie