[jboss-user] [JBossWS] - Ejb3.0 Stateless session bean as webservice in jboss4.2.2

HTCPrasad do-not-reply at jboss.com
Sun Mar 30 07:42:06 EDT 2008


I had created three files like
 
SimpleWS.java

package com.htc.htcws;

import javax.jws.WebService;
import javax.jws.WebMethod;
import java.rmi.Remote;
import java.rmi.RemoteException;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;


@WebService
@SOAPBinding(style=Style.RPC)
public interface SimpleWS extends Remote
{
  @WebMethod
   public  String greet(String person) 
            throws RemoteException;
}

SimpleWSBean.java
package com.htc.htcws; 

import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;
      
@Stateless
@Remote(SimpleWS.class)
@WebService(endpointInterface="com.htc.htcws.SimpleWS")
@SOAPBinding(style=SOAPBinding.Style.RPC)
public class SimpleWSBean implements SimpleWS
{
  @WebMethod
  public  String greet(String person) 
  {
   return "Hi "+person+" all Good Wishes for Tamil New Year's Day";
  }
  
}

SimpleWSClient.java

package com.htc.htcws;
import javax.xml.rpc.ServiceFactory;
import javax.xml.rpc.Service;
import javax.xml.namespace.QName;
import java.net.URL;
import org.apache.log4j.Logger;
import org.apache.log4j.FileAppender;
import org.apache.log4j.HTMLLayout;
import javax.xml.transform.stream.StreamSource;
import javax.xml.ws.Dispatch;
import javax.xml.ws.Service.Mode;
import javax.xml.ws.Response;
import java.io.StringReader;

public class SimpleWSClient
{ 
  static Logger logger;

  public static void main(String[] args)
  {   
    final String _NAMESPACE = "http://htcws.htc.com/";
    final String _SERVICE = "SimpleWSBeanService";
  
   
  try
  {
   logger = Logger.getRootLogger();
    logger.addAppender(new FileAppender(new HTMLLayout(),
                                       "mylog1.log",true));  
  
  
   URL url =  
     new URL("http://127.0.0.1:10080/simpws/SimpleWSBean?wsdl");
 
    QName qName = new QName(_NAMESPACE,_SERVICE);
    if(args.length!=1)
 
    {
      System.out.print("Give the person-name as args[0]");
      System.exit(1);
    }  
    
    

    ServiceFactory sFactory = ServiceFactory.newInstance();
    
    Service service = sFactory.createService(url,qName);

    System.out.println(".."+service);
  
    SimpleWS invoker =
            (SimpleWS)service.getPort(SimpleWS.class); 
    System.out.println("##"+invoker);

    String res = invoker.greet(args[0]);
    
    System.out.println("Response is::"+res);
   }
   catch(Exception ex)
   {
       System.err.println("Caught the exception as"+ex);
   }
  }

}

the bean getting deployed.but whie running client the error is

java:
     [java] ..org.jboss.ws.core.jaxrpc.client.ServiceImpl at b8c8e6
     [java] ##org.jboss.ws.core.jaxrpc.client.CallImpl at 1542a75
     [java] Caught the exception asjava.rmi.RemoteException: Call invocation failed; nested exception is: 
     [java] 	java.lang.UnsupportedOperationException: setProperty must be overridden by all subclasses of SOAPMessage


    My os is windows vistas ,browser is firefox beta4.0

can you please suggest where the error is or how to use Dispatch,Response objects here
mail is  dtrprasad at gmail.com
                                            

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4139926#4139926

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4139926



More information about the jboss-user mailing list