You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Jens Granseuer (JIRA)" <ji...@apache.org> on 2016/04/13 08:52:25 UTC

[jira] [Created] (CXF-6866) bindingId on Client/ServerFactoryBean does not overrule WSDL

Jens Granseuer created CXF-6866:
-----------------------------------

             Summary: 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.0.9, 3.1.6
            Reporter: Jens Granseuer


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.4#6332)