Hi, Here is my junit test file:
Romain Manni-Bucau wrote: > > public void testCategoryManagerViaRemoteInterface() throws Exception { > Service calcService = Service.create( > new URL("http://127.0.0.1:4204/CategoryManagerImpl?wsdl"), > new QName("http://service.category.houseware.ix/", > "CategoryWsService")); > assertNotNull(calcService); > CategoryWebService cat = > calcService.getPort(CategoryWebService.class); > initialContext.lookup("CategoryManagerImplLocal"); > System.out.println("Size: "+cat.findAll().size()); > } > CategoryWebService.java code: > @WebService(name = "CategoryWebService", targetNamespace = > "http://service.category.houseware.ix/") > @XmlSeeAlso({ > ObjectFactory.class > }) > public interface CategoryWebService { > > > /** > * > * @return > * returns > java.util.List<ix.houseware.category.service.CategorySubcategories> > */ > @WebMethod > @WebResult(targetNamespace = "") > @RequestWrapper(localName = "findAll", targetNamespace = > "http://service.category.houseware.ix/", className = > "ix.houseware.category.service.FindAll") > @ResponseWrapper(localName = "findAllResponse", targetNamespace = > "http://service.category.houseware.ix/", className = > "ix.houseware.category.service.FindAllResponse") > public List<CategorySubcategories> findAll(); > > /** > * > * @param desc > * @param name > * @return > * returns > java.util.List<ix.houseware.category.service.CategorySubcategories> > */ > @WebMethod > @WebResult(targetNamespace = "") > @RequestWrapper(localName = "find", targetNamespace = > "http://service.category.houseware.ix/", className = > "ix.houseware.category.service.Find") > @ResponseWrapper(localName = "findResponse", targetNamespace = > "http://service.category.houseware.ix/", className = > "ix.houseware.category.service.FindResponse") > public List<CategorySubcategories> find( > @WebParam(name = "name", targetNamespace = "") > String name, > @WebParam(name = "desc", targetNamespace = "") > String desc); > > /** > * > * @param desc > * @param name > */ > @WebMethod > @Oneway > @RequestWrapper(localName = "createCategory", targetNamespace = > "http://service.category.houseware.ix/", className = > "ix.houseware.category.service.CreateCategory") > public void createCategory( > @WebParam(name = "name", targetNamespace = "") > String name, > @WebParam(name = "desc", targetNamespace = "") > String desc); > > } > > CategoryManagerLocal.java code: > import ix.houseware.category.service.CategorySubcategories; > import java.util.Collection; > import javax.ejb.Local; > > @Local > public interface CategoryManagerLocal { > Collection<CategorySubcategories> findAll(); > Collection<CategorySubcategories> find(final String name, final String > desc); > int add(int a, int b); > } > CategoryManagerImpl.java code: > import ix.houseware.category.service.CategorySubcategories; > import ix.houseware.category.service.CategoryWebService_Service; > import java.util.ArrayList; > import java.util.Collection; > import java.util.List; > //import org.apache.log4j.Logger; > import javax.ejb.Stateless; > import javax.ejb.LocalBean; > import javax.xml.ws.WebServiceRef; > > @Stateless > //@LocalBean > public class CategoryManagerImpl implements CategoryManagerLocal { > // @WebServiceRef(wsdlLocation = > "META-INF/wsdl/www.ixsystems.com.au/category-ws-0.0.1-SNAPSHOT/services.wsdl") > @WebServiceRef(wsdlLocation = > "http://www.ixsystems.com.au/category-ws-0.0.1-SNAPSHOT/services?wsdl") > private CategoryWebService_Service service; > > // private static final Logger logger = > Logger.getLogger(CategoryManagerImpl.class); > > @Override > public Collection<CategorySubcategories> findAll() { > List<CategorySubcategories> result = new > ArrayList<CategorySubcategories>(); > try { // Call Web Service Operation > ix.houseware.category.service.CategoryWebService port = > service.getCategoryWebServiceImplPort(); > result = port.findAll(); > // logger.info("Result = " +result.toString()); > System.out.println("Result = "+result); > } catch (Exception ex) { > throw new RuntimeException(ex.getMessage()); > } > return result; > } > > @Override > public Collection<CategorySubcategories> find(final String name, final > String desc) { > List<CategorySubcategories> result = new > ArrayList<CategorySubcategories>(); > try { // Call Web Service Operation > ix.houseware.category.service.CategoryWebService port = > service.getCategoryWebServiceImplPort(); > // TODO initialize WS operation arguments here > result = port.find(name, desc); > // logger.info("Result = " +result.toString()); > } catch (Exception ex) { > throw new RuntimeException(ex.getMessage()); > } > return result; > } > > @Override > public int add(int a, int b) { > return a+b; > } > } > > CategoryWebService_Service.java code: > > import java.net.MalformedURLException; > import java.net.URL; > import java.util.logging.Logger; > import javax.xml.namespace.QName; > import javax.xml.ws.Service; > import javax.xml.ws.WebEndpoint; > import javax.xml.ws.WebServiceClient; > import javax.xml.ws.WebServiceFeature; > > > /** > * This class was generated by the JAX-WS RI. > * JAX-WS RI 2.1.3-b02- > * Generated source version: 2.1 > * > */ > @WebServiceClient(name = "CategoryWebService", targetNamespace = > "http://service.category.houseware.ix/", wsdlLocation = > "http://www.ixsystems.com.au/category-ws-0.0.1-SNAPSHOT/services?wsdl") > public class CategoryWebService_Service > extends Service > { > > private final static URL CATEGORYWEBSERVICE_WSDL_LOCATION; > private final static Logger logger = > Logger.getLogger(ix.houseware.category.service.CategoryWebService_Service.class.getName()); > > static { > URL url = null; > try { > URL baseUrl; > baseUrl = > ix.houseware.category.service.CategoryWebService_Service.class.getResource("."); > url = new URL(baseUrl, > "http://www.ixsystems.com.au/category-ws-0.0.1-SNAPSHOT/services?wsdl"); > } catch (MalformedURLException e) { > logger.warning("Failed to create URL for the wsdl Location: > 'http://www.ixsystems.com.au/category-ws-0.0.1-SNAPSHOT/services?wsdl', > retrying as a local file"); > logger.warning(e.getMessage()); > } > CATEGORYWEBSERVICE_WSDL_LOCATION = url; > } > > public CategoryWebService_Service(URL wsdlLocation, QName serviceName) > { > super(wsdlLocation, serviceName); > } > > public CategoryWebService_Service() { > super(CATEGORYWEBSERVICE_WSDL_LOCATION, new > QName("http://service.category.houseware.ix/", "CategoryWebService")); > } > > /** > * > * @return > * returns CategoryWebService > */ > @WebEndpoint(name = "CategoryWebServiceImplPort") > public CategoryWebService getCategoryWebServiceImplPort() { > return super.getPort(new > QName("http://service.category.houseware.ix/", > "CategoryWebServiceImplPort"), CategoryWebService.class); > } > > /** > * > * @param features > * A list of {@link javax.xml.ws.WebServiceFeature} to configure > on the proxy. Supported features not in the <code>features</code> > parameter will have their default values. > * @return > * returns CategoryWebService > */ > @WebEndpoint(name = "CategoryWebServiceImplPort") > public CategoryWebService > getCategoryWebServiceImplPort(WebServiceFeature... features) { > return super.getPort(new > QName("http://service.category.houseware.ix/", > "CategoryWebServiceImplPort"), CategoryWebService.class, features); > } > > } > > Thanks Sam -- View this message in context: http://openejb.979440.n4.nabble.com/Can-t-invoke-web-service-tp3804670p3809306.html Sent from the OpenEJB User mailing list archive at Nabble.com.