You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Daniel Kulp (Resolved) (JIRA)" <ji...@apache.org> on 2011/12/06 20:07:40 UTC

[jira] [Resolved] (CXF-3893) CXF uses wsdl4j implementation classes

     [ 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