3 Replies Latest reply on Jun 16, 2005 2:16 PM by kanno

    question to bug fix to

    didi

      Hi everybody,

      I follow the step under http://wiki.jboss.org/wiki/Wiki.jsp?page=WSDOCServiceStepByStep
      wrote the code, compiled everything and deployed it. I get the "The operation desciption was not synchronized" message as written in the tutorial.

      The bug fix states to re-write the interface to prevent to appeared problem. But since the interface changed do I have to run wscompile again pointing to the new interface? As far as I understood the whole thing, the classes used in the changed interface came from the wscompile run on the old/first unchanged interface.

      Thans in advance

        • 1. Re: question to bug fix to
          jason.greene

          This is not really a bug, its more of a mapping issue. Unlike rpc/literal, a document/literal message has one schema document, and thus one root element in a message. So you can not directly map a method with more than one parameter to a document/literal message. To get around this, wscompile generates a wrapper object which contains all of the methods parameters. So , because of the logical restrictions of document/literal, JBossWS expects there to be only one parameter, and this is why you change your SEI to reflect the wrapper object.

          Now that said, wscompile has issues with document/literal and will always wrap parameters (even if there is only one parameter). So, don't rerun wscompile because it will attempt to rewrap your wrapper object.

          -Jason

          • 2. Re: question to bug fix to
            didi

             

            "jason.greene@jboss.com" wrote:

            Now that said, wscompile has issues with document/literal and will always wrap parameters (even if there is only one parameter). So, don't rerun wscompile because it will attempt to rewrap your wrapper object.


            that is the behaviour that I expected to happen :-/

            What do you suggest to do? Can provide a step by step explanaion?

            1. create regular interface without wrapper object
            2. run wscompile on the interface (from 1)
            3. create interface with the wrapper objects
            4. ??? (how do you get an adjusted .wsdl file according to the used wrapper objects?

            Am I wrong or missing something?

            Thanks!

            • 3. Re: question to bug fix to
              kanno

               

              "didi" wrote:
              "jason.greene@jboss.com" wrote:

              Now that said, wscompile has issues with document/literal and will always wrap parameters (even if there is only one parameter). So, don't rerun wscompile because it will attempt to rewrap your wrapper object.


              that is the behaviour that I expected to happen :-/

              What do you suggest to do? Can provide a step by step explanaion?

              1. create regular interface without wrapper object
              2. run wscompile on the interface (from 1)
              3. create interface with the wrapper objects
              4. ??? (how do you get an adjusted .wsdl file according to the used wrapper objects?

              Am I wrong or missing something?

              Thanks!


              Everything you've said is correct so far... I don't think you need an adjusted .wsdl because the wsdd deployment descriptor created internally by the JBossWS engine is expecting a wrapped object.