Hi, Thanks Frederick, and boostcom.no for your answers to my previous post.
Now, I implemented a session EJB, and deployed it using a .WSR within a .EAR. JBoss 3 Final starts up with no error msg, but the web service doesn't function. Other than configuring the web-service.xml, I have no control, such as viewing the generated code for the stub, and the serializer, to my web service, Region. Do I need any custom (or Axis generated) code in the .WSR? I wrote a M$ .NET client, but got the following error msg. My client code works if I re-write the session bean code as a Java class, and deploy it using the standalone Axis. Since the whole thing is quiet new, may I know more about JBoss.net's structure (its file distribution structure) comparing to the standalone Axis? Thanks very much --- M$ .NET error msg (using the WSDL produced by org.apache.axis.wsdl.Java2WSDL) ============================================================================ = An unhandled exception of type 'System.Web.Services.Protocols.SoapException' occurred in system.web.services.dll Additional information: The AXIS engine could not find a target service to invoke! targetService is Region --- Axis Loaded =========== 15:46:37,557 INFO [Server] JBoss (MX MicroKernel) [3.0.0 Date:200205311035] Started in 0m:50s:192ms 15:46:50,205 INFO [Jetty] JBossAxisServlet: init --- Region Deployed =============== request: http://localhost:8080/axis/services/Region reply: /axis/services/Region Hi there, this is an AXIS service! Perhaps there will be a form for invoking the service here... --- Attempt to get WSDL =================== request: http://localhost:8080/axis/services/Region?wsdl reply: AXIS error Sorry, something seems to have gone wrong... here are the details: The AXIS engine could not find a target service to invoke! targetService is Region --- web-service.xml =============== <?xml version="1.0" encoding="UTF-8"?> <!-- This Web Service Descriptor has been generated by XDoclet/Jbossnet --> <deployment name="esb" xmlns="http://xml.apache.org/axis/wsdd/" targetNamespace="http://services.esb" xmlns:esb="http://services.esb" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="Region" provider="Handler"> <parameter name="handlerClass" value="org.jboss.net.axis.server.EJBProvider"/> <parameter name="beanJndiName" value="Region"/> <parameter name="allowedMethods" value="*"/> <requestFlow name="RegionRequest"> <handler type="java:org.jboss.net.axis.server.TransactionRequestHandler"/> </requestFlow> <responseFlow name="RegionResponse"> <handler type="java:org.jboss.net.axis.server.SerialisationResponseHandler"/> <handler type="java:org.jboss.net.axis.server.TransactionResponseHandler"/> </responseFlow> </service> </deployment> --- RegionBean.java =============== package esb.ejb; import javax.ejb.CreateException; import javax.ejb.SessionBean; import javax.ejb.SessionContext; /** * @ejb:bean name="Region" * jndi-name="Region" * type="Stateless" * view-type="local" * @ejb:ejb-ref ejb-name="Region" * view-type="local" * ref-name="Region" * @ejb:transaction type="Required" * @ejb:transaction-type type="Container" * * @jboss-net:web-service urn="Region" * expose-all="true" */ public class RegionBean implements SessionBean { /** * @ejb:interface-method view-type="local" */ public Integer createRegion(RegionData regionData) { TerritoriesData[] territoriesData = regionData.getTerritoriesData(); System.out.println("create: " + regionData.getRegionId() + ", " + regionData.getRegionDescription()); if (territoriesData != null) { for (int i = 0; i < territoriesData.length; i += 1) { System.out.println("territoriesData: " + territoriesData[i].getTerritoryId() + ", " + territoriesData[i].getTerritoryDescription()); } } return new Integer(1); } /** * @ejb:interface-method view-type="local" */ public void setRegion(RegionData regionData) { TerritoriesData[] territoriesData = regionData.getTerritoriesData(); System.out.println("set: " + regionData.getRegionId() + ", " + regionData.getRegionDescription()); if (territoriesData != null) { for (int i = 0; i < territoriesData.length; i += 1) { System.out.println("territoriesData: " + territoriesData[i].getTerritoryId() + ", " + territoriesData[i].getTerritoryDescription()); } } } /** * @ejb:interface-method view-type="local" */ public RegionData getRegion(Integer regionId) { System.out.println("get: " + regionId); RegionData dataHolder = new RegionData(); dataHolder.setRegionId(new Integer(1)); dataHolder.setRegionDescription("Canada"); return dataHolder; } /** * @ejb:interface-method view-type="local" */ public void removeRegion(Integer regionId) { System.out.println("remove: " + regionId); } public void ejbCreate() throws CreateException {} public void setSessionContext( SessionContext sessionContext ) {} public void ejbActivate() {} public void ejbPassivate() {} public void ejbRemove() {} } _______________________________________________________________ Don't miss the 2002 Sprint PCS Application Developer's Conference August 25-28 in Las Vegas - http://devcon.sprintpcs.com/adp/index.cfm?source=osdntextlink _______________________________________________ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user
