I am new to Web Services with JBoss. A client is connecting to an EJB3 based Web Service
With JBoss AS 5 and JDK 6 using JAX-WS. I am stuck with the following exception. Some jars
might be missing in the classpath for the client. If it is the case , which ones ?
I have verified that Jboss has correctly deployed the Web Service.
| Exception in thread "main" javax.xml.ws.WebServiceException:Undefined port
type: {http://webservice.samples/}HelloRemoteat
com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:300)at
com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:306)at
javax.xml.ws.Service.getPort(Service.java:161)at
samples.client.BeanWSClient.getPort(BeanWSClient.java:44)at
samples.client.BeanWSClient.main(BeanWSClient.java:35)
BeanWSClient.java (client is a different project than EJB3 WS):
package samples.client;
| import java.net.MalformedURLException;
| import java.net.URL;
| import javax.xml.namespace.QName;
| import javax.xml.ws.Service;
| import samples.webservice.HelloRemote;
|
| public class BeanWSClient {
|
| /**
| * @param args
| */
| public static void main(String[] args) throws Exception{
| // TODO Auto-generated method stub
|
|
| String endpointURI
="http://127.0.0.1:8080/SampleWSEJBProject/HelloWorld?wsdl";
| String helloWorld = "Hello world!";
|
| Object retObj = getPort(endpointURI).echo(helloWorld);
| System.out.println(retObj);
| }
| private static HelloRemote getPort(String endpointURI) throws
MalformedURLException {
| QName serviceName = new
QName("http://www.openuri.org/2004/04/HelloWorld",
"HelloWorldService");
| URL wsdlURL = new URL(endpointURI);
|
|
| Service service = Service.create(wsdlURL, serviceName);
| return service.getPort(HelloRemote.class);
| }
|
|
| }
|
HelloRemote.java:
package samples.webservice;
| import javax.jws.WebService;
| @WebService
| public interface HelloRemote { public String echo(String input);}
HelloWorld.java:
package samples.webservice;
| import javax.ejb.Remote;
| import javax.ejb.Stateless;
| import javax.jws.WebMethod;
| import javax.jws.WebService;
| import javax.jws.soap.SOAPBinding;
| /** * Session Bean implementation class MyBean */
| @WebService(name = "EndpointInterface", targetNamespace =
"http://www.openuri.org/2004/04/HelloWorld", serviceName =
"HelloWorldService")@SOAPBinding(style =
SOAPBinding.Style.RPC)(a)Remote(HelloRemote.class)
| @Stateless
| public class HelloWorld implements HelloRemote {
| /** * @see Object#Object() */
| @WebMethod
| public String echo(String input) { return input; }}
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4221782#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...