Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-14976

Deserializing parameter 'in2': could not find deserializer for type {http://beans.soap.rpc.confluence.atlassian.com}RemotePageUpdateOptions

    • Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: Major Major

      When trying to replace an entire page the plugin generates the following error.
      The page was created using a custom groovy script (would be a nice feature). The attachments however are succefully uploaded.

      finished updating page.
      ~
      Archiving artifacts
      [confluence] Uploading attachments to Confluence page: http://hostname/wiki/display/QID/Core_0.20.3
      [confluence] Found 11 archived artifact(s) to upload to Confluence...
      [confluence] Uploading 11 file(s) to Confluence...
      [confluence] - Uploading file: DefaultNotification.java-19139-HEAD.diff (application/octet-stream)
      [confluence] done: http://hostname/wiki/download/attachments/32047558/DefaultNotification.java-19139-HEAD.diff?version=1
      [confluence] - Uploading file: ContentType.java-19139-HEAD.diff (application/octet-stream)
      [confluence] done: http://hostname/wiki/download/attachments/32047558/ContentType.java-19139-HEAD.diff?version=1
      [confluence] - Uploading file: releasenotes-0.20.3.txt (text/plain)
      [confluence] done: http://hostname/wiki/download/attachments/32047558/releasenotes-0.20.3.txt?version=1
      [confluence] - Uploading file: AttachmentDTO.java-19139-HEAD.diff (application/octet-stream)
      [confluence] done: http://hostname/wiki/download/attachments/32047558/AttachmentDTO.java-19139-HEAD.diff?version=1
      [confluence] - Uploading file: diff-deploy-19139-HEAD.diff (application/octet-stream)
      [confluence] done: http://hostname/wiki/download/attachments/32047558/diff-deploy-19139-HEAD.diff?version=1
      [confluence] - Uploading file: diff-properties-19139-HEAD.diff (application/octet-stream)
      [confluence] done: http://hostname/wiki/download/attachments/32047558/diff-properties-19139-HEAD.diff?version=1
      [confluence] - Uploading file: SoapUI-0.20.3.zip (application/zip)
      [confluence] done: http://hostname/wiki/download/attachments/32047558/SoapUI-0.20.3.zip?version=1
      [confluence] - Uploading file: sonar-0.20.3.zip (application/zip)
      [confluence] done: http://hostname/wiki/download/attachments/32047558/sonar-0.20.3.zip?version=1
      [confluence] - Uploading file: MessageDTO.java-19139-HEAD.diff (application/octet-stream)
      [confluence] done: http://hostname/wiki/download/attachments/32047558/MessageDTO.java-19139-HEAD.diff?version=1
      [confluence] - Uploading file: diff-db-19139-HEAD.diff (application/octet-stream)
      [confluence] done: http://hostname/wiki/download/attachments/32047558/diff-db-19139-HEAD.diff?version=1
      [confluence] - Uploading file: qiyplatform-defaults.properties (application/octet-stream)
      [confluence] done: http://hostname/wiki/download/attachments/32047558/qiyplatform-defaults.properties?version=1
      [confluence] Done
      [confluence] Performing wiki edits: Replace entire page content
      AxisFault
      faultCode:

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

      Server.userException
      faultSubcode:
      faultString: org.xml.sax.SAXException: Deserializing parameter 'in2': could not find deserializer for type

      {http://beans.soap.rpc.confluence.atlassian.com}

      RemotePageUpdateOptions
      faultActor:
      faultNode:
      faultDetail:
      {}faultData:<exception xmlns:ns2="http://lang.java" xsi:nil="true" xsi:type="ns2:Exception"/><message xsi:type="xsd:string">Deserializing parameter 'in2': could not find deserializer for type

      {http://beans.soap.rpc.confluence.atlassian.com}

      RemotePageUpdateOptions</message>

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

      hostname:hostname

      org.xml.sax.SAXException: Deserializing parameter 'in2': could not find deserializer for type

      {http://beans.soap.rpc.confluence.atlassian.com}

      RemotePageUpdateOptions
      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 org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
      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 jenkins.plugins.confluence.soap.v1.ConfluenceserviceV1SoapBindingStub.updatePage(ConfluenceserviceV1SoapBindingStub.java:7578)
      at com.myyearbook.hudson.plugins.confluence.ConfluenceSession.updatePage(ConfluenceSession.java:141)
      at com.myyearbook.hudson.plugins.confluence.ConfluencePublisher.performWikiReplacements(ConfluencePublisher.java:395)
      at com.myyearbook.hudson.plugins.confluence.ConfluencePublisher.perform(ConfluencePublisher.java:323)
      at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
      at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:693)
      at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:668)
      at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:646)
      at hudson.model.Build$RunnerImpl.post2(Build.java:162)
      at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:615)
      at hudson.model.Run.run(Run.java:1401)
      at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
      at hudson.model.ResourceController.execute(ResourceController.java:88)
      at hudson.model.Executor.run(Executor.java:230)

          [JENKINS-14976] Deserializing parameter 'in2': could not find deserializer for type {http://beans.soap.rpc.confluence.atlassian.com}RemotePageUpdateOptions

          Joe Hansche added a comment -

          Looks like this is because Confluence 2.5 does not support the updatePage() method, according to https://confluence.atlassian.com/display/CONF25/Remote+API+Specification#RemoteAPISpecification-methodsRemoteMethods and instead uses storePage() to update a page. That means that 2.5 also does not support the ability to add a comment for the page edit (e.g., to explain what you're changing/why, etc). That is the primary purpose of the RemotePageUpdateOptions encapsulation class.

          I'll consider adding a fallback for Confluence 2.5 support, but have you considered upgrading Confluence? The current version is 4.3, with 5.0 already available for developer early access. IMO, this is poor SOAP implementation, because both 2.5 and 3.x have a "v1" WSDL file that is supposed to describe the SOAP API, yet Confluence 2.5 does not support the actual v1 APIs mentioned above.

          Joe Hansche added a comment - Looks like this is because Confluence 2.5 does not support the updatePage() method, according to https://confluence.atlassian.com/display/CONF25/Remote+API+Specification#RemoteAPISpecification-methodsRemoteMethods and instead uses storePage() to update a page. That means that 2.5 also does not support the ability to add a comment for the page edit (e.g., to explain what you're changing/why, etc). That is the primary purpose of the RemotePageUpdateOptions encapsulation class. I'll consider adding a fallback for Confluence 2.5 support, but have you considered upgrading Confluence? The current version is 4.3, with 5.0 already available for developer early access. IMO, this is poor SOAP implementation, because both 2.5 and 3.x have a "v1" WSDL file that is supposed to describe the SOAP API, yet Confluence 2.5 does not support the actual v1 APIs mentioned above.

          evernat added a comment -

          No response from the reporter.
          I would say that there is no need for compatibility with the old Confluence 2.5

          evernat added a comment - No response from the reporter. I would say that there is no need for compatibility with the old Confluence 2.5

            jhansche Joe Hansche
            rinok Rino
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: