need some help for session bean web service
shupingchen Apr 8, 2007 6:31 AMwhen i develope session bean ws, i encountered the following problem:
Exception in thread "main" java.lang.IllegalArgumentException: Cannot obtain wsdl service: {http://stateless.session.examples}ejb3test
at org.jboss.ws.metadata.builder.jaxws.JAXWSClientMetaDataBuilder.buildMetaDataInternal(JAXWSClientMetaDataBuilder.java:126)
at org.jboss.ws.metadata.builder.jaxws.JAXWSClientMetaDataBuilder.buildMetaData(JAXWSClientMetaDataBuilder.java:80)
at org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.(ServiceDelegateImpl.java:109)
at org.jboss.ws.core.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:61)
at javax.xml.ws.Service.(Unknown Source)
at javax.xml.ws.Service.create(Unknown Source)
at examples.session.ws.JAXWSClient.main(JAXWSClient.java:36)
package examples.session.ws;
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import examples.session.stateless.HelloBean;
/**
* This is an example of a standalone JAX-WS client. To compile, it requires
* some XML artifacts to be generated from the service?s WSDL. This is done in
* the build file.
*
* The mapped XML classes used here are 1. the HelloBean port type class (this
* is NOT the bean impl. class!) 2. the Greeter service class
*/
public class JAXWSClient {
static String host = "localhost";
static String portType = "HelloBean";
static String serviceName = "ejb3test";
static String serviceEndpointAddress = "http://" + host + ":8080/"
+ serviceName;
static String nameSpace = "http://stateless.session.examples";
public static void main(String[] args) throws Exception {
URL wsdlLocation = new URL(serviceEndpointAddress + "/" + portType
+ "?WSDL");
QName serviceNameQ = new QName(nameSpace, serviceName);
// dynamic service usage
Service service = Service.create(wsdlLocation, serviceNameQ);
HelloBean firstGreeterPort = service.getPort(HelloBean.class);
System.out.println("1: " + firstGreeterPort.hello());
// static service usage
// Greeter greeter = new Greeter();
// HelloBean secondGreeterPort = greeter.getGreeterPort();
// System.out.println("2: " + secondGreeterPort.hello());
}
}