[ 
http://issues.apache.org/jira/browse/CXF-115?page=comments#action_12442713 ] 
            
Seumas Soltysik commented on CXF-115:
-------------------------------------

Dan, this change does not quite provide the necessary functionality. Since I 
would like to create an Endpoint using a information from a WSDL with a URL 
other than what is annotated by the impl class, I need an EndpointImpl 
constructor that takes a WSDLServiceFactory. 

The driver code would look like this:
       WSDLServiceFactory factory = new WSDLServiceFactory(bus, wsdlLoc, 
serviceName);        
        endpoint = new  EndpointImpl(bus, impl, factory);

To make it more generic we could have a constructor that looks like this
EndpointImpl(Bus b, Object impl, AbstractServiceFactoryBean serviceFactory) {
        this.bus = b;
        this.serviceFactory = serviceFactory;
        this.implInfo = new JaxWsImplementorInfo(implementor.getClass());
        this.service = serviceFactory.getService();
        this.implementor = implementor;
        
        if (this.service == null) {
            service = serviceFactory.create();
        }
        
        doInit = true;
}

> org.apache.cxf.jaxws.EndpointImpl needs additional constructors
> ---------------------------------------------------------------
>
>                 Key: CXF-115
>                 URL: http://issues.apache.org/jira/browse/CXF-115
>             Project: CXF
>          Issue Type: Improvement
>          Components: JAX-WS Runtime
>            Reporter: Seumas Soltysik
>             Fix For: 2.0-M1
>
>
> Currently Endpoint impl has the following constructor:
>   public EndpointImpl(Bus b, Object implementor, String uri) 
> This constructor extracts annotation information from the implementor object 
> in order to create the Endpoint. However, if a user wants to over-ride one of 
> the annotation values such as the wsdlLocation value they cannot do this. 
> This situation happens when a implementation is code generated and then the 
> location of the wsdl changes. This could happen if you are packaging up a 
> endpoint along with a wsdl for deployment into a container.
> I think what is needed is a more flexible constructor that looks something 
> like this:
> public EndpointImpl(Bus b, Object implementor, Service s, String portname)
> This way a user is free to contruct their own Service from a wsdl not 
> specified by the WSDL location. 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to