[ 
https://issues.apache.org/jira/browse/CXF-3893?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Kulp resolved CXF-3893.
------------------------------

       Resolution: Fixed
    Fix Version/s: 2.5.1
                   2.4.5
         Assignee: Daniel Kulp


You're patch was a good start, but it did leave a bunch of imports to 
com.ibm.wsdl* in the corba tooling (idl2wsdl, wsdl2idl, etc...)   I've gone 
ahead and updated/fixed all of those as well. 
                
> CXF uses wsdl4j implementation classes
> --------------------------------------
>
>                 Key: CXF-3893
>                 URL: https://issues.apache.org/jira/browse/CXF-3893
>             Project: CXF
>          Issue Type: Improvement
>          Components: CORBA Binding, Core
>    Affects Versions: 2.4.3
>         Environment: Built with JDK 1.6.
>            Reporter: Brian Wilson
>            Assignee: Daniel Kulp
>              Labels: patch
>             Fix For: 2.4.5, 2.5.1
>
>         Attachments: cxf-2.4.3-wsdl4j
>
>
> WSDLFactory as provided by wsdl4j-1.6.2.jar allows for a different factory 
> implementation to be used.  However, there are parts of the CXF codebase that 
> are hardcoded to use the default implementation (i.e. that which is provided 
> by wsdl4j).  There are only a few places where this happens, and it seems 
> that there are more general ways to accomplish the same things.  It also 
> hinders those who need to use a different implementation than is provided by 
> wsdl4j.
> I am including a patch which fixes these issues.  
> In rt/core:
> * cxf/endpoint/ClientImpl.java:  using SOAPBinding interface for casting 
> instead of SOAPBindingImpl.  (getTransportURI is defined for both). 
> * cxf/wsdl11/ServiceWSDLBuilder.java: get Schema implementations by 
> ExtensionRegistry.createExtension mechanism, instead of calling new 
> SchemaImpl().
> * cxf/wsdl11/WSDLManagerImpl.java:  create entries for MimePart.class by 
> copying them from BindingInput.class entries in the registry, instead of 
> hardcoding them to use SOAPHeaderImpl and SOAPHeaderSerializer.  
> In rt/bindings/corba:
> * cxf/binding/corba/utils/CorbaObjectReferenceHelper.java:  cast to Import 
> instead of ImportImpl in order to call getDefinition().
> Two other things:
> * The test in rt/bindings/soap for 
> cxf/binding/soap/SoapDestinationFactoryTest doesn't actually test anything.  
> It constructs a SOAPAddressImpl object, but doesn't use it.  This should 
> probably be mocked when the test is made to work, but in the meantime the 
> SOAPAddressImpl should be removed.
> * In tools/common, cxf/tools/common/ExtensionInvocationHandler.java makes a 
> call to getDeclaredMethod.  This assumes that all methods are declared in the 
> object's class.  This breaks if the object was implemented using an ancestor 
> class to define the method being called.  This is an unnecessary burden on 
> the implementor of alternative (non-WSDL4J) extensions.  In order to find all 
> methods, the call to getDeclaredMethod() should be replaced by a call to 
> getMethod().

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to