Petals CDK

Error when restarting a SU containing a WSDL with french characters

Details

  • Type: Bug Bug
  • Status: Resolved Resolved
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: 5.1.1
  • Fix Version/s: 5.1.2, 5.2.0
  • Component/s: runtime
  • Security Level: Public
  • Description:
    Hide
    1. Create a SA project with Petals Studio. The SA embeds any SU 'provide'.
    2. Use french characters ('é', 'è', 'à', 'ç', 'ù', or '€') into the WSDL the SU
    3. Package the SA using the maven-petals-plugin (the maven-petals-plugin MUST includes the fix of MAVPETALSPLUG-12)
    4. Install the SA into Petals ESB. All is ok.
    5. Restart the Petals node
      ---> We get an error similar to:
      [Petals.Container.Components.petals-bc-soap-4]-SEVERE 2011-09-15 16:14:10,349 Service Unit 'sae-su-soap-injection-provide-1.0.0-SNAPSHOT' failed to deploy
      org.ow2.petals.component.framework.api.exception.PEtALSCDKException: org.ow2.easywsdl.extensions.wsdl4complexwsdl.api.WSDL4ComplexWsdlException: org.ow2.easywsdl.schema.api.XmlException: SchemaException: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 3-byte UTF-8 sequence.: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 3-byte UTF-8 sequence.
              at org.ow2.petals.component.framework.su.AbstractServiceUnitManager.getWsdlDescription(AbstractServiceUnitManager.java:138)
              at org.ow2.petals.component.framework.su.AbstractServiceUnitManager.processProvidesNode(AbstractServiceUnitManager.java:882)
              at org.ow2.petals.component.framework.su.AbstractServiceUnitManager.processProvidesNodes(AbstractServiceUnitManager.java:969)
              at org.ow2.petals.component.framework.su.AbstractServiceUnitManager.deploy(AbstractServiceUnitManager.java:285)
              at org.ow2.petals.jbi.management.task.deployment.deploy.DeploySUToComponentTask.deploySUtoComponent(DeploySUToComponentTask.java:127)
              at org.ow2.petals.jbi.management.task.deployment.deploy.DeploySUToComponentTask.execute(DeploySUToComponentTask.java:79)
              at org.ow2.petals.jbi.management.TaskProcessor.process(TaskProcessor.java:78)
              at org.ow2.petals.jbi.management.task.deployment.deploy.DeployAllSUTask.registerAndDeploySU(DeployAllSUTask.java:166)
              at org.ow2.petals.jbi.management.task.deployment.deploy.DeployAllSUTask.deploySUS(DeployAllSUTask.java:122)
              at org.ow2.petals.jbi.management.task.deployment.deploy.DeployAllSUTask.execute(DeployAllSUTask.java:80)
              at org.ow2.petals.jbi.management.TaskProcessor.process(TaskProcessor.java:78)
              at org.ow2.petals.jbi.management.recovery.SystemRecoveryServiceImpl.recoverSA(SystemRecoveryServiceImpl.java:716)
              at org.ow2.petals.jbi.management.recovery.SystemRecoveryServiceImpl.recoverServiceAssembly(SystemRecoveryServiceImpl.java:591)
              at org.ow2.petals.jbi.management.recovery.SystemRecoveryServiceImpl$2.call(SystemRecoveryServiceImpl.java:323)
              at org.ow2.petals.jbi.management.recovery.SystemRecoveryServiceImpl$2.call(SystemRecoveryServiceImpl.java:1)
              at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
              at java.util.concurrent.FutureTask.run(FutureTask.java:138)
              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
              at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
              at java.util.concurrent.FutureTask.run(FutureTask.java:138)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
              at java.lang.Thread.run(Thread.java:662)
      Caused by: org.ow2.easywsdl.extensions.wsdl4complexwsdl.api.WSDL4ComplexWsdlException: org.ow2.easywsdl.schema.api.XmlException: SchemaException: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 3-byte UTF-8 sequence.: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 3-byte UTF-8 sequence.
              at org.ow2.easywsdl.extensions.wsdl4complexwsdl.impl.inout.WSDL4ComplexWsdlReaderImpl.read(WSDL4ComplexWsdlReaderImpl.java:192)
              at org.ow2.easywsdl.extensions.wsdl4complexwsdl.impl.inout.WSDL4ComplexWsdlReaderImpl.read(WSDL4ComplexWsdlReaderImpl.java:116)
              at org.ow2.petals.component.framework.util.WSDLUtilImpl.createWsdlDescription(WSDLUtilImpl.java:220)
              at org.ow2.petals.component.framework.util.WSDLUtilImpl.createWsdlDescription(WSDLUtilImpl.java:205)
              at org.ow2.petals.component.framework.su.AbstractServiceUnitManager.getWsdlDescription(AbstractServiceUnitManager.java:136)
              ... 22 more
      Caused by: org.ow2.easywsdl.schema.api.XmlException: SchemaException: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 3-byte UTF-8 sequence.: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 3-byte UTF-8 sequence.
              at org.ow2.easywsdl.schema.util.SourceHelper.convertInputSource2DOMSource(SourceHelper.java:109)
              at org.ow2.easywsdl.extensions.wsdl4complexwsdl.impl.inout.WSDL4ComplexWsdlReaderImpl.read(WSDL4ComplexWsdlReaderImpl.java:144)
              ... 26 more
      Caused by: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 3-byte UTF-8 sequence.
              at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(UTF8Reader.java:684)
              at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader.java:405)
              at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1742)
              at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.skipChar(XMLEntityScanner.java:1416)
              at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2792)
              at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
              at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
              at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
              at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
              at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
              at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
              at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:235)
              at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)
              at org.ow2.easywsdl.schema.util.SourceHelper.convertInputSource2DOMSource(SourceHelper.java:102)
              ... 27 more
    Show
    1. Create a SA project with Petals Studio. The SA embeds any SU 'provide'.
    2. Use french characters ('é', 'è', 'à', 'ç', 'ù', or '€') into the WSDL the SU
    3. Package the SA using the maven-petals-plugin (the maven-petals-plugin MUST includes the fix of MAVPETALSPLUG-12)
    4. Install the SA into Petals ESB. All is ok.
    5. Restart the Petals node ---> We get an error similar to:
      [Petals.Container.Components.petals-bc-soap-4]-SEVERE 2011-09-15 16:14:10,349 Service Unit 'sae-su-soap-injection-provide-1.0.0-SNAPSHOT' failed to deploy
      org.ow2.petals.component.framework.api.exception.PEtALSCDKException: org.ow2.easywsdl.extensions.wsdl4complexwsdl.api.WSDL4ComplexWsdlException: org.ow2.easywsdl.schema.api.XmlException: SchemaException: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 3-byte UTF-8 sequence.: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 3-byte UTF-8 sequence.
              at org.ow2.petals.component.framework.su.AbstractServiceUnitManager.getWsdlDescription(AbstractServiceUnitManager.java:138)
              at org.ow2.petals.component.framework.su.AbstractServiceUnitManager.processProvidesNode(AbstractServiceUnitManager.java:882)
              at org.ow2.petals.component.framework.su.AbstractServiceUnitManager.processProvidesNodes(AbstractServiceUnitManager.java:969)
              at org.ow2.petals.component.framework.su.AbstractServiceUnitManager.deploy(AbstractServiceUnitManager.java:285)
              at org.ow2.petals.jbi.management.task.deployment.deploy.DeploySUToComponentTask.deploySUtoComponent(DeploySUToComponentTask.java:127)
              at org.ow2.petals.jbi.management.task.deployment.deploy.DeploySUToComponentTask.execute(DeploySUToComponentTask.java:79)
              at org.ow2.petals.jbi.management.TaskProcessor.process(TaskProcessor.java:78)
              at org.ow2.petals.jbi.management.task.deployment.deploy.DeployAllSUTask.registerAndDeploySU(DeployAllSUTask.java:166)
              at org.ow2.petals.jbi.management.task.deployment.deploy.DeployAllSUTask.deploySUS(DeployAllSUTask.java:122)
              at org.ow2.petals.jbi.management.task.deployment.deploy.DeployAllSUTask.execute(DeployAllSUTask.java:80)
              at org.ow2.petals.jbi.management.TaskProcessor.process(TaskProcessor.java:78)
              at org.ow2.petals.jbi.management.recovery.SystemRecoveryServiceImpl.recoverSA(SystemRecoveryServiceImpl.java:716)
              at org.ow2.petals.jbi.management.recovery.SystemRecoveryServiceImpl.recoverServiceAssembly(SystemRecoveryServiceImpl.java:591)
              at org.ow2.petals.jbi.management.recovery.SystemRecoveryServiceImpl$2.call(SystemRecoveryServiceImpl.java:323)
              at org.ow2.petals.jbi.management.recovery.SystemRecoveryServiceImpl$2.call(SystemRecoveryServiceImpl.java:1)
              at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
              at java.util.concurrent.FutureTask.run(FutureTask.java:138)
              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
              at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
              at java.util.concurrent.FutureTask.run(FutureTask.java:138)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
              at java.lang.Thread.run(Thread.java:662)
      Caused by: org.ow2.easywsdl.extensions.wsdl4complexwsdl.api.WSDL4ComplexWsdlException: org.ow2.easywsdl.schema.api.XmlException: SchemaException: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 3-byte UTF-8 sequence.: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 3-byte UTF-8 sequence.
              at org.ow2.easywsdl.extensions.wsdl4complexwsdl.impl.inout.WSDL4ComplexWsdlReaderImpl.read(WSDL4ComplexWsdlReaderImpl.java:192)
              at org.ow2.easywsdl.extensions.wsdl4complexwsdl.impl.inout.WSDL4ComplexWsdlReaderImpl.read(WSDL4ComplexWsdlReaderImpl.java:116)
              at org.ow2.petals.component.framework.util.WSDLUtilImpl.createWsdlDescription(WSDLUtilImpl.java:220)
              at org.ow2.petals.component.framework.util.WSDLUtilImpl.createWsdlDescription(WSDLUtilImpl.java:205)
              at org.ow2.petals.component.framework.su.AbstractServiceUnitManager.getWsdlDescription(AbstractServiceUnitManager.java:136)
              ... 22 more
      Caused by: org.ow2.easywsdl.schema.api.XmlException: SchemaException: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 3-byte UTF-8 sequence.: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 3-byte UTF-8 sequence.
              at org.ow2.easywsdl.schema.util.SourceHelper.convertInputSource2DOMSource(SourceHelper.java:109)
              at org.ow2.easywsdl.extensions.wsdl4complexwsdl.impl.inout.WSDL4ComplexWsdlReaderImpl.read(WSDL4ComplexWsdlReaderImpl.java:144)
              ... 26 more
      Caused by: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 3-byte UTF-8 sequence.
              at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(UTF8Reader.java:684)
              at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader.java:405)
              at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1742)
              at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.skipChar(XMLEntityScanner.java:1416)
              at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2792)
              at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
              at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
              at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
              at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
              at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
              at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
              at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:235)
              at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)
              at org.ow2.easywsdl.schema.util.SourceHelper.convertInputSource2DOMSource(SourceHelper.java:102)
              ... 27 more
  • Environment:
    Petals ESB 3.1.3 running on Windows XP (French edition)

Activity

Hide
Christophe DENEUX added a comment - Thu, 15 Sep 2011 - 16:35:23 +0200

When deploying the SU at the first time, its WSDL is updated with the endpoint name.
This update used the WSDLUtil.convertDescriptionToString(...) to get the String associated to the WSDL. Next this WSDL as String is converted into an InputStream to be saved on the local filesystem. So the encoding is not taking into account when writing the WSDL file.

The updated WSDL, as Description, can be directly saved using WSDLUtil.convertDescriptionToFile(...)

Show
Christophe DENEUX added a comment - Thu, 15 Sep 2011 - 16:35:23 +0200 When deploying the SU at the first time, its WSDL is updated with the endpoint name. This update used the WSDLUtil.convertDescriptionToString(...) to get the String associated to the WSDL. Next this WSDL as String is converted into an InputStream to be saved on the local filesystem. So the encoding is not taking into account when writing the WSDL file. The updated WSDL, as Description, can be directly saved using WSDLUtil.convertDescriptionToFile(...)
Hide
Christophe DENEUX added a comment - Thu, 15 Sep 2011 - 16:38:57 +0200

Fixed in branch petals-enterprise-3.1.x

Show
Christophe DENEUX added a comment - Thu, 15 Sep 2011 - 16:38:57 +0200 Fixed in branch petals-enterprise-3.1.x
Hide
Christophe DENEUX added a comment - Mon, 10 Oct 2011 - 10:44:07 +0200

To merge in trunk

Show
Christophe DENEUX added a comment - Mon, 10 Oct 2011 - 10:44:07 +0200 To merge in trunk

People

Dates

  • Created:
    Thu, 15 Sep 2011 - 16:29:36 +0200
    Updated:
    Thu, 15 Dec 2011 - 13:49:31 +0100
    Resolved:
    Thu, 15 Dec 2011 - 13:49:31 +0100