WebService WAR POJO + JBOSS 5.0.0.GA + SEAM 2.1.1.GA
wespe Jan 26, 2009 6:36 PMHi,
I have a WebService implemented, but have some trouble with it..
The good news is that methods login
and logout
work perfect.
The bad news is that listPartners
just won't do it.
It is throwing a NoClassDefFoundError for org.domain.tracker.session.partner.PartnerList when I try to invoke it.
Please somebody take a look at my code where am I going wrong, because I've been struggling with this for days now and I can't get it!
The WebService is like this:
package org.domain.tracker.ws; import java.util.List; import javax.jws.WebMethod; import javax.jws.WebService; import javax.jws.soap.SOAPBinding; import org.domain.tracker.entity.Partner; import org.domain.tracker.session.partner.PartnerList; import org.jboss.seam.Component; import org.jboss.seam.annotations.security.Restrict; import org.jboss.seam.security.Identity; @WebService(name = "TrackerService", serviceName = "TrackerService") @SOAPBinding(style = SOAPBinding.Style.RPC) public class TrackerService { @WebMethod public boolean login(String username, String password) { Identity.instance().setUsername(username); Identity.instance().setPassword(password); Identity.instance().login(); return Identity.instance().isLoggedIn(); } @WebMethod public boolean logout() { Identity.instance().logout(); return !Identity.instance().isLoggedIn(); } @WebMethod @Restrict("#{identity.loggedIn}") public Partner[] listPartners() { PartnerList pl = (PartnerList) Component.getInstance(PartnerList.class, true); List<Partner> partners = pl.getResultList(); return partners.toArray(new Partner[partners.size()]); } }
web.xml is like this:
<servlet> <servlet-name>TrackerService</servlet-name> <servlet-class>org.domain.tracker.entity.TrackerService</servlet-class> </servlet> <servlet-mapping> <servlet-name>TrackerService</servlet-name> <url-pattern>/trackerService</url-pattern> </servlet-mapping>
components.xml is like this:
<web:context-filter url-pattern="/trackerService"/>
Directory tree is like this:
D:\GANYMEDE\WORKSPACE\TRACKER ? .classpath ? .project ? hibernate-console.properties ? tracker.launch ? ????.settings ? .jsdtscope ? org.eclipse.jdt.core.prefs ? org.eclipse.jst.common.project.facet.core.prefs ? org.eclipse.wst.common.component ? org.eclipse.wst.common.project.facet.core.xml ? org.eclipse.wst.jsdt.ui.superType.container ? org.eclipse.wst.jsdt.ui.superType.name ? org.hibernate.eclipse.console.prefs ? org.jboss.tools.jst.web.xml ? org.jboss.tools.seam.core.prefs ? ????build ? ????classes ? ? components.properties ? ? import.sql ? ? messages_en.properties ? ? seam.properties ? ? security.drl ? ? ? ????META-INF ? ? persistence.xml ? ? ? ????org ? ????domain ? ????tracker ? ????entity ? ? Country.class ? ? Partner.class ? ? PartnerType.class ? ? Role.class ? ? TimeTable.class ? ? User.class ? ? UserDetail.class ? ? ? ????ws ? TrackerService.class ? ????resources ? tracker-ds.xml ? ????src ? ????hot ? ? ? seam.properties ? ? ? ? ? ????org ? ? ????domain ? ? ????tracker ? ? ????session ? ? ? AuthenticationEvents.java ? ? ? ChartProcesser.java ? ? ? TimeTableManager.java ? ? ? TrackerMenu.java ? ? ? ? ? ????auth ? ? ? PasswordBean.java ? ? ? ? ? ????country ? ? ? CountryHome.java ? ? ? CountryList.java ? ? ? ? ? ????partner ? ? ? PartnerHome.java ? ? ? PartnerList.java ? ? ? PartnerTypeHome.java ? ? ? PartnerTypeList.java ? ? ? ? ? ????role ? ? ? RoleHome.java ? ? ? RoleList.java ? ? ? ? ? ????user ? ? RegisterUser.java ? ? UserDetailHome.java ? ? UserDetailList.java ? ? UserHome.java ? ? UserList.java ? ? ? ????main ? ? components.properties ? ? import.sql ? ? messages_en.properties ? ? seam.properties ? ? security.drl ? ? ? ????META-INF ? ? persistence.xml ? ? ? ????org ? ????domain ? ????tracker ? ????entity ? ? Country.java ? ? Partner.java ? ? PartnerType.java ? ? Role.java ? ? TimeTable.java ? ? User.java ? ? UserDetail.java ? ? ? ????ws ? TrackerService.java ? ????WebContent ? country.xhtml ? countryList.xhtml ? editUser.xhtml ? error.xhtml ? home.xhtml ? index.html ? login.page.xml ? login.xhtml ? partner.xhtml ? partnerList.xhtml ? partnerType.xhtml ? partnerTypeList.xhtml ? pie.xhtml ? registerUser.xhtml ? role.xhtml ? roleList.xhtml ? showUser.xhtml ? timeTable.xhtml ? userList.xhtml ? ????img ? dtpick.gif ? error.gif ? manytoone.gif ? msgerror.png ? msginfo.png ? msgwarn.png ? onetomany.gif ? seamlogo.png ? ????layout ? display.xhtml ? edit.xhtml ? menu.xhtml ? sort.xhtml ? template.xhtml ? ????META-INF ? MANIFEST.MF ? ????stylesheet ? theme.css ? theme.xcss ? ????WEB-INF ? .pages.xml.spdia ? components.xml ? faces-config.xml ? jboss-web.xml ? pages.xml ? web.xml ? ????classes ? ????META-INF ????dev ? ? seam.properties ? ? ? ????org ? ????domain ? ????tracker ? ????session ? ? AuthenticationEvents.class ? ? ChartProcesser.class ? ? TimeTableManager.class ? ? TrackerMenu.class ? ? ? ????auth ? ? PasswordBean.class ? ? ? ????country ? ? CountryHome.class ? ? CountryList.class ? ? ? ????partner ? ? PartnerHome.class ? ? PartnerList.class ? ? PartnerTypeHome.class ? ? PartnerTypeList.class ? ? ? ????role ? ? RoleHome.class ? ? RoleList.class ? ? ? ????user ? RegisterUser.class ? UserDetailHome.class ? UserDetailList.class ? UserHome.class ? UserList.class ? ????lib antlr-runtime.jar commons-beanutils.jar commons-digester.jar core.jar drools-compiler.jar drools-core.jar jboss-el.jar jboss-seam-debug.jar jboss-seam-excel.jar jboss-seam-ioc.jar jboss-seam-mail.jar jboss-seam-pdf.jar jboss-seam-remoting.jar jboss-seam-ui.jar jboss-seam.jar jbpm-jpdl.jar jcommon.jar jfreechart.jar jsf-facelets.jar jxl.jar mvel14.jar richfaces-api.jar richfaces-impl.jar richfaces-ui.jar
Thanks for reading it through!
Gabor