[jbossws-issues] [JBoss JIRA] (JBWS-3957) publishWsdlImports writes WSDL-XML files with wrong characterset under Windows
Martin Both (JIRA)
issues at jboss.org
Fri Oct 30 10:43:00 EDT 2015
[ https://issues.jboss.org/browse/JBWS-3957?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13123852#comment-13123852 ]
Martin Both commented on JBWS-3957:
-----------------------------------
Hi Jim,
don't correct a mistake with an other mistake.
JBoss should write a right file and not try to read a wrong file.
Why not always write UTF-8 files like the outer WSDL file, which is in UTF-8.
One more comment
"should be published" means not writing to file system.
One more comment
Please write an email to one developer of WSDL4J as I did.
Maybe this could help to improve WSDL4J also.
Martin
Here is the stack trace
2015-10-29 12:26:36,778 INFO [org.jboss.remoting] (MSC service thread 1-4) JBoss Remoting version 3.3.4.Final-redhat-1
2015-10-29 12:26:36,791 INFO [org.jboss.as.naming] (ServerService Thread Pool -- 39) JBAS011800: Aktivierung des Naming-Untersystems
2015-10-29 12:26:36,806 INFO [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 31) JBAS010280: Aktivierung des Infinispan-Untersystems.
2015-10-29 12:26:36,813 INFO [org.jboss.as.jsf] (ServerService Thread Pool -- 37) JBAS012615: Aktivierte folgende JSF-Implementierungen: [main, 1.2]
2015-10-29 12:26:36,829 INFO [org.jboss.as.security] (ServerService Thread Pool -- 44) JBAS013371: Aktivierung des Sicherheits-Untersystems
2015-10-29 12:26:36,832 INFO [org.jboss.as.naming] (MSC service thread 1-8) JBAS011802: Starte Naming-Dienst
2015-10-29 12:26:36,843 INFO [org.jboss.as.security] (MSC service thread 1-1) JBAS013370: Aktuelle PicketBox Version=4.1.1.Final-redhat-1
2015-10-29 12:26:36,844 WARN [org.jboss.as.txn] (ServerService Thread Pool -- 46) JBAS010153: Node identifier property is set to the default value. Please make sure it is unique.
2015-10-29 12:26:36,849 INFO [org.jboss.as.webservices] (ServerService Thread Pool -- 48) JBAS015537: Aktivierung der WebServices-Erweiterung
2015-10-29 12:26:36,870 INFO [org.jboss.as.mail.extension] (MSC service thread 1-8) JBAS015400: Gebundene Mail-Session [java:jboss/mail/Default]
2015-10-29 12:26:36,906 INFO [org.jboss.as.connector.logging] (MSC service thread 1-2) JBAS010408: Starten von JCA Untersystem (IronJacamar 1.0.31.Final-redhat-1)
2015-10-29 12:26:36,936 INFO [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 27) JBAS010403: Deployment von JDBC-konformem Treiber class org.h2.Driver (Version 1.3)
2015-10-29 12:26:37,048 ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 27) JBAS014612: Operation ("add") fehlgeschlagen - Adresse: ([
("subsystem" => "datasources"),
("jdbc-driver" => "mariadb")
]) - Fehlerbeschreibung: "JBAS010441: Laden von Modul für Treiber [org.mariadb] fehlgeschlagen"
2015-10-29 12:26:37,471 INFO [org.jboss.as.server.deployment.scanner] (MSC service thread 1-7) JBAS015012: Start von FileSystemDeploymentService für Verzeichnis C:\Users\A300859\workspaces\ProKom2.0_trunk\Servers\JBossEAP6.4\standalone\deployments
2015-10-29 12:26:37,481 INFO [org.jboss.as.server.deployment] (MSC service thread 1-3) JBAS015876: Starte Deployment von "VzEBeauftragungService.war" (runtime-name: "VzEBeauftragungService.war")
2015-10-29 12:26:37,506 INFO [org.jboss.as.remoting] (MSC service thread 1-2) JBAS017100: Horche auf 127.0.0.1:9999
2015-10-29 12:26:37,507 INFO [org.apache.coyote.http11.Http11Protocol] (MSC service thread 1-7) JBWEB003001: Coyote HTTP/1.1 initializing on : http-/127.0.0.1:8080
2015-10-29 12:26:37,520 INFO [org.apache.coyote.http11.Http11Protocol] (MSC service thread 1-7) JBWEB003000: Coyote HTTP/1.1 starting on: http-/127.0.0.1:8080
2015-10-29 12:26:37,522 INFO [org.jboss.as.remoting] (MSC service thread 1-1) JBAS017100: Horche auf 127.0.0.1:4447
2015-10-29 12:26:37,526 INFO [org.jboss.ws.common.management] (MSC service thread 1-8) JBWS022052: Starting JBoss Web Services - Stack CXF Server 4.3.4.Final-redhat-1
2015-10-29 12:26:37,711 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-3) JBAS010400: Gebundene Datenquelle [java:jboss/datasources/ExampleDS]
2015-10-29 12:26:37,781 INFO [org.apache.coyote.http11.Http11Protocol] (MSC service thread 1-4) JBWEB003001: Coyote HTTP/1.1 initializing on : http-/127.0.0.1:8443
2015-10-29 12:26:37,781 INFO [org.apache.coyote.http11.Http11Protocol] (MSC service thread 1-4) JBWEB003000: Coyote HTTP/1.1 starting on: http-/127.0.0.1:8443
2015-10-29 12:26:38,347 INFO [org.jboss.ws.cxf.metadata] (MSC service thread 1-8) JBWS024061: Adding service endpoint metadata: id=de.telekom.prokom.ws.vzebeauftragung.VzEBeauftragungImpl
address=http://localhost:8080/telekom/VzEBeauftragungService
implementor=de.telekom.prokom.ws.vzebeauftragung.VzEBeauftragungImpl
serviceName={http://services.tdeu.telekom.net/ServAndResMgmt/TechOrderMgmt/VzEBeauftragung_v05.00/provider}VzEBeauftragungService
portName={http://services.tdeu.telekom.net/ServAndResMgmt/TechOrderMgmt/VzEBeauftragung_v05.00/provider}VzEBeauftragungPort
annotationWsdlLocation=null
wsdlLocationOverride=null
mtomEnabled=false
2015-10-29 12:26:38,538 INFO [org.apache.cxf.service.factory.ReflectionServiceFactoryBean] (MSC service thread 1-8) Creating Service {http://services.tdeu.telekom.net/ServAndResMgmt/TechOrderMgmt/VzEBeauftragung_v05.00/provider}VzEBeauftragungService from class net.telekom.tdeu.services.servandresmgmt.techordermgmt.vzebeauftragung_v05_00.provider.VzEBeauftragung
2015-10-29 12:26:39,291 INFO [org.apache.cxf.endpoint.ServerImpl] (MSC service thread 1-8) Setting the server's publish address to be http://localhost:8080/telekom/VzEBeauftragungService
2015-10-29 12:26:39,350 INFO [org.jboss.ws.cxf.deployment] (MSC service thread 1-8) JBWS024074: WSDL published to: file:/C:/Users/A300859/workspaces/ProKom2.0_trunk/Servers/JBossEAP6.4/standalone/data/wsdl/VzEBeauftragungService.war/VzEBeauftragungService.wsdl
[Fatal Error] :290:35: Invalid byte 2 of 3-byte UTF-8 sequence.
2015-10-29 12:26:39,457 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-8) MSC000001: Failed to start service jboss.deployment.unit."VzEBeauftragungService.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."VzEBeauftragungService.war".INSTALL: JBAS018733: Verarbeitung von Phase INSTALL von deployment "VzEBeauftragungService.war" fehlgeschlagen
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:166) [jboss-as-server-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1980) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1913) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_60]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_60]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_60]
Caused by: java.lang.RuntimeException: JBWS024076: Service {http://services.tdeu.telekom.net/ServAndResMgmt/TechOrderMgmt/VzEBeauftragung_v05.00/provider}VzEBeauftragungService, cannot publish wsdl to: C:\Users\A300859\workspaces\ProKom2.0_trunk\Servers\JBossEAP6.4\standalone\data\wsdl\VzEBeauftragungService.war\VzEBeauftragungService.wsdl
at org.jboss.wsf.stack.cxf.deployment.WSDLFilePublisher.publishWsdlFiles(WSDLFilePublisher.java:107)
at org.jboss.wsf.stack.cxf.deployment.EndpointImpl.publishContractToFilesystem(EndpointImpl.java:131)
at org.jboss.wsf.stack.cxf.deployment.EndpointImpl.doPublish(EndpointImpl.java:71)
at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:251)
at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:539)
at org.jboss.wsf.stack.cxf.configuration.NonSpringBusHolder.configure(NonSpringBusHolder.java:118)
at org.jboss.wsf.stack.cxf.deployment.aspect.BusDeploymentAspect.startDeploymentBus(BusDeploymentAspect.java:136)
at org.jboss.wsf.stack.cxf.deployment.aspect.BusDeploymentAspect.start(BusDeploymentAspect.java:68)
at org.jboss.as.webservices.deployers.AspectDeploymentProcessor.deploy(AspectDeploymentProcessor.java:74)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159) [jboss-as-server-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21]
... 5 more
Caused by: java.io.IOException: org.xml.sax.SAXParseException; lineNumber: 290; columnNumber: 35; Invalid byte 2 of 3-byte UTF-8 sequence.
at org.jboss.ws.common.DOMUtils.parse(DOMUtils.java:274)
at org.jboss.ws.common.utils.AbstractWSDLFilePublisher.publishWsdlImports(AbstractWSDLFilePublisher.java:179)
at org.jboss.wsf.stack.cxf.deployment.WSDLFilePublisher.publishWsdlFiles(WSDLFilePublisher.java:89)
... 14 more
2015-10-29 12:26:39,467 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014612: Operation ("deploy") fehlgeschlagen - Adresse: ([("deployment" => "VzEBeauftragungService.war")]) - Fehlerbeschreibung: {"JBAS014671: Fehlgeschlagene Dienste" => {"jboss.deployment.unit.\"VzEBeauftragungService.war\".INSTALL" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"VzEBeauftragungService.war\".INSTALL: JBAS018733: Verarbeitung von Phase INSTALL von deployment \"VzEBeauftragungService.war\" fehlgeschlagen
Caused by: java.lang.RuntimeException: JBWS024076: Service {http://services.tdeu.telekom.net/ServAndResMgmt/TechOrderMgmt/VzEBeauftragung_v05.00/provider}VzEBeauftragungService, cannot publish wsdl to: C:\\Users\\A300859\\workspaces\\ProKom2.0_trunk\\Servers\\JBossEAP6.4\\standalone\\data\\wsdl\\VzEBeauftragungService.war\\VzEBeauftragungService.wsdl
Caused by: java.io.IOException: org.xml.sax.SAXParseException; lineNumber: 290; columnNumber: 35; Invalid byte 2 of 3-byte UTF-8 sequence."}}
2015-10-29 12:26:39,468 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014612: Operation ("add") fehlgeschlagen - Adresse: ([
("subsystem" => "datasources"),
("data-source" => "prokom2pool")
]) - Fehlerbeschreibung: {"JBAS014771: Dienste mit fehlenden/unverfügbaren Abhängigkeiten " => [
"jboss.data-source.java:/prokom-ds [jboss.jdbc-driver.mariadb] fehlt",
"jboss.driver-demander.java:/prokom-ds [jboss.jdbc-driver.mariadb] fehlt"
]}
2015-10-29 12:26:39,469 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014612: Operation ("enable") fehlgeschlagen - Adresse: ([
("subsystem" => "datasources"),
("data-source" => "prokom2pool")
]) - Fehlerbeschreibung: {"JBAS014879: Einer oder mehrere Dienste konnten wegen der Nichtverfügbarkeit von einer oder mehreren indirekten Abhängigkeiten nicht gestartet werden." => {
"Dienste, deren Start nicht möglich war:" => [
"jboss.data-source.reference-factory.prokom2pool",
"jboss.naming.context.java.prokom-ds"
],
"Dienste, die die Ursache sein können:" => ["jboss.jdbc-driver.mariadb"]
}}
2015-10-29 12:26:39,496 INFO [org.jboss.as.server] (ServerService Thread Pool -- 28) JBAS015859: "VzEBeauftragungService.war" deployed (runtime-name: "VzEBeauftragungService.war")
2015-10-29 12:26:39,501 INFO [org.jboss.as.controller] (Controller Boot Thread) JBAS014774: Dienst-Statusbericht
JBAS014775: Neue fehlende/unbefriedigte Abhängigkeiten:
service jboss.jdbc-driver.mariadb (fehlende) Dependents: [service jboss.driver-demander.java:/prokom-ds, service jboss.data-source.java:/prokom-ds]
JBAS014777: Dienste, deren Start fehlgeschlagen ist: service jboss.deployment.unit."VzEBeauftragungService.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."VzEBeauftragungService.war".INSTALL: JBAS018733: Verarbeitung von Phase INSTALL von deployment "VzEBeauftragungService.war" fehlgeschlagen
2015-10-29 12:26:39,516 INFO [org.jboss.as] (Controller Boot Thread) JBAS015961: HTTP-Management Interface ist empfangsbereit auf http://127.0.0.1:9990/Management
2015-10-29 12:26:39,516 INFO [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin-Konsole horcht an http://127.0.0.1:9990
2015-10-29 12:26:39,517 ERROR [org.jboss.as] (Controller Boot Thread) JBAS015875: JBoss EAP 6.4.0.GA (AS 7.5.0.Final-redhat-21) wurde gestartet (mit Fehlern) in 4568ms - 183 von 226 Services gestartet (Der Start von 5 Diensten ist fehlgeschlagen oder die Abhängigkeiten wurden nicht aufgelöst, 63 Dienste sind "lazy", passiv oder werden bei Bedarf geladen)
2015-10-29 12:26:39,729 INFO [org.jboss.as.server.deployment] (MSC service thread 1-8) JBAS015877: Deployment von VzEBeauftragungService.war in (runtime-name: "VzEBeauftragungService.war") 6ms gestoppt
2015-10-29 12:26:39,825 INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS015858: "VzEBeauftragungService.war" undeployed (runtime-name: "VzEBeauftragungService.war")
2015-10-29 12:26:39,825 INFO [org.jboss.as.controller] (DeploymentScanner-threads - 2) JBAS014774: Dienst-Statusbericht
JBAS014777: Dienste, deren Start fehlgeschlagen ist: service jboss.deployment.unit."VzEBeauftragungService.war".INSTALL
2015-10-29 12:26:39,885 INFO [org.apache.coyote.http11.Http11Protocol] (MSC service thread 1-3) JBWEB003075: Coyote HTTP/1.1 pausing on: http-/127.0.0.1:8080
2015-10-29 12:26:39,885 INFO [org.apache.coyote.http11.Http11Protocol] (MSC service thread 1-5) JBWEB003075: Coyote HTTP/1.1 pausing on: http-/127.0.0.1:8443
2015-10-29 12:26:39,886 INFO [org.apache.coyote.http11.Http11Protocol] (MSC service thread 1-3) JBWEB003077: Coyote HTTP/1.1 stopping on : http-/127.0.0.1:8080
2015-10-29 12:26:39,886 INFO [org.apache.coyote.http11.Http11Protocol] (MSC service thread 1-5) JBWEB003077: Coyote HTTP/1.1 stopping on : http-/127.0.0.1:8443
2015-10-29 12:26:39,886 INFO [org.apache.catalina.core] (MSC service thread 1-1) JBWEB001079: Container org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/] has not been started
2015-10-29 12:26:39,887 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-2) JBAS010409: Ungebundene Datenquelle [java:jboss/datasources/ExampleDS]
2015-10-29 12:26:39,921 INFO [org.jboss.as] (MSC service thread 1-8) JBAS015950: JBoss EAP 6.4.0.GA (AS 7.5.0.Final-redhat-21) in 51ms gestoppt
> publishWsdlImports writes WSDL-XML files with wrong characterset under Windows
> ------------------------------------------------------------------------------
>
> Key: JBWS-3957
> URL: https://issues.jboss.org/browse/JBWS-3957
> Project: JBoss Web Services
> Issue Type: Bug
> Environment: WildFly 9, Windows 7 with default Java file.encoding Cp1252.
> Reporter: Martin Both
> Assignee: Jim Ma
> Fix For: jbossws-cxf-5.2.0.Final
>
>
> I would like to deploy a WebService but I get an exception. The WSDL XSD file contains an german character 'ä'. See:
> Here is the part of the XSD:
> <xs:simpleType name="Teilnehmerart">
> <xs:restriction base="xs:string">
> <xs:enumeration value="Privat"></xs:enumeration>
> <xs:enumeration value="Geschäftlich"></xs:enumeration>
> </xs:restriction>
> </xs:simpleType>
> The JBoss class org.jboss.ws.common.utils.AbstractWSDLFilePublisher
> writes the imported WSDL file using a FileWriter at line 166 + 167.
> FileWriter fw = new FileWriter(targetFile);
> wsdlWriter.writeWSDL(subdef, fw);
> In a next step this file is read again and results in an exception:
> Invalid byte 2 of 3-byte UTF-8 sequence.
> This is because the file is written in Cp1252 enconding together with an XML prolog
> UTF-8 encoding. That is crazy and cannot work.
> A workaround would be to set the Java file.encoding to UTF-8 but that is not what I want.
> There are two solutions:
> I think it is better to create a binary OutputStream instead of creating a FileWriter.
> The wsdlWriter offers two methods! The method with OutputStream argument would always write XML files using a UTF-8 encoding.
> An other way to fix that would be a bug fix to WSDL4J 1.6.3.
> The WSDL4J method com.ibm.wsdl.xml.WSDLWriterImpl.writeWSDL(Definition wsdlDef, Writer sink) does map default Java file.encoding to "UTF-8". That is sometimes wrong.
> The class com.ibm.wsdl.util.xml.DOM2Writer should have an XmlEncodingMapping from "Cp1252" to "Windows-1252". That would fix the problem also. But I think it would be better to use always UTF-8 with the OutputStream method.
> Best regards
> Martin Both
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
More information about the jbossws-issues
mailing list