0 Replies Latest reply on Jan 12, 2005 6:36 AM by babloosony

    Axis - EJB Provider

    babloosony Newbie

      Hi All,

      I have deployed an ejb on JBoss and I am using axis-1_2RC1. Below is working configuration for this ejb web service in
      server-config.wsdd

       <service name="Demo" provider="Handler" style="wrapped" use="literal"> -->
       <parameter name="handlerClass" value="org.jboss.net.axis.server.EJBProvider" />
       <parameter name="beanJndiName" value="ejb/Demo"/>
       <parameter name="homeInterfaceName" value="com.sosnoski.test.interfaces.DemoHome"/>
       <parameter name="remoteInterfaceName" value="com.sosnoski.test.interfaces.Demo"/>
       <parameter name="allowedMethods" value="getAccountHistory"/>
       <parameter name="className" value="com.sosnoski.test.ejb.DemoBean"/>
      
       <parameter name="jndiURL" value="jnp://localhost:1099"/>
       <parameter name="jndiContextClass" value="org.jnp.interfaces.NamingContextFactory"/>
      
       <parameter name="wsdlPortType" value="DemoInterface"/>
       <parameter name="wsdlServicePort" value="Demo"/>
       <parameter name="wsdlTargetNamespace" value="http://ws.sosnoski.com/wsdl/demo"/>
       <namespace>http://ws.sosnoski.com/wsdl/demo</namespace>
       <wsdlFile>Demo.wsdl</wsdlFile>
      
       <typeMapping xmlns:ns="http://ws.sosnoski.com/schemas/demo" qname="ns:account-history" type="java:com.sosnoski.test.data.AccountHistory" serializer="com.aexp.wsaf.axis.jibx.JibxSerializerFactory" deserializer="com.aexp.wsaf.axis.jibx.JibxDeserializerFactory" encodingStyle=""></typeMapping>
       <typeMapping xmlns:ns="http://ws.sosnoski.com/schemas/demo" qname="ns:tx-details" type="java:com.sosnoski.test.data.TxDetails" serializer="com.aexp.wsaf.axis.jibx.JibxSerializerFactory" deserializer="com.aexp.wsaf.axis.jibx.JibxDeserializerFactory" encodingStyle=""></typeMapping>
       <typeMapping xmlns:ns="http://ws.sosnoski.com/wsdl/demo" qname="ns:ProcessFault" type="java:com.sosnoski.test.data.ProcessFault" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle=""></typeMapping>
       <typeMapping xmlns:ns="http://ws.sosnoski.com/wsdl/demo" qname="ns:RemoteFault" type="java:com.sosnoski.test.data.RemoteFault" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle=""></typeMapping>
       </service>


      Ideally I want make this above configuration work when this ejb web service deployed on any application server like WebSphere 5.0 etc. and
      so I dont't want to use application server provider and if I try below code

      <service name="Demo" provider="java:EJB" style="wrapped" use="literal">
       <parameter name="beanJndiName" value="ejb/Demo"/>
       <parameter name="homeInterfaceName" value="com.sosnoski.test.interfaces.DemoHome"/>
       <parameter name="remoteInterfaceName" value="com.sosnoski.test.interfaces.Demo"/>
       <parameter name="allowedMethods" value="getAccountHistory"/>
       <parameter name="className" value="com.sosnoski.test.ejb.DemoBean"/>
      
       <parameter name="jndiURL" value="jnp://localhost:1099"/>
       <parameter name="jndiContextClass" value="org.jnp.interfaces.NamingContextFactory"/>
      
       <parameter name="wsdlPortType" value="DemoInterface"/>
       <parameter name="wsdlServicePort" value="Demo"/>
       <parameter name="wsdlTargetNamespace" value="http://ws.sosnoski.com/wsdl/demo"/>
       <namespace>http://ws.sosnoski.com/wsdl/demo</namespace>
       <wsdlFile>Demo.wsdl</wsdlFile>
      
       <typeMapping xmlns:ns="http://ws.sosnoski.com/schemas/demo" qname="ns:account-history" type="java:com.sosnoski.test.data.AccountHistory" serializer="com.aexp.wsaf.axis.jibx.JibxSerializerFactory" deserializer="com.aexp.wsaf.axis.jibx.JibxDeserializerFactory" encodingStyle=""></typeMapping>
       <typeMapping xmlns:ns="http://ws.sosnoski.com/schemas/demo" qname="ns:tx-details" type="java:com.sosnoski.test.data.TxDetails" serializer="com.aexp.wsaf.axis.jibx.JibxSerializerFactory" deserializer="com.aexp.wsaf.axis.jibx.JibxDeserializerFactory" encodingStyle=""></typeMapping>
       <typeMapping xmlns:ns="http://ws.sosnoski.com/wsdl/demo" qname="ns:ProcessFault" type="java:com.sosnoski.test.data.ProcessFault" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle=""></typeMapping>
       <typeMapping xmlns:ns="http://ws.sosnoski.com/wsdl/demo" qname="ns:RemoteFault" type="java:com.sosnoski.test.data.RemoteFault" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle=""></typeMapping>
       </service>
      


      I am getting below exception :
      Exception - org.apache.axis.ConfigurationException: org.apache.axis.deployment.wsdd.WSDDException: No provider type matches QName '{http://xml.apache.org/axis/wsdd/providers/java}EJB'
      org.apache.axis.deployment.wsdd.WSDDException: No provider type matches QName '{http://xml.apache.org/axis/wsdd/providers/java}EJB'
       at org.apache.axis.deployment.wsdd.WSDDProvider.getInstance(WSDDProvider.java:204)
       at org.apache.axis.deployment.wsdd.WSDDService.makeNewInstance(WSDDService.java:492)
       at org.apache.axis.deployment.wsdd.WSDDDeployment.getDeployedServices(WSDDDeployment.java:617)
       at org.apache.axis.configuration.FileProvider.getDeployedServices(FileProvider.java:356)
       at org.apache.axis.transport.http.AxisServlet.reportAvailableServices(AxisServlet.java:744)
       at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:252)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
       at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:370)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
       at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:75)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
       at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
       at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
       at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
       at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
       at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
       at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:66)
       at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
       at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:153)
       at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
       at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:54)
       at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
       at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
       at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
       at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
       at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
       at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
       at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
       at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
       at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
       at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
       at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
       at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
       at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
       at java.lang.Thread.run(Thread.java:534)
      


      Can anyone please help me in making this ejb web service deployment configuration using axis generic and not tied to
      any application server ?


      Thanks & Regards,
      Kumar.