Eddie, here are some notes I have about Axis EJB services;
Deploying AXIS (beta 1) EJB services on Orion --------------------------------------------- 1./ To deploy axis as a separate application within a single instance of Orion configure and deploy the Axis servlet as normal 2./ Add an ejb-ref entry to the Axis web.xml file, notice that the <ejb-ref-name> tag does not include 'ejb/' <ejb-ref> <description></description> <ejb-ref-name>Foo</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <home>com.foo.FooHome</home> <remote>com.foo.Foo</remote> <ejb-link>Foo</ejb-link> </ejb-ref> 3./ Modify the Orion /conf/server.xml entry for Axis to include the parent tag; <application name="<EJB App name>" path="<app path>" auto-start="true" /> <application name="axis" path="<axis path>" parent="<EJB App name>" auto-start="true" /> NOTE: this is Orion specific :-( To access an application deployed on a different server see http://kb.atlassian.com/content/orion/docs/remote-access/remote-access.html for server configuration details. 4./ Test the Axis deployment with something like http://localhost/axis/services/Version?wsdl this should return the wsdl details for the Axis version service. Now create a deploy.wsdl file for your entity bean in the form below and deploy it using org.apache.axis.client.AdminClient. If everything worked you should be able to access its wsdl details with http://localhost/axis/services/<SOAP service name>?wsdl NOTE: if you comment the remoteInterfaceName parameter this check will only work if the JNDI lookup is successful if it is not commented it will always work if the remoteInterfaceName class is in the classpath. AXIS server deploy.wsdl file --------------------------------- <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="<SOAP service name>" provider="java:EJB"> <parameter name="beanJndiName" value="<EJB JNDI name>"/> <parameter name="homeInterfaceName" value="<EJB home interface class name>"/> <parameter name="remoteInterfaceName" value="<EJB remote interface class name>"/> <parameter name="className" value="<EJB remote interface class name>"/> <parameter name="allowedMethods" value="*"/> </service> </deployment> Hope this helps :-) Evan Hellu, Please some help on my problem below as I can't continue and don't really know what to do. Eddie >From: "Eddie" <[EMAIL PROTECTED]> >Reply-To: [EMAIL PROTECTED] >To: <[EMAIL PROTECTED]> >Subject: Re: Connecting to stateless Session EJB, Lookup error. >Date: Tue, 19 Mar 2002 13:17:20 +0100 > >Hellu, > >Thanks for all the response. >I tried the correct URL syntax (three ///) but still get the naming >exception. >If I, however put the following line in the orion-web.xml: >---- > <ejb-ref-mapping name="ejb/UserManager" >location="java:comp/env/ejb/UserManager" /> >----- > >Which I already had, withou the location attribute, Orion doesn't give >naming exception, but an internal server error. >If I then look in the Orion application log of axis I see all kinds of >lookups followed by a Stackoverflow :(: >--------------- > at com.evermind[Orion/1.5.4 (build 10585)]._bm._es(.:121) > at com.evermind[Orion/1.5.4 (build 10585)]._bm.lookup(.:63 > > at com.evermind[Orion/1.5.4 (build 10585)]._cqb._pu(.:36) > at com.evermind[Orion/1.5.4 (build 10585)]._lj.lookup(.:53 >--------------- > >So what am I doing wrong, or what is happening here ? I am a bit lost here, >so please some help. > >BTW: On page: >http://kb.atlassian.com/content/tutorials/finsiel/ejbsoap.jsp >they do explain how to access Orion EJB with Apache Soap, but how do I use >this with Axis ? > >Isn't there anyone that has an example of Orion EJB access with Axis ? > >Does it help if I use the beta version of Axis (I am using alpha 3) > >Eddie > >----- Original Message ----- >From: "Eddie Post" <[EMAIL PROTECTED]> >To: <[EMAIL PROTECTED]> >Cc: <[EMAIL PROTECTED]> >Sent: Monday, March 18, 2002 1:06 PM >Subject: Connecting to stateless Session EJB, Lookup error. > > > > Hellu, > > > > I am trying to connect to my EJB in Orion 1.5.4 through Apache Axis. > > I configured everyting like in the mail that I found in the mailinglist: > > http://marc.theaimsgroup.com/?l=axis-user&m=100879873023841&w=2 > > > > However, I do get the NamingException (see below) when my test-client >tries > > to invoke the EJB method. > > Please some help or example ? > > > > What I did: > > 1) deployed it with the deploy.xml below. > > 2) Put a EJB ref in the axis web.xml, see below. > > 3) Put a jndi.properties in the Axis WEB-INF dir, see below (also tried >the > > Axis META dir) > > 4) Put a class-path entry in the orion-web-xml file of axis, see below. > > 5) Put a library-path entry in the orion-application-xml file of axis, >see > > below. > > > > Eddie > > > > > > Note: > > a) the jndi file works with a direct client. > > b) Axis works with just one class. > > c) In the mailing list example they use "file:///C:/...." (three >slashes), > > which isn't correct, not ?? > > d) In the mailing list example they use "location" in the orion-web.xml, > > which I don't think is necessary, not ? (I never use it with my J2EE > > applications). If I use it Orion gives an syntax error. > > > > Librarypath entry in the orion-application.xml file: > > ------------ > > <library path="file://C:/Program > > Files/Orion_apps/lib/java/Soap/axis/WEB-INF/jndi.properties" /> > > ------------ > > > > Classpath entry in orion-web.xml: > > ---------- > > <classpath path="file://C:/Program > > Files/Orion_apps/lib/java/Soap/axis/WEB-INF/jndi.properties" /> > > ----------- > > > > > > jndi.properties file: > > --------------- > > >java.naming.factory.initial=com.evermind.server.ApplicationClientInitialCon t >extFactory > > java.naming.provider.url=ormi://localhost/sgs > > java.naming.security.principal=user > > java.naming.security.credentials=12345 > > --------------- > > > > > > EJB ref in web.xml of axis: > > ------------ > > <ejb-ref> > > <description> User Manager of SGS </description> > > <ejb-ref-name>ejb/UserManager</ejb-ref-name> > > <ejb-ref-type>Session</ejb-ref-type> > > <home>nl.unwired.sgs.um.UserManagerHome</home> > > <remote>nl.unwired.sgs.um.UserManager</remote> > > <ejb-link>UserManager</ejb-link> > > </ejb-ref> > > ------------ > > > > > > deploy.xml: > > ------------- > > <deployment xmlns="http://xml.apache.org/axis/wsdd/" > > xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> > > <service name="UserManager" provider="java:EJB"> > > <parameter name="beanJndiName" value="java:comp/env/ejb/UserManager"/> > > <parameter name="className" value="nl.unwired.sgs.um.UserManager"/> > > <parameter name="allowedMethods" value="getAllUsersFromAccount"/> > > </service> > > </deployment> > > ------------- > > > > > > Soap error: > > ------------- > > C:\samples\ed>java -cp .;axis.jar;log4j-core.jar;crimson.jar;jaxp.jar > > ClientEjb 0 > > Exception in thread "main" javax.naming.NamingException: Error inst > > antiating web-app JNDI-context: No location specified and no suitab > > le instance of the type 'nl.unwired.sgs.um.UserManager' found for t > > he ejb-ref ejb/UserManager > > at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAP > > FaultBuilder.java:134) > > at org.apache.axis.encoding.DeserializationContext.endEleme > > nt(DeserializationContext.java:671) > > at org.apache.crimson.parser.Parser2.maybeElement(Parser2.j > > ava:1528) > > at org.apache.crimson.parser.Parser2.content(Parser2.java:1 > > 779) > > at org.apache.crimson.parser.Parser2.maybeElement(Parser2.j > > ava:1507) > > at org.apache.crimson.parser.Parser2.content(Parser2.java:1 > > 779) > > at org.apache.crimson.parser.Parser2.maybeElement(Parser2.j > > ava:1507) > > at org.apache.crimson.parser.Parser2.parseInternal(Parser2. > > java:500) > > at org.apache.crimson.parser.Parser2.parse(Parser2.java:305 > > ) > > at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderI > > mpl.java:442) > > at javax.xml.parsers.SAXParser.parse(SAXParser.java:393) > > at org.apache.axis.encoding.DeserializationContext.parse(De > > serializationContext.java:204) > > at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java > > :378) > > at org.apache.axis.client.Call.invoke(Call.java:1268) > > at org.apache.axis.client.Call.invoke(Call.java:1113) > > at org.apache.axis.client.Call.invoke(Call.java:1043) > > at org.apache.axis.client.ServiceClient.invoke(ServiceClien > > t.java:456) > > at ClientEjb.main(ClientEjb.java:11) > > ----------- > > > > _________________________________________________________________ > > Join the world's largest e-mail service with MSN Hotmail. > > http://www.hotmail.com > > > > > > > > > > _________________________________________________________________ Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp.
