You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Freeman Fang (JIRA)" <ji...@apache.org> on 2017/02/16 06:05:41 UTC
[jira] [Resolved] (CXF-6866) bindingId on Client/ServerFactoryBean
does not overrule WSDL
[ https://issues.apache.org/jira/browse/CXF-6866?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Freeman Fang resolved CXF-6866.
-------------------------------
Resolution: Fixed
Fix Version/s: 3.1.11
3.0.13
3.2.0
> bindingId on Client/ServerFactoryBean does not overrule WSDL
> ------------------------------------------------------------
>
> Key: CXF-6866
> URL: https://issues.apache.org/jira/browse/CXF-6866
> Project: CXF
> Issue Type: Bug
> Components: Core
> Affects Versions: 3.1.6, 3.0.9
> Reporter: Jens Kleine-Herzbruch
> Assignee: Freeman Fang
> Labels: regression
> Fix For: 3.2.0, 3.0.13, 3.1.11
>
>
> I have a regular service WSDL with a SOAP/HTTP binding.
> I want to use the XML binding with the service, though. If I set up my service like this:
> {code}
> ServiceImpl implementor = new ServiceImpl();
> JaxWsServerFactoryBean svrFactory = new JaxWsServerFactoryBean();
> svrFactory.setServiceClass(ServiceInterface.class);
> svrFactory.setAddress(HTTP_ADDRESS);
> svrFactory.setServiceBean(implementor);
> svrFactory.setBindingId("http://cxf.apache.org/bindings/xformat");
> {code}
> everything works as expected. However, if I also add these three lines
> {code}
> svrFactory.setWsdlURL(wsdlUrl);
> svrFactory.setServiceName(new QName(SERVICE_NS, SERVICE_NAME));
> svrFactory.setEndpointName(new QName(SERVICE_NS, PORT_NAME));
> {code}
> the the port definition from the WSDL takes precedence over the factory configuration, and the service expects a SOAP request. Other properties, like e.g. the transportId, get overridden just fine.
> The same problem also seems to exist on the ClientFactoryBean side.
> This used to work in CXF 2.x.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)