2 Replies Latest reply on Dec 13, 2004 3:57 PM by ricmoore

    OperationDesc for METHOD not synchronized to a method of INT

    ricmoore

      Greetings,

      I'm using JBoss 4.0.0 & JWSDP 1.4's wscompile to generate mapping & wsdl files for several services. 3 of them deploy & work correctly. One, deploys OK, but when I try to access the wsdl file (using http://localhost:8080/ws4ee/services/GetTrainingEstimatesService?wsdl) I get the following error:

      AXIS error
      
      Sorry, something seems to have gone wrong... here are the details:
      
      Exception - org.apache.axis.InternalException: java.lang.Exception: The OperationDesc for getTrainingEstimates was not synchronized to a method of com.sonalysts.apsts.cueing.web.webservices.GetTrainingEstimates.
      


      I am a rank newcomer to things web service. I have perused the JBossWS forum & read the wiki. I am using wscompile to read the SEI & generate serializers, mappiings, & wsdl file.

      Hopefully the material I include below is relevant.

      SEI:

      package com.sonalysts.apsts.cueing.web.webservices ;
      
      import java.rmi.Remote ;
      import java.rmi.RemoteException ;
      
      /**
       * @author ricmoore
       *
       * Web Service interface to return sortable training plan data.
       */
      public interface GetTrainingEstimates extends Remote
      {
       /**
       *
       * @param userIds -
       * a set of users for whom to prepare training plan estimates
       * @param numUsers -
       * how many users (actually a place-holder to delimit the String
       * parameters)
       * @param trainingRequestID -
       * the training request for which the user is to be trained
       * @param numRequests -
       * how many requests (actually a place-holder to delimit the String
       * parameters)
       * @param procIds -
       * the (1 or more) procedures comprising the job/task.
       * @param numProcs -
       * how many procedures (actually a place-holder to delimit the
       * String parameters)
       * @return an array of TrainingDuration instances, one for each user
       * @throws RemoteException
       * @throws DataNotFoundException
       */
       public TrainingDuration[] getTrainingEstimates( String[] userIds,
       int numUsers,
       String trainingRequestID,
       int numRequests,
       String[] procIds,
       int numProcs )
       throws RemoteException, DataNotFoundException ;
      }
      


      The wscompile "command":

       <target name="wscompileGetTrainingEstimates" depends="prepare">
       <exec executable="${jwsdp.home}/jaxrpc/bin/wscompile.bat">
       <arg line="-d ${build.classes.dir}" />
       <arg line="-nd ${wsdl.dir}" />
       <env key="JAVA_XML_PACK_HOME" value="C:/jwsdp-1.4/jaxrpc" />
       <arg line="-classpath C:\apsts\workspace-3.0.1\cueing\docroot\WEB-INF\classes" />
       <arg line="-f:rpcliteral" />
       <arg line="-gen:server" />
       <arg line="-source 1.1.2" />
       <arg line="-s ${basedir}/wssrc" />
       <arg line="-verbose" />
       <arg line="-keep" />
       <arg line="-mapping ${basedir}/docroot/WEB-INF/GTEjaxrpc-mapping.xml" />
       <arg line="src/configTrainingEstimates.xml" />
       </exec>
       </target>
      


      The mapping file (GTEjaxrpc-mapping.xml, mentioned above):

      <?xml version="1.0" encoding="UTF-8"?>
      <java-wsdl-mapping version="1.1" xmlns="http://java.sun.com/xml/ns/j2ee"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd">
       <package-mapping>
       <package-type>
       com.sonalysts.apsts.cueing.web.webservices
       </package-type>
       <namespaceURI>
       http://webservices.web.cueing.apsts.sonalysts.com/types
       </namespaceURI>
       </package-mapping>
       <package-mapping>
       <package-type>
       com.sonalysts.apsts.cueing.web.webservices
       </package-type>
       <namespaceURI>
       http://webservices.web.cueing.apsts.sonalysts.com
       </namespaceURI>
       </package-mapping>
       <package-mapping>
       <package-type>
       com.sonalysts.apsts.cueing.web.webservices._arrays.com.sonalysts.apsts.cueing.web.webservices
       </package-type>
       <namespaceURI>
       http://webservices.web.cueing.apsts.sonalysts.com/types/arrays/com/sonalysts/apsts/cueing/web/webservices
       </namespaceURI>
       </package-mapping>
       <package-mapping>
       <package-type>
       com.sonalysts.apsts.cueing.web.webservices._arrays.java.lang
       </package-type>
       <namespaceURI>
       http://webservices.web.cueing.apsts.sonalysts.com/types/arrays/java/lang
       </namespaceURI>
       </package-mapping>
       <java-xml-type-mapping>
       <java-type>
       com.sonalysts.apsts.cueing.web.webservices.DataNotFoundException
       </java-type>
       <root-type-qname
       xmlns:typeNS="http://webservices.web.cueing.apsts.sonalysts.com/types">
       typeNS:DataNotFoundException
       </root-type-qname>
       <qname-scope>complexType</qname-scope>
       <variable-mapping>
       <java-variable-name>message</java-variable-name>
       <xml-element-name>message</xml-element-name>
       </variable-mapping>
       </java-xml-type-mapping>
       <exception-mapping>
       <exception-type>
       com.sonalysts.apsts.cueing.web.webservices.DataNotFoundException
       </exception-type>
       <wsdl-message
       xmlns:exMsgNS="http://webservices.web.cueing.apsts.sonalysts.com">
       exMsgNS:DataNotFoundException
       </wsdl-message>
       <constructor-parameter-order>
       <element-name>message</element-name>
       </constructor-parameter-order>
       </exception-mapping>
       <service-interface-mapping>
       <service-interface>
       com.sonalysts.apsts.cueing.web.webservices.GetTrainingEstimatesService
       </service-interface>
       <wsdl-service-name
       xmlns:serviceNS="http://webservices.web.cueing.apsts.sonalysts.com">
       serviceNS:GetTrainingEstimatesService
       </wsdl-service-name>
       <port-mapping>
       <port-name>GetTrainingEstimatesPort</port-name>
       <java-port-name>GetTrainingEstimatesPort</java-port-name>
       </port-mapping>
       </service-interface-mapping>
       <service-endpoint-interface-mapping>
       <service-endpoint-interface>
       com.sonalysts.apsts.cueing.web.webservices.GetTrainingEstimates
       </service-endpoint-interface>
       <wsdl-port-type
       xmlns:portTypeNS="http://webservices.web.cueing.apsts.sonalysts.com">
       portTypeNS:GetTrainingEstimates
       </wsdl-port-type>
       <wsdl-binding
       xmlns:bindingNS="http://webservices.web.cueing.apsts.sonalysts.com">
       bindingNS:GetTrainingEstimatesBinding
       </wsdl-binding>
       <service-endpoint-method-mapping>
       <java-method-name>getTrainingEstimates</java-method-name>
       <wsdl-operation>getTrainingEstimates</wsdl-operation>
       <method-param-parts-mapping>
       <param-position>0</param-position>
       <param-type>java.lang.String[]</param-type>
       <wsdl-message-mapping>
       <wsdl-message
       xmlns:wsdlMsgNS="http://webservices.web.cueing.apsts.sonalysts.com">
       wsdlMsgNS:GetTrainingEstimates_getTrainingEstimates
       </wsdl-message>
       <wsdl-message-part-name>
       arrayOfUserIds
       </wsdl-message-part-name>
       <parameter-mode>IN</parameter-mode>
       </wsdl-message-mapping>
       </method-param-parts-mapping>
       <method-param-parts-mapping>
       <param-position>1</param-position>
       <param-type>int</param-type>
       <wsdl-message-mapping>
       <wsdl-message
       xmlns:wsdlMsgNS="http://webservices.web.cueing.apsts.sonalysts.com">
       wsdlMsgNS:GetTrainingEstimates_getTrainingEstimates
       </wsdl-message>
       <wsdl-message-part-name>
       numUsers
       </wsdl-message-part-name>
       <parameter-mode>IN</parameter-mode>
       </wsdl-message-mapping>
       </method-param-parts-mapping>
       <method-param-parts-mapping>
       <param-position>2</param-position>
       <param-type>java.lang.String</param-type>
       <wsdl-message-mapping>
       <wsdl-message
       xmlns:wsdlMsgNS="http://webservices.web.cueing.apsts.sonalysts.com">
       wsdlMsgNS:GetTrainingEstimates_getTrainingEstimates
       </wsdl-message>
       <wsdl-message-part-name>
       TrainingRequest
       </wsdl-message-part-name>
       <parameter-mode>IN</parameter-mode>
       </wsdl-message-mapping>
       </method-param-parts-mapping>
       <method-param-parts-mapping>
       <param-position>3</param-position>
       <param-type>int</param-type>
       <wsdl-message-mapping>
       <wsdl-message
       xmlns:wsdlMsgNS="http://webservices.web.cueing.apsts.sonalysts.com">
       wsdlMsgNS:GetTrainingEstimates_getTrainingEstimates
       </wsdl-message>
       <wsdl-message-part-name>
       numRequests
       </wsdl-message-part-name>
       <parameter-mode>IN</parameter-mode>
       </wsdl-message-mapping>
       </method-param-parts-mapping>
       <method-param-parts-mapping>
       <param-position>4</param-position>
       <param-type>java.lang.String[]</param-type>
       <wsdl-message-mapping>
       <wsdl-message
       xmlns:wsdlMsgNS="http://webservices.web.cueing.apsts.sonalysts.com">
       wsdlMsgNS:GetTrainingEstimates_getTrainingEstimates
       </wsdl-message>
       <wsdl-message-part-name>
       arrayOfProcedures
       </wsdl-message-part-name>
       <parameter-mode>IN</parameter-mode>
       </wsdl-message-mapping>
       </method-param-parts-mapping>
       <method-param-parts-mapping>
       <param-position>5</param-position>
       <param-type>int</param-type>
       <wsdl-message-mapping>
       <wsdl-message
       xmlns:wsdlMsgNS="http://webservices.web.cueing.apsts.sonalysts.com">
       wsdlMsgNS:GetTrainingEstimates_getTrainingEstimates
       </wsdl-message>
       <wsdl-message-part-name>
       numProcs
       </wsdl-message-part-name>
       <parameter-mode>IN</parameter-mode>
       </wsdl-message-mapping>
       </method-param-parts-mapping>
       <wsdl-return-value-mapping>
       <method-return-value>
       com.sonalysts.apsts.cueing.web.webservices.TrainingDuration[]
       </method-return-value>
       <wsdl-message
       xmlns:wsdlMsgNS="http://webservices.web.cueing.apsts.sonalysts.com">
       wsdlMsgNS:GetTrainingEstimates_getTrainingEstimatesResponse
       </wsdl-message>
       <wsdl-message-part-name>result</wsdl-message-part-name>
       </wsdl-return-value-mapping>
       </service-endpoint-method-mapping>
       </service-endpoint-interface-mapping>
      </java-wsdl-mapping>
      


      The wsdl file:

      <?xml version="1.0" encoding="UTF-8"?>
      
      <definitions name="GetTrainingEstimatesService"
       targetNamespace="http://webservices.web.cueing.apsts.sonalysts.com"
       xmlns:tns="http://webservices.web.cueing.apsts.sonalysts.com"
       xmlns="http://schemas.xmlsoap.org/wsdl/"
       xmlns:ns2="http://webservices.web.cueing.apsts.sonalysts.com/types/arrays/com/sonalysts/apsts/cueing/web/webservices"
       xmlns:ns3="http://webservices.web.cueing.apsts.sonalysts.com/types/arrays/java/lang"
       xmlns:xsd="http://www.w3.org/2001/XMLSchema"
       xmlns:ns4="http://webservices.web.cueing.apsts.sonalysts.com/types"
       xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
       <types>
       <schema
       targetNamespace="http://webservices.web.cueing.apsts.sonalysts.com/types/arrays/com/sonalysts/apsts/cueing/web/webservices"
       xmlns:tns="http://webservices.web.cueing.apsts.sonalysts.com/types/arrays/com/sonalysts/apsts/cueing/web/webservices"
       xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:ns2="http://webservices.web.cueing.apsts.sonalysts.com/types"
       xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
       xmlns="http://www.w3.org/2001/XMLSchema">
       <import
       namespace="http://webservices.web.cueing.apsts.sonalysts.com/types" />
       <import
       namespace="http://webservices.web.cueing.apsts.sonalysts.com/types/arrays/java/lang" />
       <complexType name="TrainingDurationArray">
       <sequence>
       <element name="value" type="ns2:TrainingDuration"
       nillable="true" minOccurs="0" maxOccurs="unbounded" />
       </sequence>
       </complexType>
       </schema>
       <schema
       targetNamespace="http://webservices.web.cueing.apsts.sonalysts.com/types/arrays/java/lang"
       xmlns:tns="http://webservices.web.cueing.apsts.sonalysts.com/types/arrays/java/lang"
       xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
       xmlns="http://www.w3.org/2001/XMLSchema">
       <import
       namespace="http://webservices.web.cueing.apsts.sonalysts.com/types" />
       <import
       namespace="http://webservices.web.cueing.apsts.sonalysts.com/types/arrays/com/sonalysts/apsts/cueing/web/webservices" />
       <complexType name="StringArray">
       <sequence>
       <element name="value" type="string" nillable="true"
       minOccurs="0" maxOccurs="unbounded" />
       </sequence>
       </complexType>
       </schema>
       <schema
       targetNamespace="http://webservices.web.cueing.apsts.sonalysts.com/types"
       xmlns:tns="http://webservices.web.cueing.apsts.sonalysts.com/types"
       xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
       xmlns="http://www.w3.org/2001/XMLSchema">
       <import
       namespace="http://webservices.web.cueing.apsts.sonalysts.com/types/arrays/java/lang" />
       <import
       namespace="http://webservices.web.cueing.apsts.sonalysts.com/types/arrays/com/sonalysts/apsts/cueing/web/webservices" />
       <complexType name="TrainingDuration">
       <sequence>
       <element name="_duration" type="float" />
       <element name="_userID" type="string"
       nillable="true" />
       </sequence>
       </complexType>
       <complexType name="DataNotFoundException">
       <sequence>
       <element name="message" type="string"
       nillable="true" />
       </sequence>
       </complexType>
       <element name="DataNotFoundException"
       type="tns:DataNotFoundException" />
       </schema>
       </types>
       <message name="GetTrainingEstimates_getTrainingEstimates">
       <part name="arrayOfUserIds" type="ns3:StringArray" />
       <part name="numUsers" type="xsd:int" />
       <part name="TrainingRequest" type="xsd:string" />
       <part name="numRequests" type="xsd:int" />
       <part name="arrayOfProcedures" type="ns3:StringArray" />
       <part name="numProcs" type="xsd:int" />
       </message>
       <message name="GetTrainingEstimates_getTrainingEstimatesResponse">
       <part name="result" type="ns2:TrainingDurationArray" />
       </message>
       <message name="DataNotFoundException">
       <part name="DataNotFoundException"
       element="ns4:DataNotFoundException" />
       </message>
       <portType name="GetTrainingEstimates">
       <operation name="getTrainingEstimates"
       parameterOrder="arrayOfUserIds numUsers TrainingRequest numRequests arrayOfProcedures numProcs">
       <input
       message="tns:GetTrainingEstimates_getTrainingEstimates" />
       <output
       message="tns:GetTrainingEstimates_getTrainingEstimatesResponse" />
       <fault name="DataNotFoundException"
       message="tns:DataNotFoundException" />
       </operation>
       </portType>
       <binding name="GetTrainingEstimatesBinding"
       type="tns:GetTrainingEstimates">
       <soap:binding transport="http://schemas.xmlsoap.org/soap/http"
       style="rpc" />
       <operation name="getTrainingEstimates">
       <soap:operation soapAction="" />
       <input>
       <soap:body use="literal"
       namespace="http://webservices.web.cueing.apsts.sonalysts.com" />
       </input>
       <output>
       <soap:body use="literal"
       namespace="http://webservices.web.cueing.apsts.sonalysts.com" />
       </output>
       <fault name="DataNotFoundException">
       <soap:fault name="DataNotFoundException" use="literal" />
       </fault>
       </operation>
       </binding>
       <service name="GetTrainingEstimatesService">
       <port name="GetTrainingEstimatesPort"
       binding="tns:GetTrainingEstimatesBinding">
       <soap:address location="REPLACE_WITH_ACTUAL_URL" />
       </port>
       </service>
      </definitions>
      


      The wsdd file as deployed:

      <deployment
       xmlns='http://xml.apache.org/axis/wsdd/'
       xmlns:java='http://xml.apache.org/axis/wsdd/providers/java'
       xmlns:soap='http://schemas.xmlsoap.org/soap/encoding/'
       xmlns:xsi='http://www.w3.org/2000/10/XMLSchema-instance'
       xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
      
      <service name='GetTrainingEstimatesService' style='rpc' use='literal' provider='Handler'>
      
       <parameter name='webservice-identifier' value='CueingWeb.war#GetTrainingEstimates' />
       <parameter name='handlerClass' value='org.jboss.webservice.server.InvokerProviderJSE' />
      
       <operation name='getTrainingEstimates' qname='ns1:getTrainingEstimates' returnQName='result' returnType='ns2:TrainingDurationArray' xmlns:ns1='http://webservices.web.cueing.apsts.sonalysts.com' xmlns:ns2='http://webservices.web.cueing.apsts.sonalysts.com/types/arrays/com/sonalysts/apsts/cueing/web/webservices' >
       <parameter name='arrayOfUserIds' qname='arrayOfUserIds' mode='IN' type='ns3:StringArray' xmlns:ns3='http://webservices.web.cueing.apsts.sonalysts.com/types/arrays/java/lang' />
       <parameter name='numUsers' qname='numUsers' mode='IN' type='xsd:int' />
       <parameter name='TrainingRequest' qname='TrainingRequest' mode='IN' type='xsd:string' />
       <parameter name='numRequests' qname='numRequests' mode='IN' type='xsd:int' />
       <parameter name='arrayOfProcedures' qname='arrayOfProcedures' mode='IN' type='ns3:StringArray' xmlns:ns3='http://webservices.web.cueing.apsts.sonalysts.com/types/arrays/java/lang' />
       <parameter name='numProcs' qname='numProcs' mode='IN' type='xsd:int' />
       <fault name='DataNotFoundException' qname='ns4:DataNotFoundException' type='ns4:DataNotFoundException' class='com.sonalysts.apsts.cueing.web.webservices.DataNotFoundException' xmlns:ns4='http://webservices.web.cueing.apsts.sonalysts.com/types' />
       </operation>
      
       <typeMapping
       qname='ns3:StringArray' xmlns:ns3='http://webservices.web.cueing.apsts.sonalysts.com/types/arrays/java/lang'
       type='java:com.sonalysts.apsts.cueing.web.webservices._arrays.java.lang.StringArray'
       serializer='org.apache.axis.encoding.ser.BeanSerializerFactory'
       deserializer='org.apache.axis.encoding.ser.BeanDeserializerFactory'
       encodingStyle=''>
       </typeMapping>
      
       <typeMapping
       qname='ns2:TrainingDurationArray' xmlns:ns2='http://webservices.web.cueing.apsts.sonalysts.com/types/arrays/com/sonalysts/apsts/cueing/web/webservices'
       type='java:com.sonalysts.apsts.cueing.web.webservices._arrays.com.sonalysts.apsts.cueing.web.webservices.TrainingDurationArray'
       serializer='org.apache.axis.encoding.ser.BeanSerializerFactory'
       deserializer='org.apache.axis.encoding.ser.BeanDeserializerFactory'
       encodingStyle=''>
       </typeMapping>
      
      
      </service>
      </deployment>
      


      webservices.xml (the second on here is the one that does not work):

      <?xml version='1.0' encoding='UTF-8' ?>
      <webservices
       xmlns="http://java.sun.com/xml/ns/j2ee"
       xmlns:impl="http://webservices.web.cueing.apsts.sonalysts.com"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
       http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd"
       version="1.1">
      
       <webservice-description>
       <webservice-description-name>GetTrainingService</webservice-description-name>
       <wsdl-file>WEB-INF/wsdl/GetTrainingService.wsdl</wsdl-file>
       <jaxrpc-mapping-file>WEB-INF/GTjaxrpc-mapping.xml</jaxrpc-mapping-file>
       <port-component>
       <port-component-name>GetTraining</port-component-name>
       <wsdl-port>GetTrainingPort</wsdl-port>
       <service-endpoint-interface>com.sonalysts.apsts.cueing.web.webservices.GetTraining</service-endpoint-interface>
       <service-impl-bean>
       <servlet-link>GetTrainingServlet</servlet-link>
       </service-impl-bean>
       </port-component>
       </webservice-description>
      
       <webservice-description>
       <webservice-description-name>GetTrainingEstimatesService</webservice-description-name>
       <wsdl-file>WEB-INF/wsdl/GetTrainingEstimatesService.wsdl</wsdl-file>
       <jaxrpc-mapping-file>WEB-INF/GTEjaxrpc-mapping.xml</jaxrpc-mapping-file>
       <port-component>
       <port-component-name>GetTrainingEstimates</port-component-name>
       <wsdl-port>GetTrainingEstimatesPort</wsdl-port>
       <service-endpoint-interface>com.sonalysts.apsts.cueing.web.webservices.GetTrainingEstimates</service-endpoint-interface>
       <service-impl-bean>
       <servlet-link>GetTrainingEstimatesServlet</servlet-link>
       </service-impl-bean>
       </port-component>
       </webservice-description>
      
       <webservice-description>
       <webservice-description-name>NotifyAssignmentService</webservice-description-name>
       <wsdl-file>WEB-INF/wsdl/NotifyAssignmentService.wsdl</wsdl-file>
       <jaxrpc-mapping-file>WEB-INF/NAjaxrpc-mapping.xml</jaxrpc-mapping-file>
       <port-component>
       <port-component-name>NotifyAssignment</port-component-name>
       <wsdl-port>NotifyAssignmentPort</wsdl-port>
       <service-endpoint-interface>com.sonalysts.apsts.cueing.web.webservices.NotifyAssignment</service-endpoint-interface>
       <service-impl-bean>
       <servlet-link>NotifyAssignmentServlet</servlet-link>
       </service-impl-bean>
       </port-component>
       </webservice-description>
      
       <webservice-description>
       <webservice-description-name>GetTrainingInfoService</webservice-description-name>
       <wsdl-file>WEB-INF/wsdl/GetTrainingInfoService.wsdl</wsdl-file>
       <jaxrpc-mapping-file>WEB-INF/GTIjaxrpc-mapping.xml</jaxrpc-mapping-file>
       <port-component>
       <port-component-name>GetTrainingInfo</port-component-name>
       <wsdl-port>GetTrainingInfoPort</wsdl-port>
       <service-endpoint-interface>com.sonalysts.apsts.cueing.web.webservices.GetTrainingInfo</service-endpoint-interface>
       <service-impl-bean>
       <servlet-link>GetTrainingInfoServlet</servlet-link>
       </service-impl-bean>
       </port-component>
       </webservice-description>
      
      </webservices>
      


      The various files are packaged into a war, which is placed in an ear, which is then deployed by placing it into the default server deploy directory.

      The server's log shows no errors during deployment:

      17:10:53,039 INFO [EARDeployer] Init J2EE application: file:/C:/jboss-4.0.0/server/default/deploy/CueingApp.ear
      17:11:12,868 INFO [EjbModule] Deploying TopicSegmentPrereqs
      17:11:12,948 INFO [EjbModule] Deploying TopicSegments
      17:11:12,978 INFO [EjbModule] Deploying Personnel
      17:11:13,028 INFO [EjbModule] Deploying Lesson
      17:11:13,078 INFO [EjbModule] Deploying KSA
      17:11:13,088 INFO [EjbModule] Deploying ShipConditions
      17:11:13,158 INFO [EjbModule] Deploying TopicSegmentObjectiveRefs
      17:11:13,178 INFO [EjbModule] Deploying TrainingReq
      17:11:13,208 INFO [EjbModule] Deploying TopicDefinitions
      17:11:13,238 INFO [EjbModule] Deploying LO
      17:11:13,248 INFO [EjbModule] Deploying PlanAttributeSets
      17:11:13,288 INFO [EjbModule] Deploying SeqmentFrames
      17:11:13,298 INFO [EjbModule] Deploying TopicModificationSessions
      17:11:13,348 INFO [EjbModule] Deploying TopicModificationOperations
      17:11:13,368 INFO [EjbModule] Deploying PlanTopics
      17:11:13,458 INFO [EjbModule] Deploying TopicSegmentAttributes
      17:11:13,579 INFO [EjbModule] Deploying TopicTrees
      17:11:13,639 INFO [EjbModule] Deploying Task
      17:11:13,689 INFO [EjbModule] Deploying Procedure
      17:11:13,699 INFO [EjbModule] Deploying PlanDefinition
      17:11:13,739 INFO [EjbModule] Deploying PlanCourse
      17:11:13,799 INFO [EjbModule] Deploying Plan_TPRequirements
      17:11:13,809 INFO [EjbModule] Deploying MRC
      17:11:13,879 INFO [EjbModule] Deploying CueingSession
      17:11:23,853 INFO [EJBDeployer] Deployed: file:/C:/jboss-4.0.0/server/default/tmp/deploy/tmp57523CueingApp.ear-contents/CueingEJB.jar
      17:11:24,755 INFO [TomcatDeployer] deploy, ctxPath=/cueing, warUrl=file:/C:/jboss-4.0.0/server/default/tmp/deploy/tmp57523CueingApp.ear-contents/CueingWeb-exp.war/
      17:11:34,078 INFO [JBossCacheManager] init(): replicationGranularity_ is 0 and invaldateSessionPolicy is 2
      17:11:34,078 ERROR [JBossCacheManager] JBossCacheService to Tomcat clustering not found
      17:11:34,078 ERROR [TomcatDeployer] Failed to setup clustering, clustering disabled
      17:12:09,209 INFO [WSDLFilePublisher] WSDL published to: file:/C:/jboss-4.0.0/server/default/data/wsdl/CueingWeb.war/GetTrainingService.wsdl
      17:12:09,339 INFO [WSDLFilePublisher] WSDL published to: file:/C:/jboss-4.0.0/server/default/data/wsdl/CueingWeb.war/GetTrainingEstimatesService.wsdl
      17:12:09,459 INFO [WSDLFilePublisher] WSDL published to: file:/C:/jboss-4.0.0/server/default/data/wsdl/CueingWeb.war/NotifyAssignmentService.wsdl
      17:12:09,539 INFO [WSDLFilePublisher] WSDL published to: file:/C:/jboss-4.0.0/server/default/data/wsdl/CueingWeb.war/GetTrainingInfoService.wsdl
      17:12:10,210 INFO [AxisService] WSDD published to: C:\jboss-4.0.0\server\default\data\wsdl\CueingWeb.war\GetTrainingService.wsdd
      17:12:10,290 INFO [AxisService] Web Service deployed: http://localhost:8080/cueing/getTraining
      17:12:11,091 INFO [AxisService] WSDD published to: C:\jboss-4.0.0\server\default\data\wsdl\CueingWeb.war\GetTrainingEstimatesService.wsdd
      17:12:11,232 INFO [AxisService] Web Service deployed: http://localhost:8080/cueing/getTrainingEstimates
      17:12:11,752 INFO [AxisService] WSDD published to: C:\jboss-4.0.0\server\default\data\wsdl\CueingWeb.war\NotifyAssignmentService.wsdd
      17:12:11,782 INFO [AxisService] Web Service deployed: http://localhost:8080/cueing/notifyAssignment
      17:12:12,263 INFO [AxisService] WSDD published to: C:\jboss-4.0.0\server\default\data\wsdl\CueingWeb.war\GetTrainingInfoService.wsdd
      17:12:12,353 INFO [AxisService] Web Service deployed: http://localhost:8080/cueing/getTrainingInfo
      17:12:12,724 INFO [EARDeployer] Started J2EE application: file:/C:/jboss-4.0.0/server/default/deploy/CueingApp.ear
      



      Is there anything I could try to determine what the cause of the error is? I'd appreciate any ideas, pointers, or even a good book to read (on the subject of web services or not) at this point. Thanks, in advance.