웹 서비스를 실행하는 데 사용하는 Tomcat 7.0 웹 서버가 있습니다. 웹 서비스 프레임 워크는 CXF 2.5.2입니다.웹 서버 형식이 잘못되었습니다 .wsdl
Eclipse Web Service Explorer에서 웹 서비스를 테스트 할 때 모든 것이 정상적으로 작동합니다.
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
은 흥미로운 부분은 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"]
메시지 있어야한다 : 서비스 구현에서 super(wsdlLocation, serviceName)
를 호출 할 때 WSDL에서 자바 클라이언트를 생성 할 때, (Eclipse를 사용)하고 그것을 실행, 나는 다음과 같은 오류가 발생합니다.
<meta http-equiv=content-type content="text/html; charset=UTF-8">
content-type
는 일반적으로 따옴표로 포장해야합니다 생성 된 services.wsdl을 검사 할 때, 나는 문제가 메타 부분에 있음을 발견했다. 사용 된 프레임 워크/서버 중 하나에서 알려진 버그입니까? 이 문제를 해결하려면 어떻게해야합니까? Eclipse Web Services Explorer를 사용할 때 왜 아무런 문제가 없습니까? 더 내결함성이 있습니까? (Firefox가 생성 된 wsdl의 그래픽 표현을 표시하는 데 문제가없는 것처럼 보입니다).
방금 CXF 메일 링리스트로 전달했습니다. 여기에 업데이트를 게시합니다. 'com.ctc.wstx'는 우드 스탁 XML 프로세서 인 것 같습니다. 그것은 내가 제어 할 수있는 건 아니지만 ... – ubuntudroid
문제를 발견, 내 대답을 참조하십시오. – ubuntudroid