Uploaded image for project: 'Axis'
  1. Axis
  2. AXIS-1966

.NET interop: rpc/encoded array of array: regression from RC2

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • None
    • None
    • None
    • Axis 1.2RC3 nightly

    Description

      NOTE: This is a regression from RC2, hence a blocker bug.

      Please see the attached WSDL. The complex type AttributeRequest worked fine with .NET as a client and Axis RC2, but it stopped working with the latest CVS.

      Attachments:

      • RemoteLoginManager.wsdl - WSDL file
      • dotNetRequest.xml - the SOAP request sent by a .NET client
      • axisRequest.xml - the same request but from an Axis client, to compare the encodings with the .NET client request

      This is an interop issue, the .NET client is not able to send something like this:

      AttributeRequest[] nestedUserar = new AttributeRequest[1];
      nestedUserar[0] = new AttributeRequest();
      nestedUserar[0].setAttributeName(Attributes.LOCK_TYPE);

      AttributeRequest[] userar = new AttributeRequest[1];
      userar[0] = new AttributeRequest();
      userar[0].setAttributeName(Attributes.LOCKS);
      userar[0].setRequestedAttributes(nestedUserar);

      remoteLoginStub.login("bla", "bla", new NamedValue[0], userar);

      The following exception is thrown on the server side:


      Apr 28, 2005 9:39:24 AM org.apache.axis.encoding.ser.BeanPropertyTarget set
      SEVERE: Could not convert [Loracle.ifs.fdk.AttributeRequest; to bean field 'requestedAttributes[0]', type

      oracle.ifs.fdk.AttributeRequest
      Apr 28, 2005 9:39:24 AM org.apache.axis.transport.http.AxisServlet processAxisFault
      INFO: AxisFault:
      AxisFault
      faultCode:

      {http://schemas.xmlsoap.org/soap/envelope/}

      Server.userException
      faultSubcode:
      faultString: java.lang.IllegalArgumentException: array element type mismatch
      faultActor:
      faultNode:
      faultDetail:

      {http://xml.apache.org/axis/}

      stackTrace:java.lang.IllegalArgumentException: array element type mismatch
      at java.lang.reflect.Array.set(Native Method)
      at org.apache.axis.utils.BeanPropertyDescriptor.set(BeanPropertyDescriptor.java:183)
      at org.apache.axis.encoding.ser.BeanPropertyTarget.set(BeanPropertyTarget.java:91)
      at org.apache.axis.encoding.DeserializerImpl.valueComplete(DeserializerImpl.java:249)
      at org.apache.axis.encoding.ser.ArrayDeserializer.valueComplete(ArrayDeserializer.java:570)
      at org.apache.axis.encoding.DeserializerImpl.endElement(DeserializerImpl.java:509)
      at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
      at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:171)
      at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1140)
      at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:369)
      at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)
      at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
      at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1140)
      at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:369)
      at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)
      at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
      at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1140)
      at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:369)
      at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)
      at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
      at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1140)
      at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
      at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
      at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:148)
      at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:319)
      at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
      at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
      at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
      at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)
      at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
      at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
      at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
      at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
      at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)
      at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
      at oracle.ifs.fdk.http.HttpServerManager.doFilter(HttpServerManager.java:93)
      at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:20)
      at oracle.ifs.fdk.http.AxisSecurityFilter.doFilter(AxisSecurityFilter.java:83)
      at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:645)
      at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:322)
      at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)
      at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:208)
      at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:125)
      at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
      at java.lang.Thread.run(Thread.java:534)

      {http://xml.apache.org/axis/}

      hostname:stadc37.us.oracle.com

      {http://xml.apache.org/axis/}

      isRuntimeException:true

      java.lang.IllegalArgumentException: array element type mismatch
      at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
      at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:329)
      at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
      at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
      at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
      at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)
      at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
      at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
      at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
      at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
      at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)
      at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
      at oracle.ifs.fdk.http.HttpServerManager.doFilter(HttpServerManager.java:93)
      at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:20)
      at oracle.ifs.fdk.http.AxisSecurityFilter.doFilter(AxisSecurityFilter.java:83)
      at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:645)
      at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:322)
      at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)
      at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:208)
      at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:125)
      at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
      at java.lang.Thread.run(Thread.java:534)
      Caused by: java.lang.IllegalArgumentException: array element type mismatch
      at java.lang.reflect.Array.set(Native Method)
      at org.apache.axis.utils.BeanPropertyDescriptor.set(BeanPropertyDescriptor.java:183)
      at org.apache.axis.encoding.ser.BeanPropertyTarget.set(BeanPropertyTarget.java:91)
      at org.apache.axis.encoding.DeserializerImpl.valueComplete(DeserializerImpl.java:249)
      at org.apache.axis.encoding.ser.ArrayDeserializer.valueComplete(ArrayDeserializer.java:570)
      at org.apache.axis.encoding.DeserializerImpl.endElement(DeserializerImpl.java:509)
      at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
      at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:171)
      at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1140)
      at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:369)
      at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)
      at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
      at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1140)
      at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:369)
      at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)
      at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
      at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1140)
      at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:369)
      at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)
      at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
      at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1140)
      at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
      at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
      at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:148)
      at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:319)
      ... 22 more

      NOTE: This is a regression from RC2, hence a blocker bug.

      Attachments

        1. RemoteLoginManager.wsdl
          7 kB
          Tim K
        2. dotNetRequest.xml
          11 kB
          Tim K
        3. axisRequest.xml
          2 kB
          Tim K

        Activity

          People

            Unassigned Unassigned
            timkagle Tim K
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: