Hi,

My comment inline
-------------
Freeman(Yue) Fang

Red Hat, Inc. 
FuseSource is now part of Red Hat
Web: http://fusesource.com | http://www.redhat.com/
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com
http://blog.sina.com.cn/u/1473905042
weibo: @Freeman小屋

On 2013-3-15, at 下午2:20, Min Yang wrote:

> Hi,
> 
> We recently found out the class org.apache.cxf.wsdl11.WSDLManagerImpl in
> cxf defines the following 3 different getDefinition methods:
> 
> 1, public Definition getDefinition(URL url)
> 2, public Definition getDefinition(String url)
> 3, public Definition getDefinition(Element el)
> 
> And it seems the first method only be invoked by the webservices client
> application, and the second method is for server application, am I right?
No, the getDefinition(URL) and getDefinition(String) could be used both on 
client and server side
> If so, how will the third method will be called?
> 
The getDefinition(Element) could be used to get wsdl from 
EndpointReference(used in ws-addressing or callback)

Btw, if you wanna go through the code, I suggest you setup some IDE like 
eclipse(if you are not yet), which can make your life much more easier, take a 
look at [1] to know how
[1]http://cxf.apache.org/setting-up-eclipse.html
> And also, we found the wsdl definition will be cached in a map when fetch
> and parse the wsdl in this first time, we understand it is help to
> improvement the performance for the server application, but does it make
> send for the client application? Since in general, the client application
> will initialized the server stub only once. Do you have any other concern
> about cache the wsdl definition for the client?
For an instance, if you need use concurrent client but those client hit the 
scenarios that not thread safe, in this case you may wanna maintain a client 
pool, which means build a pool of client from the same wsdl, the cache would 
help here.

Also, client and server share same WSDLManagerImpl, there is no need to 
differentiate it IMO.



Reply via email to