Serveur génère une mauvaise mise en forme de services.wsdl

J'ai un Tomcat 7.0 serveur web que j'utilise pour exécuter un service web. Le service web est le cadre CXF 2.5.2.

Lors du test du service web à partir de l'Éclipse de Service Web Explorer tout fonctionne comme on le suppose. Cependant, lors de la génération d'un Client Java à partir du WSDL (à l'aide d'Eclipse) et en l'exécutant, j'obtiens l'erreur suivante lors de l'appel de super(wsdlLocation, serviceName) de la mise en œuvre des Services:

Exception in thread "main" javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException: Failed to create service.
at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:150)
at org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:91)
at javax.xml.ws.Service.<init>(Service.java:77)
at test.Test_Service.<init>(Test_Service.java:43)
at test.Test_TestSOAP_Client.main(Test_TestSOAP_Client.java:47)
Caused by: org.apache.cxf.service.factory.ServiceConstructionException: Failed to create service.
at org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:94)
at org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:204)
at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:148)
... 4 more
Caused by: javax.wsdl.WSDLException: WSDLException: faultCode=PARSER_ERROR: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character 'c' (code 99) in start tag Expected a quote at [row,col,system-id]: [1,208,"http://www.example.com:8081/TestWS/services?wsdl"]
at org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:240)
at org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:191)
at org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:92)
... 6 more
Caused by: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character 'c' (code 99) in start tag Expected a quote at [row,col,system-id]: [1,208,"http://www.example.com:8081/TestWS/services?wsdl"]
at com.ctc.wstx.sr.StreamScanner.throwUnexpectedChar(StreamScanner.java:639)
at com.ctc.wstx.sr.BasicStreamReader.handleNsAttrs(BasicStreamReader.java:3005)
at com.ctc.wstx.sr.BasicStreamReader.handleStartElem(BasicStreamReader.java:2926)
at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2802)
at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1050)
at org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:1080)
at org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:974)
at org.apache.cxf.staxutils.StaxUtils.read(StaxUtils.java:901)
at org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:231)
... 8 more

La partie intéressante devrait être le Unexpected character 'c' (code 99) in start tag Expected a quote
at [row,col,system-id]: [1,208,"http://www.example.com:8081/TestWS/services?wsdl"]
message. Lors de l'inspection des services générés.wsdl, j'ai trouvé que le problème est dans la partie meta:

<meta http-equiv=content-type content="text/html; charset=UTF-8">

content-type devrait normalement être enveloppé dans des guillemets. Est-ce un bug connu dans l'un des cadres de travail/serveurs? Que puis-je faire pour contourner ce problème? Et pourquoi il n'y a pas de problème lors de l'utilisation de l'Éclipse de Services Web Explorer? Est-il plus tolérant aux pannes (comme mon Firefox semble être comme il également ne pas avoir de problèmes pour afficher une représentation graphique de l'wsdl généré).

OriginalL'auteur ubuntudroid | 2012-03-19