[jbossws-issues] [JBoss JIRA] (JBWS-3511) WSDL parsing exception: org.xml.sax.SAXParseException: White spaces are required between publicId and systemId.

Alessio Soldano (JIRA) jira-events at lists.jboss.org
Fri Oct 5 06:42:03 EDT 2012


    [ https://issues.jboss.org/browse/JBWS-3511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12724327#comment-12724327 ] 

Alessio Soldano commented on JBWS-3511:
---------------------------------------

Also see [1] , this looks to me a duplicate of the issue already raised there.
There's actually not a lot to do here to solve the problem, the issue is in the OASIS redirecting HTTP requests for their WSRP WSDL to HTTPS with an HTTP 302 response that includes an XML document that has a public ID but no system ID. Correct schema resolution is not possible in that case.

As suggested / discussed in [1] and [2], the "solution" here is leveraging catalogs to avoid the need for going to the internet to resolve the WSRP wsdl & schemas. Depending on the jbossws stack in use (native or cxf based), that is done using either as explained in [2] (native stack) or using jax-ws-catalog.xml catalogs (cxf stack). Attached is an example of jaxws catalog that can be used to read the schemas/wsdl from the file system (but you can also use "classpath:/" to read from jars in the classpath). I've been successfully testing that using the zip wsrp-entity-fix.zip attached to [1].

[1] https://bugzilla.redhat.com/show_bug.cgi?id=831445
[2] https://issues.jboss.org/browse/JBPAPP-9337
[3] 
                
> WSDL parsing exception: org.xml.sax.SAXParseException: White spaces are required between publicId and systemId.
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: JBWS-3511
>                 URL: https://issues.jboss.org/browse/JBWS-3511
>             Project: JBoss Web Services
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: jbossws-cxf, tools-jaxws
>         Environment: WSRP on EPP 5.2.1
>            Reporter: Biljana Kramer
>            Assignee: Alessio Soldano
>             Fix For: jbossws-cxf-4.1
>
>
> When trying to create consumer by setting Producer WSDL URL http://www.oasis-open.org/committees/wsrp/specifications/version1/wsrp_v1_bindings.wsdl the following Exception is thrown in server.log file (this is all done from EPP 5.2.1):
> 2012-06-05 14:59:15,051 WARN  [org.jboss.util.xml.JBossEntityResolver] (http-10.33.1.120-8080-4) Trying to resolve systemId as a non-file URL: http://www.oasis-open.org/committees/wsrp/specifications/version1/wsrp_v1_bindings.wsdl
> 2012-06-05 14:59:15,580 ERROR [STDERR] (http-10.33.1.120-8080-4) [Fatal Error] wsrp_v1_bindings.wsdl:1:50: White spaces are required between publicId and systemId.
> 2012-06-05 14:59:15,586 INFO  [org.gatein.wsrp.services.SOAPServiceFactory] (http-10.33.1.120-8080-4) Couldn't access WSDL information athttp://wsrp.netunitysoftware.com/WSRPTestService/WSRPTestService.asmx?Operation=WSDL. Service won't be available
> javax.xml.ws.WebServiceException: org.jboss.ws.metadata.wsdl.WSDLException: javax.wsdl.WSDLException: WSDLException (at /wsdlefinitions/import): faultCode=PARSER_ERROR: Problem parsing 'http://www.oasis-open.org/committees/wsrp/specifications/version1/wsrp_v1_bindings.wsdl'.: org.xml.sax.SAXParseException: White spaces are required between publicId and systemId.
> ...
> 2012-06-05 14:59:15,653 INFO  [javax.enterprise.resource.webcontainer.jsf.lifecycle] (http-10.33.1.120-8080-4) WARNING: FacesMessage(s) have been enqueued, but may not have been displayed.
> >> sourceId=pbG049fd3d3_2dff75_2d4581_2da5f6_2dd097be693be8:j_id37:status[severity=(ERROR 2), summary=(javax.xml.ws.WebServiceException: org.jboss.ws.metadata.wsdl.WSDLException: javax.wsdl.WSDLException: WSDLException (at /wsdlefinitions/import): faultCode=PARSER_ERROR: Problem parsing 'http://www.oasis-open.org/committees/wsrp/specifications/version1/wsrp_v1_bindings.wsdl'.: org.xml.sax.SAXParseException: White spaces are required between publicId and systemId.), detail=(org.jboss.ws.metadata.wsdl.WSDLException: javax.wsdl.WSDLException: WSDLException (at /wsdlefinitions/import): faultCode=PARSER_ERROR: Problem parsing 'http://www.oasis-open.org/committees/wsrp/specifications/version1/wsrp_v1_bindings.wsdl'.: org.xml.sax.SAXParseException: White spaces are required between publicId and systemId.)]
> It seems the error might be caused by the fact that the WSDL URL redirects to an https URL.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jbossws-issues mailing list