3 Replies Latest reply on Oct 26, 2004 8:10 AM by thomas.diesler

    JBossWS dysfunctional? Can't get DocumentLiteral with Comple

    jlauemoeller

      Hi all,

      I'm trying to get a very simple Document/Literal sample application to work in JBoss 4.0 and I'm failing. The application deploys allright and I'm able to view it's "start page" provided by Axis.

      However, when I call the only method provided by the service, I get the following exception (start-up trace included in case it contains any clues):

      10:02:15,631 INFO [Server] Starting JBoss (MX MicroKernel)...
      10:02:15,634 INFO [Server] Release ID: JBoss [Zion] 4.0.0 (build: CVSTag=JBoss_4_0_0 date=200409200418)
      10:02:15,635 INFO [Server] Home Dir: /home/jacob/development/jboss-4.0.0
      10:02:15,635 INFO [Server] Home URL: file:/home/jacob/development/jboss-4.0.0/
      10:02:15,636 INFO [Server] Library URL: file:/home/jacob/development/jboss-4.0.0/lib/
      10:02:15,638 INFO [Server] Patch URL: null
      10:02:15,639 INFO [Server] Server Name: jboss-ws
      10:02:15,639 INFO [Server] Server Home Dir: /home/jacob/development/jboss-4.0.0/server/jboss-ws
      10:02:15,640 INFO [Server] Server Home URL: file:/home/jacob/development/jboss-4.0.0/server/jboss-ws/
      10:02:15,641 INFO [Server] Server Data Dir: /home/jacob/development/jboss-4.0.0/server/jboss-ws/data
      10:02:15,642 INFO [Server] Server Temp Dir: /home/jacob/development/jboss-4.0.0/server/jboss-ws/tmp
      10:02:15,643 INFO [Server] Server Config URL: file:/home/jacob/development/jboss-4.0.0/server/jboss-ws/conf/
      10:02:15,643 INFO [Server] Server Library URL: file:/home/jacob/development/jboss-4.0.0/server/jboss-ws/lib/
      10:02:15,644 INFO [Server] Root Deployment Filename: jboss-service.xml
      10:02:15,655 INFO [Server] Starting General Purpose Architecture (GPA)...
      10:02:16,874 INFO [ServerInfo] Java version: 1.5.0,Sun Microsystems Inc.
      10:02:16,875 INFO [ServerInfo] Java VM: Java HotSpot(TM) Server VM 1.5.0-b64,Sun Microsystems Inc.
      10:02:16,875 INFO [ServerInfo] OS-System: Linux 2.6.5-7.111-default,i386
      10:02:19,083 INFO [Server] Core system initialized
      10:02:29,884 INFO [Log4jService$URLWatchTimerTask] Configuring from URL: resource:log4j.xml
      10:02:30,378 INFO [WebService] Using RMI server codebase: http://linux:8083/
      10:02:31,362 INFO [NamingService] Started jnpPort=1099, rmiPort=1098, backlog=50, bindAddress=/0.0.0.0, Client SocketFactory=null, Server SocketFactory=org.jboss.net.sockets.DefaultSocketFactory@ad093076
      10:02:58,272 INFO [Embedded] Catalina naming disabled
      10:03:02,176 INFO [Http11Protocol] Initializing Coyote HTTP/1.1 on http-0.0.0.0-8080
      10:03:02,380 INFO [Catalina] Initialization processed in 3585 ms
      10:03:02,381 INFO [StandardService] Starting service jboss.web
      10:03:02,432 INFO [StandardEngine] Starting Servlet Engine: Apache Tomcat/5.0.28
      10:03:02,652 INFO [StandardHost] XML validation disabled
      10:03:02,841 INFO [Catalina] Server startup in 460 ms
      10:03:03,647 INFO [TomcatDeployer] deploy, ctxPath=/jbossmq-httpil, warUrl=file:/home/jacob/development/jboss-4.0.0/server/jboss-ws/deploy/jms/jbossmq-httpil.sar/jbossmq-httpil.war/
      10:03:05,991 INFO [ContextConfig] WARNING: Security role name durpublisher used in an <auth-constraint> without being defined in a <security-role>
      10:03:05,992 INFO [ContextConfig] WARNING: Security role name publisher used in an <auth-constraint> without being defined in a <security-role>
      10:03:05,993 INFO [ContextConfig] WARNING: Security role name guest used in an <auth-constraint> without being defined in a <security-role>
      10:03:05,994 INFO [ContextConfig] WARNING: Security role name j2ee used in an <auth-constraint> without being defined in a <security-role>
      10:03:05,995 INFO [ContextConfig] WARNING: Security role name subscriber used in an <auth-constraint> without being defined in a <security-role>
      10:03:07,860 INFO [TomcatDeployer] deploy, ctxPath=/ws4ee, warUrl=file:/home/jacob/development/jboss-4.0.0/server/jboss-ws/tmp/deploy/tmp9180jboss-ws4ee-exp.war/
      10:03:08,839 INFO [TomcatDeployer] deploy, ctxPath=/invoker, warUrl=file:/home/jacob/development/jboss-4.0.0/server/jboss-ws/deploy/http-invoker.sar/invoker.war/
      10:03:09,868 INFO [TomcatDeployer] deploy, ctxPath=/, warUrl=file:/home/jacob/development/jboss-4.0.0/server/jboss-ws/deploy/jbossweb-tomcat50.sar/ROOT.war/
      10:03:22,885 INFO [RARDeployment] Required license terms exist view the META-INF/ra.xml: file:/home/jacob/development/jboss-4.0.0/server/jboss-ws/deploy/jms/jms-ra.rar
      10:03:23,816 INFO [RARDeployment] Required license terms exist view the META-INF/ra.xml: file:/home/jacob/development/jboss-4.0.0/server/jboss-ws/deploy/jboss-local-jdbc.rar
      10:03:24,754 INFO [RARDeployment] Required license terms exist view the META-INF/ra.xml: file:/home/jacob/development/jboss-4.0.0/server/jboss-ws/deploy/jboss-xa-jdbc.rar
      10:03:30,421 INFO [ConnectionFactoryBindingService] Bound connection factory for resource adapter for ConnectionManager 'jboss.jca:service=ConnectionFactoryBinding,name=JmsXA to JNDI name 'java:JmsXA'
      10:03:30,927 INFO [WrapperDataSourceService] Bound connection factory for resource adapter for ConnectionManager 'jboss.jca:service=DataSourceBinding,name=DefaultDS to JNDI name 'java:DefaultDS'
      10:03:33,413 INFO [UILServerILService] JBossMQ UIL service available at : /0.0.0.0:8093
      10:03:33,652 INFO [OIL2ServerILService] JBossMQ OIL2 service available at : /0.0.0.0:8092
      10:03:34,136 INFO [OILServerILService] JBossMQ OIL service available at : /0.0.0.0:8090
      10:03:34,287 INFO [DLQ] Bound to JNDI name: queue/DLQ
      10:03:34,389 INFO [testTopic] Bound to JNDI name: topic/testTopic
      10:03:34,394 INFO [securedTopic] Bound to JNDI name: topic/securedTopic
      10:03:34,403 INFO [testDurableTopic] Bound to JNDI name: topic/testDurableTopic
      10:03:34,494 INFO [testQueue] Bound to JNDI name: queue/testQueue
      10:03:34,520 INFO [A] Bound to JNDI name: queue/A
      10:03:34,524 INFO [B] Bound to JNDI name: queue/B
      10:03:34,532 INFO [C] Bound to JNDI name: queue/C
      10:03:34,538 INFO [D] Bound to JNDI name: queue/D
      10:03:34,543 INFO [ex] Bound to JNDI name: queue/ex
      10:03:35,825 INFO [MailService] Mail Service bound to java:/Mail
      10:03:39,516 INFO [EjbModule] Deploying MEJB
      10:03:40,475 INFO [EJBDeployer] Deployed: file:/home/jacob/development/jboss-4.0.0/server/jboss-ws/deploy/management/ejb-management.jar
      10:03:41,033 INFO [TomcatDeployer] deploy, ctxPath=/web-console, warUrl=file:/home/jacob/development/jboss-4.0.0/server/jboss-ws/deploy/management/web-console.war/
      10:03:45,182 INFO [TomcatDeployer] deploy, ctxPath=/jmx-console, warUrl=file:/home/jacob/development/jboss-4.0.0/server/jboss-ws/deploy/jmx-console.war/
      10:03:46,094 INFO [EARDeployer] Init J2EE application: file:/home/jacob/development/jboss-4.0.0/server/jboss-ws/deploy/jboss-ws.ear
      10:03:49,056 INFO [TomcatDeployer] deploy, ctxPath=/WeatherSevice, warUrl=file:/home/jacob/development/jboss-4.0.0/server/jboss-ws/tmp/deploy/tmp9236jboss-ws.ear-contents/WeatherService-exp.war/
      10:03:51,544 INFO [WSDLFilePublisher] WSDL published to: file:/home/jacob/development/jboss-4.0.0/server/jboss-ws/data/wsdl/WeatherService.war/WeatherService-1.0.wsdl
      10:03:54,990 WARN [ServiceDescription] Guessing fault java type from qname: jbossws.server.ws.ForecastNotAvailableDetails
      10:03:55,354 INFO [AxisService] WSDD published to: /home/jacob/development/jboss-4.0.0/server/jboss-ws/data/wsdl/WeatherService.war/WeatherService.wsdd
      10:03:56,682 INFO [AxisService] Web Service deployed: http://localhost:8080/WeatherSevice/WeatherService
      10:03:56,821 INFO [EARDeployer] Started J2EE application: file:/home/jacob/development/jboss-4.0.0/server/jboss-ws/deploy/jboss-ws.ear
      10:03:57,813 INFO [Http11Protocol] Starting Coyote HTTP/1.1 on http-0.0.0.0-8080
      10:03:58,602 INFO [ChannelSocket] JK2: ajp13 listening on /0.0.0.0:8009
      10:03:58,610 INFO [JkMain] Jk running ID=0 time=1/120 config=null
      10:03:58,768 INFO [Server] JBoss (MX MicroKernel) [4.0.0 (build: CVSTag=JBoss_4_0_0 date=200409200418)] Started in 1m:41s:762ms
      10:08:43,986 ERROR [RPCInvocation] org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
      org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
       at org.apache.axis.encoding.ser.SimpleDeserializer.onStartChild(SimpleDeserializer.java:207)
       at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:1188)
       at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:244)
       at org.apache.axis.message.SOAPElementAxisImpl.publishToHandler(SOAPElementAxisImpl.java:1407)
       at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:263)
       at org.apache.axis.message.RPCElement.getParams(RPCElement.java:397)
       at org.apache.axis.providers.java.RPCInvocation.prepareFromRequestEnvelope(RPCInvocation.java:232)
       at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:104)
       at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:360)
       at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:73)
       at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:162)
       at org.apache.axis.SimpleChain.invoke(SimpleChain.java:125)
       at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:557)
       at org.jboss.webservice.server.ServerEngine.invokeInternal(ServerEngine.java:202)
       at org.jboss.webservice.server.ServerEngine.invoke(ServerEngine.java:91)
       at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:971)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
       at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:372)
       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:44)
       at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
       at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:169)
       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:595)
      10:08:44,276 ERROR [ServerEngine] Server error: AxisFault
       faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client
       faultSubcode:
       faultString: javax.xml.rpc.JAXRPCException: org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
       faultActor:
       faultNode:
       faultDetail:
       {http://xml.apache.org/axis/}stackTrace: javax.xml.rpc.JAXRPCException: org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
       at org.apache.axis.providers.java.RPCInvocation.prepareFromRequestEnvelope(RPCInvocation.java:401)
       at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:104)
       at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:360)
       at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:73)
       at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:162)
       at org.apache.axis.SimpleChain.invoke(SimpleChain.java:125)
       at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:557)
       at org.jboss.webservice.server.ServerEngine.invokeInternal(ServerEngine.java:202)
       at org.jboss.webservice.server.ServerEngine.invoke(ServerEngine.java:91)
       at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:971)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
       at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:372)
       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:44)
       at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
       at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:169)
       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:595)
      Caused by: org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
       at org.apache.axis.encoding.ser.SimpleDeserializer.onStartChild(SimpleDeserializer.java:207)
       at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:1188)
       at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:244)
       at org.apache.axis.message.SOAPElementAxisImpl.publishToHandler(SOAPElementAxisImpl.java:1407)
       at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:263)
       at org.apache.axis.message.RPCElement.getParams(RPCElement.java:397)
       at org.apache.axis.providers.java.RPCInvocation.prepareFromRequestEnvelope(RPCInvocation.java:232)
       ... 43 more
      
       {http://xml.apache.org/axis/}isRuntimeException: true
      
      10:08:44,288 INFO [AxisServlet] AxisFault:
      AxisFault
       faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client
       faultSubcode:
       faultString: javax.xml.rpc.JAXRPCException: org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
       faultActor:
       faultNode:
       faultDetail:
       {http://xml.apache.org/axis/}stackTrace: javax.xml.rpc.JAXRPCException: org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
       at org.apache.axis.providers.java.RPCInvocation.prepareFromRequestEnvelope(RPCInvocation.java:401)
       at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:104)
       at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:360)
       at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:73)
       at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:162)
       at org.apache.axis.SimpleChain.invoke(SimpleChain.java:125)
       at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:557)
       at org.jboss.webservice.server.ServerEngine.invokeInternal(ServerEngine.java:202)
       at org.jboss.webservice.server.ServerEngine.invoke(ServerEngine.java:91)
       at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:971)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
       at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:372)
       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:44)
       at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
       at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:169)
       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:595)
      Caused by: org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
       at org.apache.axis.encoding.ser.SimpleDeserializer.onStartChild(SimpleDeserializer.java:207)
       at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:1188)
       at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:244)
       at org.apache.axis.message.SOAPElementAxisImpl.publishToHandler(SOAPElementAxisImpl.java:1407)
       at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:263)
       at org.apache.axis.message.RPCElement.getParams(RPCElement.java:397)
       at org.apache.axis.providers.java.RPCInvocation.prepareFromRequestEnvelope(RPCInvocation.java:232)
       ... 43 more
      
       {http://xml.apache.org/axis/}isRuntimeException: true
      
      javax.xml.rpc.JAXRPCException: org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
       at org.apache.axis.AxisFault.makeFault(AxisFault.java:139)
       at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:376)
       at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:73)
       at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:162)
       at org.apache.axis.SimpleChain.invoke(SimpleChain.java:125)
       at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:557)
       at org.jboss.webservice.server.ServerEngine.invokeInternal(ServerEngine.java:202)
       at org.jboss.webservice.server.ServerEngine.invoke(ServerEngine.java:91)
       at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:971)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
       at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:372)
       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:44)
       at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
       at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:169)
       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:595)
      Caused by: javax.xml.rpc.JAXRPCException: org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
       at org.apache.axis.providers.java.RPCInvocation.prepareFromRequestEnvelope(RPCInvocation.java:401)
       at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:104)
       at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:360)
       ... 41 more
      Caused by: org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
       at org.apache.axis.encoding.ser.SimpleDeserializer.onStartChild(SimpleDeserializer.java:207)
       at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:1188)
       at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:244)
       at org.apache.axis.message.SOAPElementAxisImpl.publishToHandler(SOAPElementAxisImpl.java:1407)
       at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:263)
       at org.apache.axis.message.RPCElement.getParams(RPCElement.java:397)
       at org.apache.axis.providers.java.RPCInvocation.prepareFromRequestEnvelope(RPCInvocation.java:232)
       ... 43 more
      


      How is this possible considering that both client and server were generated by the Axis version embedded in JBoss? Stepping through Axis as the request is handled hasn't yet provided much of a clue as to what is going on, but so far it seems to me that the DeserializationContextImpl class is failing when it attempts to deserialize the fake RPC call it has converted the Document message into.

      Any clues would be much appreciated. Curiously, this sample application is quite like one I developed using JBoss 4.0 / Axis 1.2beta2 (with JBossWS undeployed) which leads me to think that the problem lies with Axis 1.1.

      Right now it looks as though I'll have to either use a different App server (for J2EE WS compliance) or replace JBossWS with Suns reference implementation and live with the fact that I'll have to write the Servlet-to-Endpoint glue code myself. Too bad.

      For reference, here are the various files involved:

      WSDL
      <?xml version="1.0" encoding="UTF-8"?>
      <wsdl:definitions
       name="WeatherService"
       targetNamespace="http://jbossws/weatherservice/service/1.0"
       xmlns:ws="http://jbossws/weatherservice/service/1.0"
       xmlns:xs="http://www.w3.org/2001/XMLSchema"
       xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
       xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
      
       <wsdl:types>
       <xs:schema targetNamespace="http://jbossws/weatherservice/service/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
      
       <xs:import namespace="http://jbossws/weatherservice/service/1.0" schemaLocation="WeatherService-1.0.xsd"/>
      
       </xs:schema>
       </wsdl:types>
      
       <!-- Messages -->
      
       <wsdl:message name="GetForecastRequest">
       <wsdl:part name="request" element="ws:GetForecastRequestDocument"/>
       </wsdl:message>
      
       <wsdl:message name="GetForecastResponse">
       <wsdl:part name="response" element="ws:GetForecastResponseDocument"/>
       </wsdl:message>
      
       <wsdl:message name="ForecastNotAvailableFault">
       <wsdl:part name="errorMessage" element="ws:ForecastNotAvailableDetails"/>
       </wsdl:message>
      
       <wsdl:portType name="WeatherServicePortType">
       <wsdl:operation name="getForecast">
       <wsdl:input name="in" message="ws:GetForecastRequest"/>
       <wsdl:output name="out" message="ws:GetForecastResponse"/>
       <wsdl:fault name="ForecastNotAvailableFault" message="ws:ForecastNotAvailableFault"/>
       </wsdl:operation>
       </wsdl:portType>
      
       <wsdl:binding name="WeatherServiceSoapBinding" type="ws:WeatherServicePortType">
       <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
       <wsdl:operation name="getForecast">
       <soap:operation soapAction="http://jbossws/weatherservice/service/2.0/GetForecast"/>
       <wsdl:input>
       <soap:body use="literal"/>
       </wsdl:input>
       <wsdl:output>
       <soap:body use="literal"/>
       </wsdl:output>
       <wsdl:fault name="ForecastNotAvailableFault">
       <soap:fault name="ForecastNotAvailableFault" use="literal"/>
       </wsdl:fault>
       </wsdl:operation>
       </wsdl:binding>
      
       <wsdl:service name="WeatherService">
       <wsdl:documentation>Weather Service</wsdl:documentation>
       <wsdl:port name="WeatherServicePort" binding="ws:WeatherServiceSoapBinding">
       <soap:address location="http://localhost:8080/weatherservice/services/WeatherServicePort"/>
       </wsdl:port>
       </wsdl:service>
      
      </wsdl:definitions>


      WeatherService WSDL Type Schema
      This schema defines the request and response documents used in the WSDL. It includes the Forecast schema (see below) which defines the business types involved.
      <xs:schema
       xmlns:xs="http://www.w3.org/2001/XMLSchema"
       xmlns:fc="http://jbossws/weatherservice/forecast/1.0"
       xmlns:ws="http://jbossws/weatherservice/service/1.0"
       targetNamespace="http://jbossws/weatherservice/service/1.0"
       elementFormDefault="qualified" attributeFormDefault="unqualified"
       >
      
       <xs:import namespace="http://jbossws/weatherservice/forecast/1.0" schemaLocation="Forecast-1.0.xsd"/>
      
       <!-- Common Types -->
      
       <xs:complexType name="ForecastNotAvailableDetails">
       <xs:sequence>
       <xs:element name="incidentToken" type="xs:string"/>
       <xs:element name="explanation" type="xs:string"/>
       </xs:sequence>
       </xs:complexType>
      
       <xs:element name="ForecastNotAvailableDetails" type="ws:ForecastNotAvailableDetails"/>
      
       <!-- GetForecast -->
      
       <xs:complexType name="GetForecastRequestDocument">
       <xs:sequence>
       <xs:element ref="fc:Query"/>
       </xs:sequence>
       </xs:complexType>
      
       <xs:complexType name="GetForecastResponseDocument">
       <xs:sequence>
       <xs:element ref="fc:Forecast"/>
       </xs:sequence>
       </xs:complexType>
      
       <xs:element name="GetForecastRequestDocument" type="ws:GetForecastRequestDocument"/>
       <xs:element name="GetForecastResponseDocument" type="ws:GetForecastResponseDocument"/>
      
       </xs:schema>
      


      WeatherService Forecast Schema
      This schema defines the business types used by the Weather Service.
      <?xml version="1.0" encoding="UTF-8"?>
      
      <xs:schema
       targetNamespace="http://jbossws/weatherservice/forecast/1.0"
       xmlns:fc="http://jbossws/weatherservice/forecast/1.0"
       xmlns:xs="http://www.w3.org/2001/XMLSchema"
       elementFormDefault="qualified" attributeFormDefault="unqualified">
      
       <xs:complexType name="Query">
       <xs:sequence>
       <xs:element name="numberOfDays" type="xs:int"/>
       </xs:sequence>
       </xs:complexType>
      
       <xs:element name="Query" type="fc:Query"/>
      
       <xs:complexType name="Day">
       <xs:sequence>
       <xs:element name="date" type="xs:date"/>
       <xs:element name="prediction" type="xs:string"/>
       </xs:sequence>
       </xs:complexType>
      
       <xs:complexType name="Forecast">
       <xs:sequence>
       <xs:element name="Day" type="fc:Day" maxOccurs="unbounded"/>
       </xs:sequence>
       </xs:complexType>
      
       <xs:element name="Forecast" type="fc:Forecast"/>
      </xs:schema>
      


      Sample SOAP Request / Response message pair
      I have manually validated the body of the envelope against the relevant schemas and it checks out ok.
      POST /WeatherSevice/WeatherService HTTP/1.0
      Content-Type: text/xml; charset=utf-8
      Accept: application/soap+xml, application/dime, multipart/related, text/*
      User-Agent: Axis/1.1
      Host: 127.0.0.1
      Cache-Control: no-cache
      Pragma: no-cache
      SOAPAction: "http://jbossws/weatherservice/service/2.0/GetForecast"
      Content-Length: 509
      
      <?xml version="1.0" encoding="UTF-8"?>
      <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <soapenv:Body>
       <GetForecastRequestDocument xmlns="http://jbossws/weatherservice/service/1.0">
       <ns1:Query xmlns:ns1="http://jbossws/weatherservice/forecast/1.0">
       <ns1:numberOfDays>5</ns1:numberOfDays>
       </ns1:Query>
       </GetForecastRequestDocument>
       </soapenv:Body>
      </soapenv:Envelope>

      HTTP/1.1 500 Internal Server Error
      
      X-Powered-By: Servlet 2.4; Tomcat-5.0.28/JBoss-4.0.0 (build: CVSTag=JBoss_4_0_0 date=200409200418)
      Content-Type: text/xml;charset=utf-8
      Date: Tue, 26 Oct 2004 08:08:44 GMT
      Server: Apache-Coyote/1.1
      Connection: close
      
      <?xml version="1.0" encoding="UTF-8"?>
      <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <soapenv:Body>
       <soapenv:Fault>
       <faultcode>soapenv:Client</faultcode>
       <faultstring>javax.xml.rpc.JAXRPCException: org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.</faultstring>
       <detail/>
       </soapenv:Fault>
       </soapenv:Body>
      </soapenv:Envelope>


        • 1. Re: JBossWS dysfunctional? Can't get DocumentLiteral with Co
          thomas.diesler

          Is there a type mapping missing? Have a look at the generated wsdd in ${jboss.server.data.dir}/wsdl

          • 2. Re: JBossWS dysfunctional? Can't get DocumentLiteral with Co
            jlauemoeller

            Hi Thomas,

            Thanks for looking into this. The WSDD generated by JBoss looks like this:

            <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='WeatherService' style='document' use='literal' provider='Handler'>
            
             <parameter name='webservice-identifier' value='WeatherService.war#WeatherServiceJSE' />
             <parameter name='handlerClass' value='org.jboss.webservice.server.InvokerProviderJSE' />
            
             <operation name='getForecast' qname='ns1:getForecast' returnQName='ns1:GetForecastResponseDocument' returnType='ns1:GetForecastResponseDocument' xmlns:ns1='http://jbossws/weatherservice/service/1.0' >
             <parameter name='request' qname='ns1:GetForecastRequestDocument' mode='IN' type='ns1:GetForecastRequestDocument' xmlns:ns1='http://jbossws/weatherservice/service/1.0' />
             <fault name='errorMessage' qname='ns1:ForecastNotAvailableDetails' type='ns1:ForecastNotAvailableDetails' class='jbossws.server.ws.ForecastNotAvailableDetails' xmlns:ns1='http://jbossws/weatherservice/service/1.0' />
             </operation>
            
             <typeMapping
             qname='ns1:GetForecastRequestDocument' xmlns:ns1='http://jbossws/weatherservice/service/1.0'
             type='java:jbossws.server.ws.GetForecastRequestDocument'
             serializer='org.apache.axis.encoding.ser.BeanSerializerFactory'
             deserializer='org.apache.axis.encoding.ser.BeanDeserializerFactory'
             encodingStyle=''>
             </typeMapping>
            
             <typeMapping
             qname='ns1:GetForecastResponseDocument' xmlns:ns1='http://jbossws/weatherservice/service/1.0'
             type='java:jbossws.server.ws.GetForecastResponseDocument'
             serializer='org.apache.axis.encoding.ser.BeanSerializerFactory'
             deserializer='org.apache.axis.encoding.ser.BeanDeserializerFactory'
             encodingStyle=''>
             </typeMapping>
            
            
            </service>
            </deployment>
            


            This is somewhat different from the WSDD file generated by Axis as part of the build step:

            <!-- Use this file to deploy some handlers/chains and services -->
            <!-- Two ways to do this: -->
            <!-- java org.apache.axis.client.AdminClient deploy.wsdd -->
            <!-- after the axis server is running -->
            <!-- or -->
            <!-- java org.apache.axis.utils.Admin client|server deploy.wsdd -->
            <!-- from the same directory that the Axis engine runs -->
            
            <deployment
             xmlns="http://xml.apache.org/axis/wsdd/"
             xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
            
             <!-- Services from WeatherService WSDL service -->
            
             <service name="WeatherServicePort" provider="java:RPC" style="document" use="literal">
             <parameter name="wsdlTargetNamespace" value="http://jbossws/weatherservice/service/1.0"/>
             <parameter name="wsdlServiceElement" value="WeatherService"/>
             <parameter name="wsdlServicePort" value="WeatherServicePort"/>
             <parameter name="className" value="jbossws.server.ws.WeatherServiceSoapBindingImpl"/>
             <parameter name="wsdlPortType" value="WeatherServicePortType"/>
             <operation name="getForecast" qname="getForecast" returnQName="retNS:GetForecastResponseDocument" xmlns:retNS="http://jbossws/weatherservice/service/1.0" returnType="rtns:GetForecastResponseDocument" xmlns:rtns="http://jbossws/weatherservice/service/1.0" >
             <parameter qname="pns:GetForecastRequestDocument" xmlns:pns="http://jbossws/weatherservice/service/1.0" type="tns:GetForecastRequestDocument" xmlns:tns="http://jbossws/weatherservice/service/1.0"/>
             <fault name="ForecastNotAvailableFault" qname="fns:ForecastNotAvailableDetails" xmlns:fns="http://jbossws/weatherservice/service/1.0" class="jbossws.server.ws.ForecastNotAvailableDetails" type="tns:ForecastNotAvailableDetails" xmlns:tns="http://jbossws/weatherservice/service/1.0"/>
             </operation>
             <parameter name="allowedMethods" value="getForecast"/>
            
             <typeMapping
             xmlns:ns="http://jbossws/weatherservice/forecast/1.0"
             qname="ns:Day"
             type="java:jbossws.server.ws.Day"
             serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
             deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
             encodingStyle=""
             />
             <typeMapping
             xmlns:ns="http://jbossws/weatherservice/service/1.0"
             qname="ns:GetForecastRequestDocument"
             type="java:jbossws.server.ws.GetForecastRequestDocument"
             serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
             deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
             encodingStyle=""
             />
             <typeMapping
             xmlns:ns="http://jbossws/weatherservice/forecast/1.0"
             qname="ns:Forecast"
             type="java:jbossws.server.ws.Forecast"
             serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
             deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
             encodingStyle=""
             />
             <typeMapping
             xmlns:ns="http://jbossws/weatherservice/forecast/1.0"
             qname="ns:Query"
             type="java:jbossws.server.ws.Query"
             serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
             deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
             encodingStyle=""
             />
             <typeMapping
             xmlns:ns="http://jbossws/weatherservice/service/1.0"
             qname="ns:ForecastNotAvailableDetails"
             type="java:jbossws.server.ws.ForecastNotAvailableDetails"
             serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
             deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
             encodingStyle=""
             />
             <typeMapping
             xmlns:ns="http://jbossws/weatherservice/service/1.0"
             qname="ns:GetForecastResponseDocument"
             type="java:jbossws.server.ws.GetForecastResponseDocument"
             serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
             deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
             encodingStyle=""
             />
             </service>
            </deployment>
            


            By the way; I think there is a bug in the JBoss deployer that rewrites the WSDD file: if the the operation name in the WSDL starts with an uppercase letter, Axis will still generate a Java method in the binding interface that starts with a lowercase letter. It will also use a lowercase letter for the first character in the tag in the WSDD file it generates. However, when the JBoss deployer rewrites the WSDD file, it apparently picks up the casing from the WSDL file, issuing an tag with an uppercase letter as the first character of the operation name. JBoss subsequently fails to invoke the method on the implementation interface because it looks for the uppercase version on the Java interface.


            • 3. Re: JBossWS dysfunctional? Can't get DocumentLiteral with Co
              thomas.diesler

              You should not use the axis tools with ws4ee, use JWSDP-1.4 wscompile instead. It generates the ws4ee specific jaxrpc-mapping.xml file, which Axis' java2wsdl does not.

              The mapping file is where the java <-> wsdl mapping is defined.

              It seems you are not deploying with a valid mapping file. Have you read the JBossWS wiki?