[
https://jira.jboss.org/jira/browse/JBESB-3092?page=com.atlassian.jira.plu...
]
Tom Fennelly commented on JBESB-3092:
-------------------------------------
Had a look at this and I think it's because the HttpClient used to access the wsdl is
not setting the port number on the http "Host" header. I guess JBossWS is then
using the "Host" header when constructing the schema import urls for the WSDL
being generated.
The wsdl is generated fine (the imports) if requested through a browser, but using
straightforward HttpClient code, it's not getting set (i.e. the Host is just
"localhost" Vs "localhost:8080").
I tried playing with this through the HttpRouter, which sets the Host (including the
port), but the HttpClient generated request still doesn't have the port in the http
header. Will come back to it next week if nobody else gets to it.
SOAPProxy action: Port number is missing in the imported schema types
URL
-------------------------------------------------------------------------
Key: JBESB-3092
URL:
https://jira.jboss.org/jira/browse/JBESB-3092
Project: JBoss ESB
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Web Services
Affects Versions: 4.7
Reporter: Boris Belovic
Fix For: 4.7 CP1
Attachments: contract_publisher_soapproxy.tar.bz2, server.log
I have a simple ESB service with SOAPProxy action, the WSDL document for the webservice
imports the schema types from external .xsd file. The ESB service fails on deployment with
following exceptions:
[JBossWSEntityResolver] Trying to resolve id as a non-file URL:
http://localhost/Contract_publisher_soapproxy_ws/HelloWorldImport?wsdl&am...
Caused by: java.lang.IllegalArgumentException: Cannot resolve imported resource:
http://localhost/Contract_publisher_soapproxy_ws/HelloWorldImport?wsdl&am...
at
org.jboss.ws.tools.wsdl.WSDLLocatorImpl.getImportInputSource(WSDLLocatorImpl.java:139)
at
org.jboss.ws.tools.wsdl.JBossWSDLReaderImpl.parseImport(JBossWSDLReaderImpl.java:398)
at
org.jboss.ws.tools.wsdl.JBossWSDLReaderImpl.parseDefinitions(JBossWSDLReaderImpl.java:322)
at org.jboss.ws.tools.wsdl.JBossWSDLReaderImpl.readWSDL(JBossWSDLReaderImpl.java:2292)
at org.jboss.ws.tools.wsdl.JBossWSDLReaderImpl.readWSDL(JBossWSDLReaderImpl.java:2256)
at org.jboss.ws.tools.wsdl.JBossWSDLReaderImpl.readWSDL(JBossWSDLReaderImpl.java:2309)
at org.jboss.ws.tools.wsdl.JBossWSDLReaderImpl.readWSDL(JBossWSDLReaderImpl.java:2330)
at org.jboss.ws.tools.wsdl.JBossWSDLReaderImpl.readWSDL(JBossWSDLReaderImpl.java:2362)
at
org.jboss.ws.tools.wsdl.WSDLDefinitionsFactory.parse(WSDLDefinitionsFactory.java:128)
at
org.jboss.soa.esb.actions.soap.proxy.SOAPProxyWsdlLoader.loadDefinitions(SOAPProxyWsdlLoader.java:102)
at org.jboss.soa.esb.actions.soap.proxy.SOAPProxy.<init>(SOAPProxy.java:145)
... 66 more
It looks like the port number (8080) is missing in the URL of the imported resource. This
issue is new in ER6, when I tried to deploy the service on ER5, everything works fine (no
exceptions during the deployment).
On ER5 there is a correct port number in the resource URL:
[JBossEntityResolver] Trying to resolve systemId as a non-file URL:
http://localhost:8080/Contract_publisher_soapproxy_ws/HelloWorldImport?ws...
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira