javax.naming.NameNotFoundException
olcman Jan 5, 2005 10:54 AMHi,
if i deploy my wsr in my ear and call localhost:8080/jboss-net/servlet/AxisServlet
I get the following error:
Could not find home in JNDI; nested exception is:
javax.naming.NameNotFoundException: DefecttrackServiceLocal not bound
Here is my web-service.xml
<?xml version="1.0" encoding="UTF-8"?> <!-- --> <!-- This JBoss.Net Web Service Descriptor has been generated by XDoclet --> <!-- and is brought to you by F. M. Brier, C. G. Jung and J. Essington --> <!-- --> <deployment name="DefectEJB" xmlns="http://xml.apache.org/axis/wsdd/" targetNamespace="http://net.jboss.org/defectEJB" xmlns:defectEJB="http://net.jboss.org/defectEJB" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <!-- The following are declarations of service endpoints targetted to session beans --> <service name="CfcDefectService" provider="Handler"> <parameter name="handlerClass" value="org.jboss.net.axis.server.EJBProvider"/> <parameter name="beanJndiName" value="DefecttrackServiceLocal"/> <parameter name="homeInterfaceName" value="DefecttrackServiceLocalHome"/> <parameter name="allowedMethods" value="getUnitHeaderByKey "/> <requestFlow name="CfcDefectServiceRequest"> </requestFlow> <responseFlow name="CfcDefectServiceResponse"> </responseFlow> <!-- Operation mapping results --> <operation name="getUnitHeaderByKey" returnQName="getUnitHeader"> <parameter name="pk"/> </operation> </service> <!-- The following are typemappings for entity beans for implementing the implicit web-service value-object pattern --> <!-- The following are typemappings for bean-type value-objects --> <!-- There follow merged custom web service descriptions --> </deployment>
My Application.xml looks like this:
<application> <display-name>CFCDefecttrackEAR</display-name> <description>EAR for CFC Defect tracking System</description> <module> <web> <web-uri>Defectadmin.war</web-uri> <context-root>/Defectadmin</context-root> DefectEJB.wsr </web> </module> <module> <ejb>DefecttrackMgr.jar</ejb> </module> <module> <java>DefectEJB.wsr</java> </module> </application>
My SessionBean looks like this:
package com.motorola.cfcdefect.ejb.cfcservice; import javax.ejb.CreateException; import javax.ejb.SessionBean; import org.apache.log4j.Logger; import com.motorola.cfcdefect.ejb.category.CategoryUtil; import com.motorola.cfcdefect.ejb.category.WipLocationUtil; import com.motorola.cfcdefect.ejb.manager.DefectAccessBean; import com.motorola.cfcdefect.ejb.measuredfn.MeasureDfnUtil; import com.motorola.cfcdefect.ejb.unit.UnitHeaderLocal; import com.motorola.cfcdefect.ejb.unit.UnitHeaderLocalHome; import com.motorola.cfcdefect.ejb.unit.UnitHeaderUtil; import com.motorola.cfcdefect.ejb.unit.UnitHeaderValue; import com.motorola.cfcdefect.ejb.unit.UnitMeasureDfnUtil; import com.motorola.cfcdefect.ejb.unit.UnitMeasureValue; /** * <!-- begin-xdoclet-definition --> * @ejb.bean name="DefecttrackService" * jndi-name="DefecttrackServiceBean" * type="Stateless" * transaction-type="Container" * view-type="local" * * @ejb.ejb-ref ejb-name="DefecttrackService" * view-type="local" * ref-name="ejb/DefecttrackService" * * @ejb.ejb-ref ejb-name="UnitHeader" * view-type="local" * ref-name="ejb/UnitHeaderLocal" * * @jboss-net.web-service * urn="CfcDefectService" * * <!-- end-xdoclet-definition --> * @generated */ public abstract class DefecttrackServiceBean implements javax.ejb.SessionBean { private UnitHeaderLocalHome uhLocalHome; private static Logger log = Logger.getLogger(DefecttrackServiceBean.class); /** * @ejb.create-method * @throws CreateException */ public void ejbCreate()throws CreateException { try { uhLocalHome = UnitHeaderUtil.getLocalHome(); } catch(Exception e) { log.error("ejbCreate :"+e); } } /** * @ejb.interface-method view-type="local" * @jboss-net.web-method returnQName="getUnitHeader" * @param pk * @return */ public UnitHeaderValue getUnitHeaderByKey(String pk) { log.debug("Entering DefecttrackServiceBean.getUnitHeaderByKey"); UnitHeaderValue uhVO = null; try { UnitHeaderLocal ul = uhLocalHome.findByPrimaryKey(pk); uhVO = ul.getUnitHeaderValue(); } catch(Exception e) { log.error("DefecttrackServiceBean.getUnitHeaderByKey :"+e); } return uhVO; } }
Can somebody tell me, what i am doing wrong?