6 Replies Latest reply on Feb 14, 2006 1:20 PM by Thomas Diesler

    JBoss4.04RC.. new stack

    Kris A Newbie

      I am trying to build 4.0.4RC from source and use the new JBossWS stack

      I checked out from source with the tag below

      cvs co -r Branch_4_0 jboss-4.0.x
      cd jboss-4.04RC
      cd build
      ./build.sh

      I then build the JBossWS stack and deploy with

      ant deploy-jbossws

      Then i tried to add in ejb3.0. I did this following the instructions here

      http://docs.jboss.com/ejb3/app-server/tutorial/installing.html

      However, when i try and try to start the default server i get this exception..

      12:31:17,640 WARN [ServiceController] Problem starting service jboss.ws:service=WebServiceDeployerEJB3
      java.lang.IllegalArgumentException: Unable to find operation addOperationInterceptor(org.jboss.mx.interceptor.Interceptor)

      Any ideas what is causing this?

        • 2. Re: JBoss4.04RC.. new stack
          Kris A Newbie

           

          "thomas.diesler@jboss.com" wrote:
          http://jira.jboss.com/jira/browse/JBWS-680


          Thanx for quick response :)

          So does this mean that at the moment it is not possible to run jbossws with ejb3.0 in JBoss4.0.4RC?

          • 4. Re: JBoss4.04RC.. new stack
            Kris A Newbie

            I assume your answer was a yes then.

            I am back to running JBoss4.0.4RC with Java 1.4 and EJB 2.1. I have this working correctly. I do have one small issue which i would be grateful for any suggestions about. I know this issue is not just a JBoss issue. Basically with the new stack, I have found that my Axis java client works fine but my Axis C++ client does not.


            The Axis java client sends this request

            <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:Header/>
             <soapenv:Body>
             <sendCommand xmlns='http://com.fbbt.matador.communication.interfaces/types'>
             <VCommandMessage_1 xmlns=''>
             <destinationId>database</destinationId>
             <destinationType xsi:nil='true'/>
             <messageType>001</messageType>
             <sourceId xsi:nil='true'/>
             <sourceType xsi:nil='true'/>
             <command xsi:nil='true'/>
             <seatAddress>192.168.0.57_kris</seatAddress>
             <username>fbbt</username>
             <alertId xsi:nil='true'/>
             <attribute xsi:nil='true'/>
             <auditDate xsi:nil='true'/>
             <deviceId xsi:nil='true'/>
             <exitMode xsi:nil='true'/>
             <holdRelease xsi:nil='true'/>
             <operatorNotes xsi:nil='true'/>
             <password>dsfdsfsdf</password>
             <pathId xsi:nil='true'/>
             <pathSequence xsi:nil='true'/>
             <portId xsi:nil='true'/>
             <portType xsi:nil='true'/>
             <positionIndicator xsi:nil='true'/>
             <serviceId xsi:nil='true'/>
             <timestamp xsi:nil='true'/>
             <usernameViewing xsi:nil='true'/>
             </VCommandMessage_1>
             </sendCommand>
             </soapenv:Body>
            </soapenv:Envelope>
            


            The Axis C++ client sends this


            <SOAP-ENV:Envelope xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
             <SOAP-ENV:Header/>
             <SOAP-ENV:Body>
             <ns1:sendCommand xmlns:ns1='http://com.fbbt.matador.communication.interfaces/types'>
            
             <VCommandMessage_1>
             <ns1:destinationId xmlns:ns1='http://com.fbbt.matador.communication.interfaces/types'>database</ns1:destinationId>
            
             <ns1:destinationType xmlns:ns1='http://com.fbbt.matador.communication.interfaces/types' xsi:nil='true'/>
            
             <ns1:messageType xmlns:ns1='http://com.fbbt.matador.communication.interfaces/types'>001</ns1:messageType>
            
             <ns1:sourceId xmlns:ns1='http://com.fbbt.matador.communication.interfaces/types' xsi:nil='true'/>
            
             <ns1:sourceType xmlns:ns1='http://com.fbbt.matador.communication.interfaces/types' xsi:nil='true'/>
            
             <ns1:command xmlns:ns1='http://com.fbbt.matador.communication.interfaces/types' xsi:nil='true'/>
            
             <ns1:seatAddress xmlns:ns1='http://com.fbbt.matador.communication.interfaces/types'>kris_IBC-JBOSS_192.168.0.30_24070</ns1:seatAddress>
            
             <ns1:username xmlns:ns1='http://com.fbbt.matador.communication.interfaces/types'>fbbt</ns1:username>
            
             <ns1:alertId xmlns:ns1='http://com.fbbt.matador.communication.interfaces/types' xsi:nil='true'/>
            
             <ns1:attribute xmlns:ns1='http://com.fbbt.matador.communication.interfaces/types' xsi:nil='true'/>
            
             <ns1:auditDate xmlns:ns1='http://com.fbbt.matador.communication.interfaces/types' xsi:nil='true'/>
            
             <ns1:deviceId xmlns:ns1='http://com.fbbt.matador.communication.interfaces/types' xsi:nil='true'/>
            
             <ns1:exitMode xmlns:ns1='http://com.fbbt.matador.communication.interfaces/types' xsi:nil='true'/>
            
             <ns1:holdRelease xmlns:ns1='http://com.fbbt.matador.communication.interfaces/types' xsi:nil='true'/>
            
             <ns1:operatorNotes xmlns:ns1='http://com.fbbt.matador.communication.interfaces/types' xsi:nil='true'/>
            
             <ns1:password xmlns:ns1='http://com.fbbt.matador.communication.interfaces/types'>sdfsdfdsf</ns1:password>
            
             <ns1:pathId xmlns:ns1='http://com.fbbt.matador.communication.interfaces/types' xsi:nil='true'/>
            
             <ns1:pathSequence xmlns:ns1='http://com.fbbt.matador.communication.interfaces/types' xsi:nil='true'/>
            
             <ns1:portId xmlns:ns1='http://com.fbbt.matador.communication.interfaces/types' xsi:nil='true'/>
            
             <ns1:portType xmlns:ns1='http://com.fbbt.matador.communication.interfaces/types' xsi:nil='true'/>
            
             <ns1:positionIndicator xmlns:ns1='http://com.fbbt.matador.communication.interfaces/types' xsi:nil='true'/>
            
             <ns1:serviceId xmlns:ns1='http://com.fbbt.matador.communication.interfaces/types' xsi:nil='true'/>
            
             <ns1:timestamp xmlns:ns1='http://com.fbbt.matador.communication.interfaces/types' xsi:nil='true'/>
            
             <ns1:usernameViewing xmlns:ns1='http://com.fbbt.matador.communication.interfaces/types' xsi:nil='true'/>
            
             </VCommandMessage_1>
            
             </ns1:sendCommand>
             </SOAP-ENV:Body>
            </SOAP-ENV:Envelope>
            



            The relevant jaxrpc mapping is like this

            <java-xml-type-mapping>
            <java-type>com.fbbt.matador.access.types.VCommandMessage</java-type>
            <root-type-qname xmlns:typeNS="http://com.fbbt.matador.communication.interfaces/types">typeNS:VCommandMessage</root-type-qname>
            <qname-scope>complexType</qname-scope>
            <variable-mapping>
            <java-variable-name>destinationId</java-variable-name>
            <xml-element-name>destinationId</xml-element-name>
            </variable-mapping>
            <variable-mapping>
            <java-variable-name>destinationType</java-variable-name>
            <xml-element-name>destinationType</xml-element-name>
            </variable-mapping>
            <variable-mapping>
            <java-variable-name>messageType</java-variable-name>
            <xml-element-name>messageType</xml-element-name>
            </variable-mapping>
            <variable-mapping>
            <java-variable-name>sourceId</java-variable-name>
            <xml-element-name>sourceId</xml-element-name>
            </variable-mapping>
            <variable-mapping>
            <java-variable-name>sourceType</java-variable-name>
            <xml-element-name>sourceType</xml-element-name>
            </variable-mapping>
            <variable-mapping>
            <java-variable-name>command</java-variable-name>
            <xml-element-name>command</xml-element-name>
            </variable-mapping>
            <variable-mapping>
            <java-variable-name>seatAddress</java-variable-name>
            <xml-element-name>seatAddress</xml-element-name>
            </variable-mapping>
            <variable-mapping>
            <java-variable-name>username</java-variable-name>
            <xml-element-name>username</xml-element-name>
            </variable-mapping>
            <variable-mapping>
            <java-variable-name>alertId</java-variable-name>
            <xml-element-name>alertId</xml-element-name>
            </variable-mapping>
            <variable-mapping>
            <java-variable-name>attribute</java-variable-name>
            <xml-element-name>attribute</xml-element-name>
            </variable-mapping>
            <variable-mapping>
            <java-variable-name>auditDate</java-variable-name>
            <xml-element-name>auditDate</xml-element-name>
            </variable-mapping>
            <variable-mapping>
            <java-variable-name>deviceId</java-variable-name>
            <xml-element-name>deviceId</xml-element-name>
            </variable-mapping>
            <variable-mapping>
            <java-variable-name>exitMode</java-variable-name>
            <xml-element-name>exitMode</xml-element-name>
            </variable-mapping>
            <variable-mapping>
            <java-variable-name>holdRelease</java-variable-name>
            <xml-element-name>holdRelease</xml-element-name>
            </variable-mapping>
            <variable-mapping>
            <java-variable-name>operatorNotes</java-variable-name>
            <xml-element-name>operatorNotes</xml-element-name>
            </variable-mapping>
            <variable-mapping>
            <java-variable-name>password</java-variable-name>
            <xml-element-name>password</xml-element-name>
            </variable-mapping>
            <variable-mapping>
            <java-variable-name>pathId</java-variable-name>
            <xml-element-name>pathId</xml-element-name>
            </variable-mapping>
            <variable-mapping>
            <java-variable-name>pathSequence</java-variable-name>
            <xml-element-name>pathSequence</xml-element-name>
            </variable-mapping>
            <variable-mapping>
            <java-variable-name>portId</java-variable-name>
            <xml-element-name>portId</xml-element-name>
            </variable-mapping>
            <variable-mapping>
            <java-variable-name>portType</java-variable-name>
            <xml-element-name>portType</xml-element-name>
            </variable-mapping>
            <variable-mapping>
            <java-variable-name>positionIndicator</java-variable-name>
            <xml-element-name>positionIndicator</xml-element-name>
            </variable-mapping>
            <variable-mapping>
            <java-variable-name>serviceId</java-variable-name>
            <xml-element-name>serviceId</xml-element-name>
            </variable-mapping>
            <variable-mapping>
            <java-variable-name>timestamp</java-variable-name>
            <xml-element-name>timestamp</xml-element-name>
            </variable-mapping>
            <variable-mapping>
            <java-variable-name>usernameViewing</java-variable-name>
            <xml-element-name>usernameViewing</xml-element-name>
            </variable-mapping>
            </java-xml-type-mapping>
            


            On the JBoss server side the top request is processed with no problems but with the secornd request the following error is thrown

            Caused by: org.jboss.xb.binding.JBossXBRuntimeException: Requested element {http://com.fbbt.matador.communication.interfaces/types}destinationId is not allowed in this position in the sequence. The next element should be destinationId
             at org.jboss.xb.binding.sunday.unmarshalling.SequenceBinding$1.startElement(SequenceBinding.java:214)
             at org.jboss.xb.binding.sunday.unmarshalling.ModelGroupBinding$Cursor.startElement(ModelGroupBinding.java:151)
             at org.jboss.xb.binding.sunday.unmarshalling.SundayContentHandler.startElement(SundayContentHandler.java:182)
             at org.jboss.xb.binding.parser.sax.SaxJBossXBParser$DelegatingContentHandler.startElement(SaxJBossXBParser.java:269)
             at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
             at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
             at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
             at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
             at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
             at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
             at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
             at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
             at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
             at org.jboss.xb.binding.parser.sax.SaxJBossXBParser.parse(SaxJBossXBParser.java:134)
             ... 32 more
            10:10:35,487 ERROR [SOAPFaultExceptionHelper] SOAP request exception
            
            


            Is there anything i can do in the jaxrpc-mapping-file to stop this problem occuring? I would be grateful for any suggestions or advice..

            • 5. Re: JBoss4.04RC.. new stack
              Patrick Angeles Novice

              Hi,

              I have a few questions regarding EJB3 and webservices...

              1) From what I understand JBossWS supports annotation-based declaration to expose webservice methods, and this works with JBOSS HEAD. As far as backporting to JBoss 4.0.4, is issue http://jira.jboss.com/jira/browse/JBAS-2776 the only holdup?

              2) Has anyone been successful using the old ws4ee stack working with EJB3 and JBoss 4.0.4?

              • 6. Re: JBoss4.04RC.. new stack
                Thomas Diesler Master

                Open issues for jbossws
                http://jira.jboss.org/jira/browse/JBWS


                Has anyone been successful using the old ws4ee stack working with EJB3 and JBoss 4.0.4?


                EJB3 endpoints are not supported by jboss-ws4ee.