Axis - EJB Provider
babloosony Jan 12, 2005 6:36 AMHi 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.