Uploaded image for project: 'JIRA Server (including JIRA Core)'
  1. JIRA Server (including JIRA Core)
  2. JRASERVER-22190

NumberFormatException when requesting JiraSoapService.getConfiguration(token) if eg Hours per day is set to 7.5

    Details

    • Story Points:
      1

      Description

      description:
      the field RemoteConfiguration.timeTrackingHoursPerDay within the soap wsdl is of type 'int' but it is possible to enter double values like '7.5' within Global Settings/Time Tracking/Hours per day. This will lead to a NumberFormatException

      to reproduce:
      1. Go to Global Settings/Time Tracking and enable it
      2. Change the 'Hours per day' value to '7.5' (decimal is important!)
      3. click Activate
      4. build a soap client and request JiraSoapService.getServerInfo(<token>)

      this will lead to the following exception:
      AxisFault
      faultCode:

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

      Server.userException
      faultSubcode:
      faultString: java.lang.NumberFormatException: For input string: "7.5"
      faultActor:
      faultNode:
      faultDetail:
      {}faultData:null

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

      hostname:blackbook.local

      java.lang.NumberFormatException: For input string: "7.5"
      at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
      at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
      at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
      at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
      at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(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 javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
      at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
      at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
      at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
      at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
      at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
      at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
      at org.apache.axis.client.Call.invoke(Call.java:2767)
      at org.apache.axis.client.Call.invoke(Call.java:2443)
      at org.apache.axis.client.Call.invoke(Call.java:2366)
      at org.apache.axis.client.Call.invoke(Call.java:1812)
      at onepoint.project.team.modules.jira.generated.JirasoapserviceV2SoapBindingStub.getConfiguration(JirasoapserviceV2SoapBindingStub.java:4130)
      at onepoint.project.team.modules.jira.OpJiraUpdater.updateTimeTrackingSettings(OpJiraUpdater.java:746)
      at onepoint.project.team.modules.jira.OpJiraUpdater.getWorkHoursPerDay(OpJiraUpdater.java:768)
      at onepoint.project.team.modules.jira.OpJiraServiceImpl.getEffort(OpJiraServiceImpl.java:399)
      at onepoint.project.team.modules.jira.OpJiraServiceImpl.updateRequirementSettings(OpJiraServiceImpl.java:360)
      at onepoint.project.team.modules.jira.OpJiraServiceImpl.requirementAdded(OpJiraServiceImpl.java:178)
      at onepoint.project.team.modules.jira.OpJiraUpdater.addRequirement(OpJiraUpdater.java:317)
      at onepoint.project.team.modules.jira.OpJiraUpdater.updateProject(OpJiraUpdater.java:279)
      at onepoint.project.team.modules.jira.OpJiraUpdater.updateProject(OpJiraUpdater.java:230)
      at onepoint.project.team.modules.jira.OpJiraUpdater.updateProject(OpJiraUpdater.java:159)
      at onepoint.project.team.modules.product.OpProductAdvancedService.insertOrUpdateProduct(OpProductAdvancedService.java:164)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at onepoint.service.server.XService.callJavaMethod(XService.java:93)
      at onepoint.project.OpProjectService.callJavaMethod(OpProjectService.java:220)
      at onepoint.service.server.XService.invokeMethod(XService.java:49)
      at onepoint.service.server.XSession.invokeMethod(XSession.java:128)
      at onepoint.express.server.XExpressSession.invokeMethod(XExpressSession.java:79)
      at onepoint.service.server.XBinaryServlet.processRequest(XBinaryServlet.java:189)
      at onepoint.project.servlet.OpOpenServlet.processRequest(OpOpenServlet.java:602)
      at onepoint.service.server.XBinaryServlet.doPost(XBinaryServlet.java:139)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
      at onepoint.project.servlet.OpOpenServlet.service(OpOpenServlet.java:152)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
      at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
      at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
      at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
      at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
      at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
      at org.mortbay.jetty.Server.handle(Server.java:326)
      at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
      at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
      at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:842)
      at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
      at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
      at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
      at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

      solution:
      change timeTrackingHoursPerDay to be of type double

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                dfreis Dieter Freismuth
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - 2h
                  2h
                  Remaining:
                  Remaining Estimate - 2h
                  2h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified