[
https://issues.jboss.org/browse/JBWS-3511?page=com.atlassian.jira.plugin....
]
Alessio Soldano edited comment on JBWS-3511 at 10/5/12 7:25 AM:
----------------------------------------------------------------
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
was (Author: asoldano):
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
Attachments: c.xml
When trying to create consumer by setting Producer WSDL URL
http://www.oasis-open.org/committees/wsrp/specifications/version1/wsrp_v1...
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...
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?O....
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