Uploaded image for project: 'Axis2'
  1. Axis2
  2. AXIS2-2713

Invocation target exception invoking String[] element nillable

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • 1.2
    • None
    • databinding, wsdl
    • None
    • Both winXP and Linux.
      Both application server Tomcat and JBoss

    Description

      Hi,

      i have a wsdl generated from a third part (with Axis2 1.2). I attach it with the name 3P_wsdl.wsdl
      I used this wsdl to generate my client (ADB) and everything works.

      I need also to have a server side webservice with the same object generated in the previous phase. I attach the resoulting wsdl with the name my_wsdl.wsdl.

      If i try to invoke my webservice i have this exception:

      org.apache.axis2.AxisFault: InvocationTargetException : java.lang.reflect.InvocationTargetException
      at org.apache.axis2.databinding.utils.BeanUtil.deserialize(BeanUtil.java:391)
      at org.apache.axis2.databinding.utils.BeanUtil.deserialize(BeanUtil.java:372)
      at org.apache.axis2.databinding.utils.BeanUtil.processObject(BeanUtil.java:642)
      at org.apache.axis2.databinding.utils.BeanUtil.ProcessElement(BeanUtil.java:590)
      at org.apache.axis2.databinding.utils.BeanUtil.deserialize(BeanUtil.java:526)
      at org.apache.axis2.rpc.receivers.RPCUtil.processRequest(RPCUtil.java:119)
      at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:113)
      at org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.receive(AbstractInOutSyncMessageReceiver.java:39)
      at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:143)
      at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:229)
      at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:102)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
      at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
      at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
      at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
      at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
      at java.lang.Thread.run(Unknown Source)

      I noticed tha the problem is caused by the elements "zone" and "parole chiave" that i can't pass nil or empty string also if are declared nillable in the wsdl.

      The soap envelope passed from client to server is:

      <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://server.ws.prenotazionicertificati.covr.bo.tos.lutech.it/xsd" xmlns:xsd1="http://webServices.prenotazioni.intesys.it/xsd">
      <soapenv:Header/>
      <soapenv:Body>
      <xsd:elencoCertificati>
      <xsd:input>
      <xsd1:richiesta>
      <xsd1:categoria></xsd1:categoria>
      <xsd1:dimensionePagina>10</xsd1:dimensionePagina>
      <xsd1:numeroPagina>1</xsd1:numeroPagina>
      <xsd1:ordinamenti>
      <xsd1:tipo></xsd1:tipo>
      <xsd1:verso></xsd1:verso>
      </xsd1:ordinamenti>
      <xsd1:paroleChiave></xsd1:paroleChiave>
      <xsd1:periodiDisponibilita>
      <xsd1:fine></xsd1:fine>
      <xsd1:inizio></xsd1:inizio>
      </xsd1:periodiDisponibilita>
      <xsd1:soggettoOrganizzatore></xsd1:soggettoOrganizzatore>
      <xsd1:zone></xsd1:zone>
      </xsd1:richiesta>
      <xsd1:MY_QNAME></xsd1:MY_QNAME>
      </xsd:input>
      </xsd:elencoCertificati>
      </soapenv:Body>
      </soapenv:Envelope>

      The same identical envelope used to invoke the 3P wsdl does not generate any problem.

      Which could be the problem ?

      Thank you
      Fabrizio

      Attachments

        1. 3P_wsdl.wsdl
          17 kB
          Fabrizio Vizzari
        2. my_wsdl.wsdl
          19 kB
          Fabrizio Vizzari

        Issue Links

          Activity

            People

              deepal Deepal Jayasinghe
              fvizzari Fabrizio Vizzari
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: