advice needed
andydale Mar 12, 2007 10:55 AMHi,
Let me first explain that i am a beginner when it come to jboss web services, so i am sorry if this is a stupid problem.
I installed jbossws-1.2.0.GA last week to an ejb3-clustered install of jboss4.0.5.GA. I then proceeded to follow the simple step listed here http://wiki.jboss.org/wiki/Wiki.jsp?page=JBWS181HelloWorld
I created an EJB3 (Stateless bean) like so:
@RemoteBinding(jndiBinding = "ws_remote")
@Stateless
@WebService
@SOAPBinding(style = SOAPBinding.Style.RPC)
public class WebServiceTestBean implements IWebServiceTestRemote {
@WebMethod
@WebResult(name = "res")
public String echo(@WebParam(name = "input_string") String pInputString) {
System.out.println(pInputString);
return pInputString + " :: web serviced";
}
............
}And the wsdl generation for it worked. So i am now trying to access it with a simple client. I created the client using the wsconsume.sh script (with -k option) provided with jbossws. This creates the following file:
/**
* JBossWS Generated Source
*
* Generation Date: Mon Mar 12 14:55:35 CET 2007
*
* This generated source code represents a derivative work of the input to
* the generator that produced it. Consult the input for the copyright and
* terms of use that apply to this source code.
*
* JAX-WS Version: 2.0
*
*/
@WebServiceClient(name = "WebServiceTestBeanService", targetNamespace = "http://beans.test.com/", wsdlLocation = "http://172.16.26.83:8080/test/Echo?wsdl")
public class WebServiceTestBeanService extends Service {
private final static URL WEBSERVICETESTBEANSERVICE_WSDL_LOCATION;
static {
URL url = null;
try {
url = new URL("http://172.16.26.83:8080/test/Echo?wsdl");
} catch (MalformedURLException e) {
e.printStackTrace();
}
WEBSERVICETESTBEANSERVICE_WSDL_LOCATION = url;
}
public WebServiceTestBeanService(URL wsdlLocation, QName serviceName) {
super(wsdlLocation, serviceName);
}
public WebServiceTestBeanService() {
super(WEBSERVICETESTBEANSERVICE_WSDL_LOCATION, new QName("http://beans.test.com/", "WebServiceTestBeanService"));
}
/**
*
* @return
* returns WebServiceTestBean
*/
@WebEndpoint(name = "WebServiceTestBeanPort")
public WebServiceTestBean getWebServiceTestBeanPort() {
return (WebServiceTestBean)super.getPort(new QName("http://beans.test.com/", "WebServiceTestBeanPort"), WebServiceTestBean.class);
}
}I then try to create a WebServiceTestBeanService object, and call the getWebServiceTestBeanPort method which should return a proxy to the web service which i can call the test method "echo" with.
I am running into trouble with creating the WebServiceTestBeanService object, as i get a noClassDefFound exception, the stack trace is:
Exception in thread "main" java.lang.NoClassDefFoundError: org/jboss/xb/binding/ObjectModelFactory at org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.<init>(ServiceDelegateImpl.java:108) at org.jboss.ws.core.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:61) at javax.xml.ws.Service.<init>(Service.java:83) at com.test.beans.WebServiceTestBeanService.<init>(WebServiceTestBeanService.java:45) at com.test.beans.driver.main(driver.java:13)
can anybody tell me what i have done wrong.
Cheers,
Andy