You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Daniel Kulp (JIRA)" <ji...@apache.org> on 2009/11/09 22:14:32 UTC
[jira] Resolved: (CXF-2324) HTTP Client ProxyServerPort shouldn't
be an xs:int in the http-conf.xsd
[ https://issues.apache.org/jira/browse/CXF-2324?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Kulp resolved CXF-2324.
------------------------------
Resolution: Fixed
Fix Version/s: 2.2.5
> HTTP Client ProxyServerPort shouldn't be an xs:int in the http-conf.xsd
> -----------------------------------------------------------------------
>
> Key: CXF-2324
> URL: https://issues.apache.org/jira/browse/CXF-2324
> Project: CXF
> Issue Type: Bug
> Components: Transports
> Affects Versions: 2.1.4
> Reporter: Nils Winkler
> Assignee: Daniel Kulp
> Fix For: 2.2.5
>
>
> In the {{cxf-rt-transports-http}} jar, the {{schemas/wsdl/http-conf.xsd}} file contains the following definition for the HTTP Client's {{ProxyServerPort}} element:
> {code:xml}
> <xs:attribute name="ProxyServerPort" type="xs:int" use="optional">
> <xs:annotation>
> <xs:documentation>
> Specifies the port number used by the proxy server.
> </xs:documentation>
> </xs:annotation>
> </xs:attribute>
> {code}
> The use of {{xs:int}} makes it impossible to define the {{ProxyServerPort}} value through one of Spring's {{PropertyPlaceholderConfigurer}}, e.g. like this:
> {code:xml}
> <http:conduit name="{http://xyz.com/abc/service}AbcInterfacePort.http-conduit">
> <http:client ProxyServer="$(proxy.name)" ProxyServerPort="$(proxy.port)"/>
> <http:tlsClientParameters secureSocketProtocol="SSL" />
> </http:conduit>
> {code}
> This fails on startup, since the XML validation of the context fails, complaining that {{$(proxy.port)}} is not a valid int value.
> I know that one can disable schema validation through a CXF environment parameter, but this doesn't work when using a custom Spring context in the web application. I had to resort to subclassing Spring's {{XmlWebApplicationContext}} class with the following code to successfully start the application:
> {code}
> package com.sungard.banking.spring.web;
> import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
> import org.springframework.web.context.support.XmlWebApplicationContext;
> public class NonValidatingXmlWebApplicationContext extends
> XmlWebApplicationContext {
> protected void initBeanDefinitionReader(
> XmlBeanDefinitionReader beanDefinitionReader) {
> super.initBeanDefinitionReader(beanDefinitionReader);
> beanDefinitionReader.setValidationMode(XmlBeanDefinitionReader.VALIDATION_NONE);
> beanDefinitionReader.setNamespaceAware(true);
> }
> }
> {code}
> The same issue is reported in the Spring core project
> * http://jira.springframework.org/browse/SPR-3180
> * http://jira.springframework.org/browse/SPR-4847
> With the mentioned Spring tx bean, it's at least possible to use standard bean definitions instead of the XSD-based ones. For HTTP Client, I didn't find any examples that would allow me to do that.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.