cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Kulp (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CXF-1272) Application doesn't start up without internet connection (when providing <http-conf:conduit> setting)
Date Tue, 18 Mar 2008 17:33:25 GMT

    [ https://issues.apache.org/jira/browse/CXF-1272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12579939#action_12579939
] 

Daniel Kulp commented on CXF-1272:
----------------------------------


OK.   I found one of our system tests that has the same issue.

It's actually a "bug" in spring.  :-(    The entity resolver in spring will actually only
resolve schemas if the URL/systemId ends in ".xsd", which the wsdl one does not.   We work
around this when we specifically create an ApplicationContext/XmlBeanDefinitionReader by explicitly
setting a new EntityResolver on the XmlBeanDefinitionReader that DOES properly resolve schemas.
  That's why it works for our cases as we generally create the contexts ourselves.

However, if you use plain spring API's  (and I think the CXFServlet does do this, but the
tests don't hit this issue), you get the default entity resolver which is just plain broken.

Now that I understand what is happening, time to find a good fix.   :-)



> Application doesn't start up without internet connection (when providing <http-conf:conduit>
setting)
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CXF-1272
>                 URL: https://issues.apache.org/jira/browse/CXF-1272
>             Project: CXF
>          Issue Type: Improvement
>          Components: Configuration
>    Affects Versions: 2.0.3
>         Environment: IBM WebSphere 6.1 Java5
> Also reproduced when building with maven2
>            Reporter: Allard Buijze
>             Fix For: 2.0.5
>
>
> When the spring context contains the <http-conf:conduit> tag, additional CXF xsd
files are parsed. Some of these XSD's rely on the WSDL schema definitions found online. However,
the XSD is also included in the jar (schemas/wsdl/wsdl.xsd).
> When the application starts up without an internet connection, it will fail because it
cannot find the wsdlExtensibiityElement definition.
> I have modified the xsd to load [schemaLocation="classpath:schemas/wsdl/wsdl.xsd"]. Now,
the application starts up fine without internet connection.
> The file I have modified are:
> * /schemas/wsdl/http.xsd
> * /schemas/wsdl/http-conf.xsd
> * /schemas/wsdl/jms.xsd
> * /schemas/wsdl/xml-binding.xsd
> In all these files, I have removed:
> 	<import namespace = "http://schemas.xmlsoap.org/wsdl/" schemaLocation="http://schemas.xmlsoap.org/wsdl/"/>
> and added
> 	<import namespace = "http://schemas.xmlsoap.org/wsdl/" schemaLocation="classpath:/schemas/wsdl/wsdl.xsd"/>
> Perhaps there are other setting requiring external files, but we haven't come across
any so far.
> ----
> Background info:
> Our web services are running in a highly protected environment. This means that all firewalls
are closed, except for a few ports that are needed to communicate with our service providers.
This means that we do not automatically have access to all IP's from our servers.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message