Uploaded image for project: 'Railo'
  1. Railo
  2. RAILO-514

cfinvoke throws axis exception when calling a web service method that returns an array of complex objects

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Duplicate Issue
    • Affects Version/s: 3.1
    • Fix Version/s: None
    • Labels:
    • Environment:

      OS X, Tomcat 6, Java 6.

      Description

      I'm getting axis exceptions thrown when using cfinvoke on certain web services, but not on others. I've created a suite of test web services, and the issue seems to only occur when the web service returns an array of complex objects, or if it returns a complex object that contains an array.

      The exception thrown for the call that returns an array of complex objects is:

      ; nested exception is:
      org.xml.sax.SAXException: Deserializing parameter 'return': could not find deserializer for type

      {http://webservice.bot.muso.com/}

      testSimpleReturnObject
      at org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:277):277
      at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035):1035
      at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165):165
      at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141):1141
      at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236):236
      at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384):384
      at org.apache.axis.client.Call.invoke(Call.java:2467):2467
      at org.apache.axis.client.Call.invoke(Call.java:2366):2366
      at org.apache.axis.client.Call.invoke(Call.java:1812):1812
      at railo.runtime.net.rpc.client.RPCClient._callMethod(RPCClient.java:382):382
      at railo.runtime.net.rpc.client.RPCClient.callWithNamedValues(RPCClient.java:143):143
      at railo.runtime.tag.Invoke.doWebService(Invoke.java:247):247
      at railo.runtime.tag.Invoke.doEndTag(Invoke.java:190):190
      at muso.test.webservicetest_cfm$cf.call(/Users/James/Documents/workspace/railo/MUSO/test/webServiceTest.cfm:34):34
      at railo.runtime.PageContextImpl.doInclude(PageContextImpl.java:648):648
      at railo.runtime.listener.ClassicAppListener._onRequest(ClassicAppListener.java:35):35
      at railo.runtime.listener.MixedAppListener.onRequest(MixedAppListener.java:24):24
      at railo.runtime.PageContextImpl.execute(PageContextImpl.java:1709):1709
      at railo.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:261):261
      at railo.loader.servlet.CFMLServlet.service(CFMLServlet.java:32):32
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:717):717
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290):290
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206):206
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233):233
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191):191
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128):128
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102):102
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109):109
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293):293
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849):849
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583):583
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454):454
      at java.lang.Thread.run(Thread.java:637):637
      at org.apache.axis.AxisFault.makeFault(AxisFault.java:101):101
      at org.apache.axis.client.Call.invoke(Call.java:2470):2470
      at org.apache.axis.client.Call.invoke(Call.java:2366):2366
      at org.apache.axis.client.Call.invoke(Call.java:1812):1812
      at railo.runtime.net.rpc.client.RPCClient._callMethod(RPCClient.java:382):382
      at railo.runtime.net.rpc.client.RPCClient.callWithNamedValues(RPCClient.java:143):143
      at railo.runtime.tag.Invoke.doWebService(Invoke.java:247):247
      at railo.runtime.tag.Invoke.doEndTag(Invoke.java:190):190
      at muso.test.webservicetest_cfm$cf.call(/Users/James/Documents/workspace/railo/MUSO/test/webServiceTest.cfm:34):34
      at railo.runtime.PageContextImpl.doInclude(PageContextImpl.java:648):648
      at railo.runtime.listener.ClassicAppListener._onRequest(ClassicAppListener.java:35):35
      at railo.runtime.listener.MixedAppListener.onRequest(MixedAppListener.java:24):24
      at railo.runtime.PageContextImpl.execute(PageContextImpl.java:1709):1709
      at railo.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:261):261
      at railo.loader.servlet.CFMLServlet.service(CFMLServlet.java:32):32
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:717):717
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290):290
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206):206
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233):233
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191):191
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128):128
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102):102
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109):109
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293):293
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849):849
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583):583
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454):454
      at java.lang.Thread.run(Thread.java:637):637
      at railo.runtime.op.Caster.toPageException(Caster.java:2951):2951
      at railo.runtime.net.rpc.client.RPCClient.callWithNamedValues(RPCClient.java:146):146
      at railo.runtime.tag.Invoke.doWebService(Invoke.java:247):247
      at railo.runtime.tag.Invoke.doEndTag(Invoke.java:190):190
      at muso.test.webservicetest_cfm$cf.call(/Users/James/Documents/workspace/railo/MUSO/test/webServiceTest.cfm:34):34
      at railo.runtime.PageContextImpl.doInclude(PageContextImpl.java:648):648
      at railo.runtime.listener.ClassicAppListener._onRequest(ClassicAppListener.java:35):35
      at railo.runtime.listener.MixedAppListener.onRequest(MixedAppListener.java:24):24
      at railo.runtime.PageContextImpl.execute(PageContextImpl.java:1709):1709
      at railo.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:261):261
      at railo.loader.servlet.CFMLServlet.service(CFMLServlet.java:32):32
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:717):717
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290):290
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206):206
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233):233
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191):191
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128):128
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102):102
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109):109
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293):293
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849):849
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583):583
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454):454
      at java.lang.Thread.run(Thread.java:637):637

      This call works perfectly wen tested using SoapUI, and the request response XML is as follows:

      Request:
      <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservice.bot.muso.com/">
      <soapenv:Header/>
      <soapenv:Body>
      <web:test8>
      <aDate>2009-10-26T00:00:00Z</aDate>
      </web:test8>
      </soapenv:Body>
      </soapenv:Envelope>

      Response:
      <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Body>
      <ns1:test8Response xmlns:ns1="http://webservice.bot.muso.com/">
      <return>
      <anInteger>666</anInteger>
      <andAString>fsdf</andAString>
      <andADate>2009-10-26T00:00:00Z</andADate>
      </return>
      <return>
      <anInteger>666</anInteger>
      <andAString>fsdf</andAString>
      <andADate>2009-10-26T00:00:00Z</andADate>
      </return>
      <return>
      <anInteger>666</anInteger>
      <andAString>fsdf</andAString>
      <andADate>2009-10-26T00:00:00Z</andADate>
      </return>
      </ns1:test8Response>
      </soap:Body>
      </soap:Envelope>

      The cfinvoke command used is:
      <CFINVOKE WEBSERVICE="http://localhost:8080/______?wsdl"
      METHOD="test8" RETURNVARIABLE="Test8"
      aDate="#DateFormat(Now(), "yyyy-mm-dd")#" />
      <cfdump var="#Test8#">

        Gliffy Diagrams

          Attachments

          1. railowsi.zip
            6 kB
          2. railowsi.zip
            6 kB
          3. Service.WSDL
            7 kB
          4. Service.WSDL
            7 kB
          5. test_WSI.cfm
            2 kB
          6. test_WSI.cfm
            2 kB

            Activity

              People

              • Assignee:
                micstriit Michael Offner
                Reporter:
                jamesmuso James Mason
              • Votes:
                15 Vote for this issue
                Watchers:
                16 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: