Most likely, just replace it with 
org.apache.cxf.binding.soap.SoapTransportFactory

The HTTPTransportFactory needs to be fully usable for the REST/JAX-RS services 
which are not defined by anything WSDL related.  Thus, the HTTPTransportFactory 
no longer implements the methods needed for the wsdl extensors and such.    In 
your particular case, if you are expecting a “soap:address” extension element, 
it really needs to be the SoapTransportFactory (which will then delegate down 
to a HTTPTransportFactory for this case).

Dan



> On Feb 2, 2019, at 12:44 AM, 华 钟明 <crazy...@gmail.com> wrote:
> 
> 
> In the 2.7.x version I can publish the WebService service like this
> 
> 
> HTTPTransportFactory transportFactory = new HTTPTransportFactory();
> 
> ServerFactoryBean serverFactoryBean = new ServerFactoryBean();
> 
> serverFactoryBean.setAddress(url.getAbsolutePath());
> serverFactoryBean.setServiceClass(type);
> serverFactoryBean.setServiceBean(impl);
> serverFactoryBean.setBus(bus);
> serverFactoryBean.setDestinationFactory(transportFactory);
> serverFactoryBean.create();
> 
> but in the 3.2.x version, since the HTTPTransportFactory no longer implements 
> the WSDLEndpointFactory interface, it returns null when calling 
> ServerFactoryBean#getWSDLEndpointFactory, which results in the <soap:address 
> location/> tag. Lost, how should this problem be solved?
> 
> 
> Best Regards!
> Zhongming Hua
> 

-- 
Daniel Kulp
dk...@apache.org <mailto:dk...@apache.org> - http://dankulp.com/blog 
<http://dankulp.com/blog>
Talend Community Coder - http://talend.com <http://coders.talend.com/>

Reply via email to