You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Dan Diephouse <da...@envoisolutions.com> on 2006/10/05 22:23:14 UTC

Re: svn commit: r453355 [1/3] - in /incubator/cxf/trunk: api/src/main/java/org/apache/cxf/phase/ api/src/main/java/org/apache/cxf/service/ api/src/main/java/org/apache/cxf/service/model/ api/src/main/java/org/apache/cxf/transport/ rt/bindings/soap/src/main...

dandiep@apache.org wrote:
> Author: dandiep
> Date: Thu Oct  5 13:19:52 2006
> New Revision: 453355
>
> URL: http://svn.apache.org/viewvc?view=rev&rev=453355
> Log:
> svn-commit.tmp
>   
Oops it didn't pick up my commit message... Here it is:

Get Code First approach working. I've separated the concerns of service
creation a little better. Now we have:
1. ServiceFactory: Creates the basic service model and service properties
2. BindingInfoFactory: Creates a binding (code first only)
3. ServerFactory: Creates a Server & Endpoint from a Service and Binding.

I added a new interface, WSDLEndpointFactory to faciliate the mediation
between the service model and WSDLs. This allows us to move the references
to SOAPAddress, HTTPAddress, etc in EndpointInfo. The method
createEndpointInfo takes a Port and turns it into an EndpointInfo. If no
WSDLEndpointFactory is found that can do that, extensors are copied instead.
This allows us to set the EndpointInfo.Address if there is a URL. If a
transport does not use URLs, it can just use the copied extensors instead.

WSDL generation does not work yet though. The ServiceWSDLBuilder needs some
work yet.

Other things which had to be done along the way:
o Add MessagePartInfo.getConcreteName - this returns the appropriate element
  name for use in the outgoing message.
o Supply the class name to the databinding so it can be more intelligent
  about how to deserialize. This *should* fix Richard Shaw's problems with
  ArrayList.
o Have the JAXBServiceModelInitializer use the JAXB reflection classes
  specific to the Sun RI to find out the type information.
o Clean up BareInInterceptor. It can now handle operation overloads much 
better.
o Clean up Wrapped interceptors to use the new getConcreteName and 
supply class
  info
o Simply the XMLMessageInIntercptor greatly by letting the Wrapped/Bare
  interceptors do the work.
o The XML interceptors appeared to be outputting the wrong xml element names
  so I modified tests for that.
o Register the SoapDestinationFactory in the extension files
o Removed JAXBElement check from Interceptors and into DataBinding

- Dan

-- 
Dan Diephouse
Envoi Solutions
http://envoisolutions.com
http://netzooid.com/blog