The big issue is:  why are you creating any of these things?   You shouldn’t 
need to.   They are all registered on the bus already.     There shouldn’t be 
any need to set the destination factory as it would be looked up from the 
registry on the bus depending on the URL.    Thus, if you need to configure a 
particular destination factory, configure it on the bus and then let the 
lookups do the right thing.

Dan




> On Feb 12, 2019, at 12:38 AM, 华 钟明 <crazy...@gmail.com> wrote:
> 
> Hi, 
> I also found the same problem in stackoverflow. How can I solve this problem?
> Address : 
> https://stackoverflow.com/questions/30854730/apache-cxf-3-not-generating-address-element
> 
> Best Regards!
> Zhongming Hua
> 
> 
> 在 2019/2/5 上午11:20,“华 钟明”<crazy...@gmail.com> 写入:
> 
> 
>    Thank you for your answer. 
>    I tried to use SoapTransportFactory before, but I also need to display the 
> ServletController :
>    ServletController servletController= new 
> ServletController(transportFactory.getRegistry(), 
> httpServlet.getServletConfig(), httpServlet);
> 
>    If I change to SoapTransportFactory, I don't know what to do to create 
> ServletController.
>    Because I need to call servletController.invoke(request, response);
>    If I change to SoapTransportFactory, is there no way to create it, or is 
> there another way to replace it?
> 
>    Best Regards!
>    Zhongming Hua
> 
> 
>    在 2019/2/5 上午4:10,“Daniel Kulp”<dk...@apache.org> 写入:
> 
> 
>        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/>
> 
> 

-- 
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