[jboss-user] [JBossWS] - WebServiceException: Undefined port type

abcd1234 do-not-reply at jboss.com
Sun Mar 29 11:04:02 EDT 2009


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)@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#4221782

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



More information about the jboss-user mailing list