13 Replies Latest reply on Feb 3, 2005 2:04 PM by Anil Saldanha

    Did anybody sucessfully deploy a document literal webservice

    siano Newbie

      I don't seem to be able to deploy a (jax-rpc) document literal webservice with jboss 4.0.1.

      Here is what I did:
      1. I implemented the endpoint interface and the implementing Class (POJO) and compiled it.
      2. I used wscompile (-gen:server task with rpcliteral feature) to generate the wsdl and the mapping file.
      3. I packed all this into a war file.
      4. I ran a client on it.

      This worked fine.

      In the next step I replaced the rpcliteral in step 2 with documentliteral (and generated different wsdl and mapping files).

      Running the client then resulted in the following error message:

      2005-01-30 21:38:51,375 FATAL [org.apache.axis.InternalException] Exception:
      java.lang.Exception: The OperationDesc for hello was not synchronized to a method of com.mytest.Hello.
      at org.apache.axis.InternalException.(InternalException.java:106)
      at org.apache.axis.description.ServiceDesc.syncOperationToClass(ServiceDesc.java:869)

      Googling around a bit, I found out that it means the operation mapping in the .wsdd file (generated by jboss) does not match the function signature, so I tried to replace the operation tag in the wsdd file with the one from the wsdd file generated in the (working) rpcliteral case, using a ws4ee-deployment.xml file.

      This changed the error message to the following:

      2005-01-30 21:40:10,653 ERROR [org.apache.axis.providers.java.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:206)
      at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:1166)
      at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:244)
      at org.apache.axis.message.SOAPElementAxisImpl.publishToHandler(SOAPElementAxisImpl.java:1387)
      at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:262)
      at org.apache.axis.message.RPCElement.getParams(RPCElement.java:396)
      at org.apache.axis.providers.java.RPCInvocation.prepareFromRequestEnvelope(RPCInvocation.java:234)


      Am I doing something wrong, or is that a bug in JBoss?

      Stephan

        • 1. Re: Did anybody sucessfully deploy a document literal webser
          Ryan Newbie

          Siano -

          Nobody seems to be responding to these types of questions, but after 3 days of staring at this, I finally got mine to work. :) Here's what I did to get a document/literal web service to work in JBoss 4.0.1.

          Like yourself, I implemented the endpoint interface and the implementing POJO class. I initially used wscompile with the -gen:server task, but for some reason, wscompile wrote a web.xml file that JBoss complained about, so I scratched that idea since I didn't want to have my ant build file have to copy over files etc.

          Instead, I first created the wsdl and mapping file via the -define parameter, then I used the -client option to generate the appropriate serializers/deserializers. By hand, I wrote the webservices.xml and web.xml files which I then packaged everything together via an ant build file and pushed it into the JBoss deploy directory and voila.

          Everything worked. :)

          _RK

          • 2. Re: Did anybody sucessfully deploy a document literal webser
            siano Newbie

            Thank you for your input. I tried to follow your advice, but I got the same error as before (I also tried gen:server instead of gen:client, but all that gave the same result). How do your web.xml and webservice.xml look like?

            I have the following two files. Is there something wrong?

            <?xml version="1.0" encoding="UTF-8"?>
            <web-app 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://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
            version="2.4">

            <servlet-name>HelloWorld</servlet-name>
            <servlet-class>com.mytest.HelloImpl</servlet-class>

            <servlet-mapping>
            <servlet-name>HelloWorld</servlet-name>
            <url-pattern>/Hello</url-pattern>
            </servlet-mapping>
            </web-app>

            <webservices 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_web_services_1_1.xsd" version="1.1">
            <webservice-description> <webservice-description-name>HelloService</webservice-description-name>
            <wsdl-file>WEB-INF/wsdl/HelloService.wsdl</wsdl-file>
            <jaxrpc-mapping-file>WEB-INF/jaxrpc.xml</jaxrpc-mapping-file>
            <port-component>
            <port-component-name>Hello</port-component-name>
            <wsdl-port>HelloPort</wsdl-port> <service-endpoint-interface>com.mytest.Hello</service-endpoint-interface>
            <service-impl-bean>
            <servlet-link>HelloWorld</servlet-link>
            </service-impl-bean>
            </port-component>
            </webservice-description>


            My service interface looks like this:
            package com.mytest;

            import java.rmi.Remote;
            import java.rmi.RemoteException;

            public interface Hello extends Remote {
            public String hello(String firstName, String name) throws RemoteException;
            }

            and this is the implementing Class...

            package com.mytest;

            public class HelloImpl {
            public String hello(String firstName, String name) {
            return "Hello " + firstName + " " + name + "!";
            }
            }

            Do you have an idea what I am doing wrong or can you tell me what the difference to your webservice is?

            Stephan

            • 3. Re: Did anybody sucessfully deploy a document literal webser
              Ryan Newbie

              Stephan -

              Show us what your .wsdd file looks like. Also, go into the log4j configuration file for your JBoss server instance and change the following:





              This way, you can see exactly the SOAP message being sent into your service, etc and where it's failing.

              _RK

              • 4. Re: Did anybody sucessfully deploy a document literal webser
                siano Newbie

                Hello,

                I suppose you mean I should set the loglevel for org.jboss.webservice to DEBUG.

                The (hopefully) relevant part form the server log looks like this:

                2005-02-01 08:43:41,949 INFO [org.jboss.web.tomcat.tc5.TomcatDeployer] deploy, ctxPath=/rciserver, warUrl=file:/usr/share/jboss/server/default/tmp/deploy/tmp22492rciserver.war/
                2005-02-01 08:43:43,168 DEBUG [org.jboss.webservice.WSDLDefinitionFactory] getBaseInputSource [wsdlUrl=file:/usr/share/jboss/server/default/tmp/deploy/tmp22492rciserver.war/WEB-INF/wsdl/HelloService.wsdl]
                2005-02-01 08:43:43,169 DEBUG [com.ibm.wsdl.xml.WSDLReaderImpl] Retrieving document at 'file:/usr/share/jboss/server/default/tmp/deploy/tmp22492rciserver.war/WEB-INF/wsdl/HelloService.wsdl'.
                2005-02-01 08:43:44,883 DEBUG [org.jboss.webservice.metadata.WebserviceDescriptionMetaData] Replace port location 'REPLACE_WITH_ACTUAL_URL' with 'http://grobi:8080/rciserver/Hello'
                2005-02-01 08:43:45,061 INFO [org.jboss.webservice.WSDLFilePublisher] WSDL published to: file:/usr/share/jboss/server/default/data/wsdl/rciserver.war/HelloService.wsdl
                2005-02-01 08:43:45,126 DEBUG [org.jboss.webservice.AxisService] deployService: rciserver.war#Hello
                2005-02-01 08:43:46,894 DEBUG [org.jboss.webservice.deployment.ServiceDescription] No ws4ee deployment meta data available
                2005-02-01 08:43:47,463 INFO [org.jboss.webservice.AxisService] WSDD published to: /srv/www/jboss/default/data/wsdl/rciserver.war/Hello.wsdd
                2005-02-01 08:43:47,979 DEBUG [org.jboss.webservice.EngineConfigurationFinder] Found config at: file:/usr/share/jboss/server/default/deploy/jboss-ws4ee.sar/META-INF/axis-server-config.xml
                2005-02-01 08:43:51,900 DEBUG [org.jboss.webservice.server.ServerEngine] new ServerEngine [config=org.apache.axis.configuration.FileProvider@11f2158]
                2005-02-01 08:43:52,064 DEBUG [org.jboss.webservice.deployment.MetaDataRegistry] Register type mapping meta data for: {http://test.com/}helloResponse
                2005-02-01 08:43:52,064 DEBUG [org.jboss.webservice.deployment.MetaDataRegistry] Register type mapping meta data for: {http://test.com/}hello
                2005-02-01 08:43:52,178 INFO [org.jboss.webservice.AxisService] Web Service deployed: http://grobi:8080/rciserver/Hello
                2005-02-01 08:43:53,907 INFO [org.apache.coyote.http11.Http11Protocol] Starting Coyote HTTP/1.1 on http-0.0.0.0-8080
                2005-02-01 08:43:54,713 INFO [org.apache.jk.common.ChannelSocket] JK2: ajp13 listening on /0.0.0.0:8009
                2005-02-01 08:43:54,729 INFO [org.apache.jk.server.JkMain] Jk running ID=0 time=0/147 config=null
                2005-02-01 08:43:54,846 INFO [org.jboss.system.server.Server] JBoss (MX MicroKernel) [4.0.1 (build: CVSTag=JBoss_4_0_1 date=200501132049)] Started in 2m:10s:227ms
                2005-02-01 08:45:47,392 DEBUG [org.jboss.webservice.server.ServiceEndpointServlet] doGet: http://localhost:8080/ws4ee/services
                2005-02-01 08:45:47,443 DEBUG [org.jboss.webservice.server.ServiceEndpointServlet] Report available services
                2005-02-01 08:45:48,088 DEBUG [org.jboss.webservice.server.InvokerProvider] initServiceDesc: service=rciserver.war#Hello
                2005-02-01 08:45:48,234 DEBUG [org.jboss.webservice.handler.HandlerChainBaseImpl] Create a handler chain for roles: []
                2005-02-01 08:45:48,235 DEBUG [org.jboss.webservice.handler.HandlerChainBaseImpl] init: [config=null]
                2005-02-01 08:45:48,268 FATAL [org.apache.axis.InternalException] Exception:
                java.lang.Exception: The OperationDesc for hello was not synchronized to a method of com.mytest.Hello.
                 at org.apache.axis.InternalException.<init>(InternalException.java:106)
                 at org.apache.axis.description.ServiceDesc.syncOperationToClass(ServiceDesc.java:869)
                 at org.apache.axis.description.ServiceDesc.getSyncedOperationsForName(ServiceDesc.java:1216)
                 at org.apache.axis.description.ServiceDesc.loadServiceDescByIntrospectionRecursive(ServiceDesc.java:1062)
                 at org.apache.axis.description.ServiceDesc.loadServiceDescByIntrospection(ServiceDesc.java:983)
                 at org.apache.axis.providers.java.JavaProvider.initServiceDesc(JavaProvider.java:732)
                 at org.jboss.webservice.server.InvokerProvider.initServiceDesc(InvokerProvider.java:101)
                 at org.apache.axis.handlers.soap.SOAPService.getInitializedServiceDesc(SOAPService.java:388)
                 at org.apache.axis.deployment.wsdd.WSDDService.makeNewInstance(WSDDService.java:560)
                 at org.apache.axis.deployment.wsdd.WSDDDeployment.getDeployedServices(WSDDDeployment.java:617)
                 at org.apache.axis.configuration.FileProvider.getDeployedServices(FileProvider.java:356)
                 at org.jboss.webservice.server.ServiceEndpointServlet.reportAvailableServices(ServiceEndpointServlet.java:251)
                 at org.jboss.webservice.server.ServiceEndpointServlet.doGet(ServiceEndpointServlet.java:119)
                 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.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)
                 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)
                2005-02-01 08:45:48,279 INFO [org.apache.axis.transport.http.AxisServlet] Exception:
                org.apache.axis.InternalException: java.lang.Exception: The OperationDesc for hello was not synchronized to a method of com.mytest.Hello.
                 at org.apache.axis.description.ServiceDesc.syncOperationToClass(ServiceDesc.java:869)
                 at org.apache.axis.description.ServiceDesc.getSyncedOperationsForName(ServiceDesc.java:1216)
                 at org.apache.axis.description.ServiceDesc.loadServiceDescByIntrospectionRecursive(ServiceDesc.java:1062)
                 at org.apache.axis.description.ServiceDesc.loadServiceDescByIntrospection(ServiceDesc.java:983)
                 at org.apache.axis.providers.java.JavaProvider.initServiceDesc(JavaProvider.java:732)
                 at org.jboss.webservice.server.InvokerProvider.initServiceDesc(InvokerProvider.java:101)
                 at org.apache.axis.handlers.soap.SOAPService.getInitializedServiceDesc(SOAPService.java:388)
                 at org.apache.axis.deployment.wsdd.WSDDService.makeNewInstance(WSDDService.java:560)
                 at org.apache.axis.deployment.wsdd.WSDDDeployment.getDeployedServices(WSDDDeployment.java:617)
                 at org.apache.axis.configuration.FileProvider.getDeployedServices(FileProvider.java:356)
                 at org.jboss.webservice.server.ServiceEndpointServlet.reportAvailableServices(ServiceEndpointServlet.java:251)
                 at org.jboss.webservice.server.ServiceEndpointServlet.doGet(ServiceEndpointServlet.java:119)
                 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.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)
                 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)
                


                The corresponding wsdd-file looks like that:

                <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='rciserver.war#Hello' style='document' use='literal' provider='Handler'>
                
                 <parameter name='webserviceID' value='rciserver.war#Hello' />
                 <parameter name='handlerClass' value='org.jboss.webservice.server.InvokerProviderJSE' />
                
                 <operation name='hello' qname='ns1:hello' returnQName='ns1:helloResponse' returnType='ns1:helloResponse' xmlns:ns1='http://test.com/' >
                 <parameter name='parameters' qname='ns1:hello' mode='IN' type='ns1:hello' xmlns:ns1='http://test.com/' />
                 </operation>
                
                 <typeMapping
                 qname='ns1:hello' xmlns:ns1='http://test.com/'
                 type='java:com.mytest.Hello_hello_RequestStruct'
                 serializer='org.jboss.webservice.encoding.ser.MetaDataBeanSerializerFactory'
                 deserializer='org.jboss.webservice.encoding.ser.MetaDataBeanDeserializerFactory'
                 encodingStyle=''>
                 <typeDesc>
                 <elementDesc fieldName='String_1' xmlName='String_1'/>
                 <elementDesc fieldName='String_2' xmlName='String_2'/>
                 <elementOrder> <element name='String_1'/>
                 <element name='String_2'/>
                 </elementOrder> </typeDesc>
                 </typeMapping>
                
                 <typeMapping
                 qname='ns1:helloResponse' xmlns:ns1='http://test.com/'
                 type='java:com.mytest.Hello_hello_ResponseStruct'
                 serializer='org.jboss.webservice.encoding.ser.MetaDataBeanSerializerFactory'
                 deserializer='org.jboss.webservice.encoding.ser.MetaDataBeanDeserializerFactory'
                 encodingStyle=''>
                 <typeDesc>
                 <elementDesc fieldName='result' xmlName='result'/>
                 <elementOrder> <element name='result'/>
                 </elementOrder> </typeDesc>
                 </typeMapping>
                
                </service>
                </deployment>
                


                To me the wsdd-file doesn't look too bad, however it still doesn't work :-(

                Thanks for your input.

                Stephan

                • 5. Re: Did anybody sucessfully deploy a document literal webser
                  siano Newbie

                  Hello,

                  I also added debug logging for org.apache.axis. This gave me the following additional debug information:


                  2005-02-01 09:11:44,918 INFO [org.jboss.webservice.AxisService] WSDD published to: /srv/www/jboss/default/data/wsdl/rciserver.war/Hello.wsdd
                  2005-02-01 09:11:44,920 DEBUG [org.apache.axis.description.OperationDesc] @16c14c0setReturnType({http://test.com/}helloResponse)
                  2005-02-01 09:11:44,921 DEBUG [org.apache.axis.description.OperationDesc] @16c14c0 added parameter >name: {http://test.com/}hello
                  typeEntry: null
                  mode: IN
                  isReturn: false
                  typeQName: {http://test.com/}hello
                  javaType: null
                  inHeader: false
                  outHeader: false
                  @c68059<total parameters:1
                  2005-02-01 09:11:44,928 DEBUG [org.jboss.webservice.deployment.MetaDataRegistry] Register type mapping meta data for: {http://test.com/}helloResponse
                  2005-02-01 09:11:44,929 DEBUG [org.jboss.webservice.deployment.MetaDataRegistry] Register type mapping meta data for: {http://test.com/}hello
                  2005-02-01 09:11:44,931 INFO [org.jboss.webservice.AxisService] Web Service deployed: http://grobi:8080/rciserver/Hello
                  2005-02-01 09:12:51,643 DEBUG [org.apache.axis.transport.http.AxisServlet] In AxisServletBase init
                  2005-02-01 09:12:51,644 DEBUG [org.apache.axis.transport.http.AxisServlet] In servlet init
                  2005-02-01 09:12:51,667 DEBUG [org.jboss.webservice.server.ServiceEndpointServlet] doGet: http://localhost:8080/ws4ee/services
                  2005-02-01 09:12:51,692 DEBUG [org.jboss.webservice.server.ServiceEndpointServlet] Report available services
                  2005-02-01 09:12:52,083 DEBUG [org.apache.axis.description.OperationDesc] @6743e2setReturnType({http://www.w3.org/2001/XMLSchema}string)
                  2005-02-01 09:12:52,125 DEBUG [org.jboss.webservice.server.InvokerProvider] initServiceDesc: service=rciserver.war#Hello
                  2005-02-01 09:12:52,170 DEBUG [org.jboss.webservice.handler.HandlerChainBaseImpl] Create a handler chain for roles: []
                  2005-02-01 09:12:52,171 DEBUG [org.jboss.webservice.handler.HandlerChainBaseImpl] init: [config=null]
                  2005-02-01 09:12:52,176 DEBUG [org.apache.axis.description.ServiceDesc] Enter: syncOperationToClass org.apache.axis.description.OperationDesc
                  name: hello
                  returnQName: {http://test.com/}helloResponse
                  returnType: {http://test.com/}helloResponse
                  returnClass: null
                  elementQName:{http://test.com/}hello
                  soapAction: null
                  style: document
                  use: literal
                  numInParams: 1
                  method:null
                  ParameterDesc[0]:
                  name: {http://test.com/}hello
                  typeEntry: null
                  mode: IN
                  isReturn: false
                  typeQName: {http://test.com/}hello
                  javaType: null
                  inHeader: false
                  outHeader: false


                  2005-02-01 09:12:52,176 DEBUG [org.apache.axis.description.ServiceDesc] Sync method: public abstract
                  java.lang.String com.mytest.Hello.hello(java.lang.String,java.lang.String) throws java.rmi.RemoteException
                  2005-02-01 09:12:52,176 DEBUG [org.apache.axis.description.ServiceDesc] Number of parameters don't match
                  2005-02-01 09:12:52,209 FATAL [org.apache.axis.InternalException] Exception:
                  java.lang.Exception: The OperationDesc for hello was not synchronized to a method of com.mytest.Hello.

                  followed by above backtrace. It says that my implemented method with two parameters does not match the required method with one message. Aren't the handlers supposed to handle this? Or is this a misunderstanding on my part and I have to implement a method using one parameter only (of the Hello_hello_RequestStruct class)?

                  Thanks for your patience.

                  Yours
                  Stephan Siano


                  • 6. Re: Did anybody sucessfully deploy a document literal webser
                    Ryan Newbie

                    As Thomas pointed out in the following forums post:

                    http://www.jboss.org/index.html?module=bb&op=viewtopic&t=56424

                    "This usually occurs when you use more than one parameter in your endpoint message.

                    With doc/lit there is no wrapping RPC element. The entire message is defined by a single XMLSchema complex type.

                    JBossWS currently does not support unwrapped doc style parameters in web service endpoints."

                    I believe the doc/lit there can only be one parameter. It also says this on the wiki at:

                    http://www.jboss.org/wiki/Wiki.jsp?page=WSArrayTypeMapping

                    A benefit of using document/literal style over rpc/literal or rpc/encoded is that the message can be validated against an XMLSchema. The soap body *is* the single method parameter - it cannot be an array of parameters.


                    _RK

                    • 7. Re: Did anybody sucessfully deploy a document literal webser
                      siano Newbie

                      Hi,

                      thanks a lot, that hint to the old posting really solved my problem. I had read the Wiki-article before (actually several times), but the text states that it is about arrays, so I thought it didn't apply to my problem...

                      Stephan

                      • 8. Re: Did anybody sucessfully deploy a document literal webser
                        Ryan Newbie

                        Yeah, I know what you mean. I spent 3 days straight staring at the Wiki, logs, source and whatever else I could get my hands on before I actually figured out what the hell was going on. :) Good job!

                        _RK

                        p.s. Maybe we should post something on the Wiki about what to do :)

                        • 9. Re: Did anybody sucessfully deploy a document literal webser
                          Scott Stark Master

                          Yes, if the webservice step are unclear create a user perspective howto to help guide new users.

                          • 10. Re: Did anybody sucessfully deploy a document literal webser
                            Andrew Wagg Newbie

                            I'm trying to determine if this is the same problem that I'm having. Although in my case I have to use a supplied wsdl, that has come from Microsoft .NET and is document literal. The service endpoint interface generated for this wsdl has methods with multiple parameters.

                            Would appreciate any help or pointers you can give. I would agree that reading the wikis and trying to find out about some of this stuff is rather complicated.

                            Thanks

                            http://www.jboss.org/index.html?module=bb&op=viewtopic&t=59645

                            • 11. Re: Did anybody sucessfully deploy a document literal webser
                              Thomas Diesler Master

                              Norman,

                              do you want to have a go at this based on what you wrote in the JBoss book?

                              • 12. Re: Did anybody sucessfully deploy a document literal webser
                                Ryan Newbie

                                I'll start a more-detail oriented guide on the Wiki, but is there a standard place where I should put it? I don't wanna mess up the neat formatting.

                                Should I create another page? or Should I just add to the Java service endpoint discussion?

                                _RK

                                • 13. Re: Did anybody sucessfully deploy a document literal webser
                                  Anil Saldanha Master

                                  If you think your guide will help the community, create a seperate page and tell us the location (on this thread). Then we can incorporate into the main JBossWS wiki.

                                  I understand your apprehension on changing the main JbossWS wiki page.