You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Christopher Cheng <ma...@skywidetech.com> on 2008/03/01 14:45:14 UTC

Re: service caching

Attached is the log

----- Original Message ----- 
From: "Willem Jiang" <wi...@gmail.com>
To: <cx...@incubator.apache.org>
Sent: Saturday, March 01, 2008 8:53 PM
Subject: Re: service caching?


> Hi
>
> Could you set the logger level to FINE ?
> So we can get more information about the service publishing.
>
> Willem.
>
> Christopher Cheng wrote:
>> When I call the service as a client, it takes 5 seconds to load. I am not
>> sure whether it takes 5 seconds to create the service or it takes 5 
>> seconds
>> to look up for ciper filters. I am wondering if the services are 
>> cached...
>>  Feb 29, 2008 2:14:42 PM
>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean
>> buildServiceFromWSDL
>> INFO: Creating Service
>> {https://webservices.sabre.com/websvc}OTA_HotelAvailService from WSDL:
>> file:/C:/Java/abacus-webconnect-1.14.0.rc1/wsdl/OTA_HotelAvailLLS1.4.1RQ.wsdl
>> Feb 29, 2008 2:14:47 PM org.apache.cxf.transport.https.SSLUtils
>> getCiphersuites
>> INFO: The cipher suites have not been configured, falling back to cipher
>> suite filters.
>> Feb 29, 2008 2:14:47 PM org.apache.cxf.transport.https.SSLUtils
>> getCiphersFromList
>> INFO: The cipher suites have been set to SSL_RSA_WITH_RC4_128_MD5,
>> SSL_RSA_WITH_RC4_128_SHA, SSL_RSA_WITH_DES_CBC_SHA,
>> SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA,
>> SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
>> SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
>> SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, SSL_RSA_WITH_NULL_MD5,
>> SSL_RSA_WITH_NULL_SHA, SSL_DH_anon_WITH_RC4_128_MD5,
>> TLS_DH_anon_WITH_AES_128_CBC_SHA, SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,
>> SSL_DH_anon_WITH_DES_CBC_SHA, SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,
>> SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA, TLS_KRB5_WITH_DES_CBC_SHA,
>> TLS_KRB5_WITH_DES_CBC_MD5, TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
>> TLS_KRB5_EXPORT_WITH_RC4_40_MD5, TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5.  Feb 29, 2008 2:14:48 PM
>> org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallback onClose
>>  I have put this in my cxf.xml as in
>> http://cwiki.apache.org/CXF20DOC/client-http-transport.html, but it 
>> doesn't
>> help... <http:conduit name="*.http-conduit">
>>             <http:tlsClientParameters secureSocketProtocol="SSL">
>>             <sec:cipherSuitesFilter>
>>                 <!-- these filters ensure that a ciphersuite with
>>                 export-suitable or null encryption is used,
>>                 but exclude anonymous Diffie-Hellman key change as
>>                 this is vulnerable to man-in-the-middle attacks -->
>>                 <sec:include>.*_EXPORT_.*</sec:include>
>>                 <sec:include>.*_EXPORT1024_.*</sec:include>
>>                 <sec:include>.*_WITH_DES_.*</sec:include>
>>                 <sec:include>.*_WITH_NULL_.*</sec:include>
>>                 <sec:exclude>.*_DH_anon_.*</sec:exclude>
>>             </sec:cipherSuitesFilter>
>>         </http:tlsClientParameters>
>> </http:conduit>
>>
>
> 
http://www.nabble.com/file/p15773252/cxf.log cxf.log 
-- 
View this message in context: http://www.nabble.com/Re%3A-service-caching-tp15773252p15773252.html
Sent from the cxf-user mailing list archive at Nabble.com.


Re: service caching

Posted by Christopher Cheng <ch...@gmail.com>.
Even if the proxy stuffs works and it is stored in a static map, it cannot
be shared by all processes, right?
How about caching the jaxb content in ehcache? That's how Hibernate caches
its objects.


On Sat, Mar 29, 2008 at 1:46 AM, Daniel Kulp <dk...@apache.org> wrote:

> On Friday 28 March 2008, Benson Margulies wrote:
> > Dan,
> >
> > Can we really blame the GC? When I profile a loop of 1000 client
> > endpoint creations, I think I see 1000 JAXB context creations. Surely
> > the GC isn't working *that* hard?
> >
> > I'll certainly try the experiment of holding out an endpoint.
>
> Well, there's the chance that the JAXB cache isn't actually working.  :-)
> There is code in there to cache the contexts, but it could be broken.
>
> Dan
>
> >
> > --benson
> >
> > On Fri, Mar 28, 2008 at 1:38 PM, Daniel Kulp <dk...@apache.org> wrote:
> > > Chris,
> > >
> > > Can you try something?   Create a single proxy and keep that proxy
> > > around (like in a static or something) for the duration of the test.
> > >  You don't need to use it, it just needs to stay around.
> > >
> > > We do do some caching of JAXB contexts (we should probably cache the
> > > schemas that go with that context), but those are stored in a
> > > WeakHashMap type thing so if something isn't kept around to hold
> > > onto them, they would get collected and have to be recreated.
> > > Likewise, the wsdl and and schemas from the wsdl need something
> > > holding onto them to keep them from being collected.
> > >
> > >
> > > Dan
> > >
> > > On Friday 28 March 2008, Christopher Cheng wrote:
> > > > You could try to generate java codes using "
> > > > org.apache.cxf.tools.wsdlto.WSDLToJava" with the following wsdl
> > > > and see the performance.
> > > >
> > > > http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_HotelAvai
> > > >lLLS 1.5.1RQ.wsdl
> > > >
> > > > If it's jaxb that's causing the performance problem, which
> > > > databinding in your opinion has the best performance?
> > > >
> > > >
> > > > On Fri, Mar 28, 2008 at 11:26 PM, Benson Margulies
> > > > <bi...@gmail.com>
> > > >
> > > > wrote:
> > > > > Please supply some sort of test case. I've profiled extensively.
> > > > > I don't believe that service caching, as discussed, would have
> > > > > any effect. The current 2.1 code (as ported by Dan to 2.0.5)
> > > > > appears to be constrained by the performance of JAXB, and I
> > > > > don't think we have a caching opportunity there, though I would
> > > > > love to be wrong. Perhaps there's something about your
> > > > > services that use a lot more time in the service model code than
> > > > > the sample
> > > > > I've been profiling.
> > > > >
> > > > > On Fri, Mar 28, 2008 at 8:13 AM, Christopher Cheng <
> > > > >
> > > > > christopher.sw.cheng@gmail.com> wrote:
> > > > > > I just tried to rerun it with the snapshot 2.0.5. It is
> > > > > > running about
> > > > >
> > > > > 20%
> > > > >
> > > > > > faster, but it still takes 3 seconds to build services.
> > > > > > I hope that the service caching will be available soon so I
> > > > > > can migrate the
> > > > > > current axis-1.2 application to cxf
> > > > > >
> > > > > > On Thu, Mar 20, 2008 at 7:33 PM, Daniel Kulp
> > > > > > <dk...@apache.org>
> > >
> > > wrote:
> > > > > > > On Thursday 20 March 2008, Christopher Cheng wrote:
> > > > > > > > Looks like 2.0.5 is going to release soon, is this service
> > > > > > > > caching
> > > > >
> > > > > in
> > > > >
> > > > > > > > 2.0.5?
> > > > > > >
> > > > > > > Yea.   The stuff that Benson has done is being ported to
> > > > > > > 2.0.x.
> > > > > > >
> > > > > > > That said, it's not the full service caching.   It's
> > > > > > > basically a bunch
> > > > > >
> > > > > > of
> > > > > >
> > > > > > > incremental improvements to the current algorithms, but it's
> > > > >
> > > > > definitely
> > > > >
> > > > > > > a big improvement.
> > > > > > >
> > > > > > > Dan
> > > > > > >
> > > > > > > > On Wed, Mar 5, 2008 at 11:50 AM, Christopher Cheng <
> > > > > > > >
> > > > > > > > christopher.sw.cheng@gmail.com> wrote:
> > > > > > > > > Looking forward to have this in the next release 2.0.5
> > > > > > > > > or 2.1 :)
> > > > > > > > >
> > > > > > > > > On Tue, Mar 4, 2008 at 11:55 PM, Daniel Kulp
> > > > > > > > > <dk...@apache.org>
> > > > > > >
> > > > > > > wrote:
> > > > > > > > > > Willem,
> > > > > > > > > >
> > > > > > > > > > The issue is that they CAN be modified after that.
> > > > > > > > > > One popular modification is to grab the EndpointInfo
> > > > > > > > > > out of it and change
> > > > >
> > > > > the
> > > > >
> > > > > > > > > > address.   Other things like adding interceptors to
> > > > > > > > > > the BindingInfo, changing properties on the service
> > > > > > > > > > (like to enable schema validation), etc... are all
> > > > > > > > > > modifications that affect the servicemodel.
> > > > > > > > > >
> > > > > > > > > > Databinding is "less" of an issue, but still one.
> > > > > > > > > > For example, the databinding has an "mtomThreshold"
> > > > > > > > > > and a namespaceMap that
> > > > >
> > > > > can
> > > > >
> > > > > > > > > > be set programatically.
> > > > > > > > > >
> > > > > > > > > > In both of those cases, a modification should only
> > > > > > > > > > affect the proxy on which the modification is made.
> > > > > > > > > > Thus, the
> > > > >
> > > > > servicemodel
> > > > >
> > > > > > > > > > would need a full "clone", which may not be easy to
> > > > > > > > > > do. It's certainly a lot more code to add.
> > > > > > > > > >
> > > > > > > > > > That said, I don't think it's a bad idea at all.  On
> > > > > > > > > > the
> > > > >
> > > > > contrary,
> > > > >
> > > > > > > > > > it's a
> > > > > > > > > > good idea.   It's just a bit of work.
> > > > > > > > > >
> > > > > > > > > > Dan
> > > > > > > > > >
> > > > > > > > > > On Tuesday 04 March 2008, Willem Jiang wrote:
> > > > > > > > > > > Hi Dan,
> > > > > > > > > > >
> > > > > > > > > > > I think we could cache the ServiceInfo object and
> > > > > > > > > > > DataBinding object which will take lots of time to
> > > > > > > > > > > be created and can't be modified after that. Any
> > > > > > > > > > > thought?
> > > > > > > > > > >
> > > > > > > > > > > Willem
> > > > > > > > > > >
> > > > > > > > > > > Daniel Kulp wrote:
> > > > > > > > > > > > On Tuesday 04 March 2008, Christopher Cheng wrote:
> > > > > > > > > > > >> I haven't read the codes of Axis, but I have been
> > > > > > > > > > > >> using it for 2 years and it doesn't have this
> > > > > > > > > > > >> problem. Having an overhead for 5-8 seconds is
> > > > > > > > > > > >> not an option for a production system in term of
> > > > > > > > > > > >> performance
> > > > > > > > > > > >>
> > > > > > > > > > > >> What you are saying is that all the services must
> > > > > > > > > > > >> implement Clonable interface?
> > > > > > > > > > > >
> > > > > > > > > > > > No, not the services themselves.   Just our
> > > > > > > > > > > > interal service model stuff that holds all the
> > > > > > > > > > > > metadata. Basically, when creating a new service,
> > > > > > > > > > > > we need to calculate the metadata. We should cache
> > > > > > > > > > > > that if possible.
> > > > > > > > > > > >
> > > > > > > > > > > > Dan
> > > > > > > > > > > >
> > > > > > > > > > > >> On Tue, Mar 4, 2008 at 4:48 AM, Daniel Kulp
> > > > > > > > > > > >> <dk...@apache.org>
> > > > > > > > > >
> > > > > > > > > > wrote:
> > > > > > > > > > > >>> Christopher,
> > > > > > > > > > > >>>
> > > > > > > > > > > >>> We cannot just "reuse" the Service model objects
> > > > > > > > > > > >>> as they
> > > > >
> > > > > are
> > > > >
> > > > > > > > > > > >>> completely modifiable at runtime. For example,
> > > > > > > > > > > >>> one proxy could be reconfigured with new address
> > > > > > > > > > > >>> or have additional interceptors added or
> > > > > > > > > > > >>> similar.  Those shouldn't affect others.
> > > > > > > > > > > >>>
> > > > > > > > > > > >>> On option that propably would make sense is to
> > > > > > > > > > > >>> add a fast "clone" functionality to the entire
> > > > > > > > > > > >>> service model so we could cache one, and then
> > > > > > > > > > > >>> clone it whenever one is really needed.   All
> > > > > > > > > > > >>> the individual versions could be modified
> > > > >
> > > > > and
> > > > >
> > > > > > > > > > > >>> not affect the original. However, doing that
> > > > > > > > > > > >>> would be
> > > > >
> > > > > quite
> > > > >
> > > > > > > > > > > >>> a bit of work as there are a LOT of classes that
> > > > > > > > > > > >>> would
> > > > >
> > > > > need
> > > > >
> > > > > > > > > > > >>> to be updated to support that.
> > > > > > > > > > > >>>
> > > > > > > > > > > >>> Patches towards that end would be great.   :-)
> > > > > > > > > > > >>>
> > > > > > > > > > > >>> Dan
> > > > > > > > > > > >>>
> > > > > > > > > > > >>> On Monday 03 March 2008, Christopher Cheng wrote:
> > > > > > > > > > > >>>> wsdl is indeed cached in
> > > > > > > > > > > >>>> WSDLManagerImpl.definitionsMap
> > > > > > > > > > > >>>>
> > > > > > > > > > > >>>> After reading the codes, I have some questions.
> > > > > > > > > > > >>>> My workstation is a PentiumD 3GHz with 1.5GB
> > > > > > > > > > > >>>> RAM
> > > > > > > > > > > >>>>
> > > > > > > > > > > >>>> In the class
> > > > > > > > > > > >>>> "
> > > > >
> > > > > org.apache.cxf.service.factory.ReflectionServiceFactoryBea
> > > > >
> > > > > > > > > > > >>>>n.buil d Serv iceFromWSDL(String url)",
> > > > > > > > > > > >>>> "setService(factory.create());" takes 3 seconds
> > > > > > > > > > > >>>> "getDataBinding().initialize(getService());"
> > > > > > > > > > > >>>> takes 2 seconds
> > > > > > > > > > > >>>>
> > > > > > > > > > > >>>> These 2 methods are called even in 2nd calls.
> > > > > > > > > > > >>>> Can you
> > > > >
> > > > > also
> > > > >
> > > > > > > > > > > >>>> cache the services perhaps using jakarta
> > > > > > > > > > > >>>> commons-pool? or eh-cache?
> > > > > > > > > > > >>>>
> > > > > > > > > > > >>>> By the way, I found that the wsdl is put into
> > > > > > > > > > > >>>> the definitionMap twice if "
> > > > > > > > > > > >>>> WSDLManagerImpl.getDefinition
> > > > >
> > > > > (URL
> > > > >
> > > > > > > > > > > >>>> url)" is called. First in "getDefintion(URL
> > > > > > > > > > > >>>> url)" at line 147 and second in
> > > > > > > > > > > >>>> "loadDefinition(String url)" at line
> > > > >
> > > > > 201.
> > > > >
> > > > > > > > > > > >>>> On Mon, Mar 3, 2008 at 4:22 PM, Christopher
> > > > > > > > > > > >>>> Cheng <
> > > > > > > > > > > >>>>
> > > > > > > > > > > >>>> christopher.sw.cheng@gmail.com> wrote:
> > > > > > > > > > > >>>>> wsdl is indeed cached in
> > > > > > > > > > > >>>>> WSDLManagerImpl.definitionsMap
> > > > > > > > > > > >>>>>
> > > > > > > > > > > >>>>> After reading the codes, I have some
> > > > > > > > > > > >>>>> questions. My workstation is a PentiumD 3GHz
> > > > > > > > > > > >>>>> with 1.5GB RAM
> > > > > > > > > > > >>>>>
> > > > > > > > > > > >>>>> In the class "
> > > > >
> > > > > org.apache.cxf.service.factory.ReflectionServiceFactoryBea
> > > > >
> > > > > > > > > > > >>>>>n.buil dSer viceFromWSDL(String url)",
> > > > > > > > > > > >>>>> "setService(factory.create());" takes 3
> > > > > > > > > > > >>>>> seconds
> > > > > > > > > > > >>>>> "getDataBinding().initialize(getService());"
> > > > > > > > > > > >>>>> takes 2 seconds
> > > > > > > > > > > >>>>>
> > > > > > > > > > > >>>>> These 2 methods are called even in 2nd calls.
> > > > > > > > > > > >>>>> Can you
> > > > >
> > > > > also
> > > > >
> > > > > > > > > > > >>>>> cache the services perhaps using jakarta
> > > > > > > > > > > >>>>> commons-pool?
> > > > >
> > > > > or
> > > > >
> > > > > > > > > > > >>>>> eh-cache?
> > > > > > > > > > > >>>>>
> > > > > > > > > > > >>>>> By the way, I found that the wsdl is put into
> > > > > > > > > > > >>>>> the definitionMap twice if "
> > > > > > > > > > > >>>>> WSDLManagerImpl.getDefinition
> > > > >
> > > > > (URL
> > > > >
> > > > > > > > > > > >>>>> url)" is called. First in "getDefintion(URL
> > > > > > > > > > > >>>>> url)" at
> > > > >
> > > > > line
> > > > >
> > > > > > > > > > > >>>>> 147 and second in "loadDefinition(String url)"
> > > > > > > > > > > >>>>> at line 201.
> > > > > > > > > > > >>>>>
> > > > > > > > > > > >>>>>
> > > > > > > > > > > >>>>>
> > > > > > > > > > > >>>>> On Mon, Mar 3, 2008 at 9:43 AM, Willem Jiang
> > > > > > > > > > > >>>>> <wi...@gmail.com>
> > > > > > > > > > > >>>>>
> > > > > > > > > > > >>>>> wrote:
> > > > > > > > > > > >>>>>> Hi,
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>> I just went through the code, we really cache
> > > > > > > > > > > >>>>>> the WSDL definition in CXF.
> > > > > > > > > > > >>>>>> Could you send your test case and wsdl file
> > > > > > > > > > > >>>>>> to me ? I
> > > > >
> > > > > may
> > > > >
> > > > > > > > > > > >>>>>> need to trace it for more information.
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>> Regards,
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>> Willem
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>> Christopher Cheng wrote:
> > > > > > > > > > > >>>>>>> I think the issue is still there. I used a
> > > > > > > > > > > >>>>>>> for loop to execute the
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>> same
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>>> call, all takes approximately the same time
> > > > > > > > > > > >>>>>>> to create service. I guess
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>> that
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>>> the service itself is not cached.
> > > > > > > > > > > >>>>>>>
> > > > > > > > > > > >>>>>>> On Sun, Mar 2, 2008 at 11:43 AM, Willem
> > > > > > > > > > > >>>>>>> Jiang <wi...@gmail.com>
> > > > > > > > > > > >>>>>>>
> > > > > > > > > > > >>>>>>> wrote:
> > > > > > > > > > > >>>>>>>> Here is the JIRA[1] which describe the same
> > > > > > > > > > > >>>>>>>> thing
> > > > >
> > > > > that
> > > > >
> > > > > > > > > > > >>>>>>>> you want. I don't know if it was really
> > > > > > > > > > > >>>>>>>> resolved,
> > > > >
> > > > > could
> > > > >
> > > > > > > > > > > >>>>>>>> you try the latest released CXF 2.0.4 for
> > > > > > > > > > > >>>>>>>> it.
> > > > > > > > > > > >>>>>>>>
> > > > > > > > > > > >>>>>>>> If the issue is still there, please let me
> > > > > > > > > > > >>>>>>>> know , I will put it to my next week todo
> > > > > > > > > > > >>>>>>>> list.
> > > > > > > > > > > >>>>>>>>
> > > > > > > > > > > >>>>>>>> [1]https://issues.apache.org/jira/browse/CX
> > > > > > > > > > > >>>>>>>>F-69 9
> > > > > > > > > > > >>>>>>>> [2]http://cwiki.apache.org/CXF/download.htm
> > > > > > > > > > > >>>>>>>>l
> > > > > > > > > > > >>>>>>>>
> > > > > > > > > > > >>>>>>>> Willem.
> > > > > > > > > > > >>>>>>>>
> > > > > > > > > > > >>>>>>>> Christopher Cheng wrote:
> > > > > > > > > > > >>>>>>>>> I am migrating from Axis1.2 to CXF 2.0.3
> > > > > > > > > > > >>>>>>>>>
> > > > > > > > > > > >>>>>>>>> I understand that it will take a long time
> > > > > > > > > > > >>>>>>>>> to build for the first
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>> time.
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>>>> What
> > > > > > > > > > > >>>>>>>>
> > > > > > > > > > > >>>>>>>>> I am wondering is that why it takes so
> > > > > > > > > > > >>>>>>>>> long for the second and third
> > > > > > > > > > > >>>>>>>>
> > > > > > > > > > > >>>>>>>> time?
> > > > > > > > > > > >>>>>>>>
> > > > > > > > > > > >>>>>>>>> Is there any caching of services? Axis
> > > > > > > > > > > >>>>>>>>> does not seem to have this
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>> issue.
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>>>>> Christopher Cheng wrote:
> > > > > > > > > > > >>>>>>>>>> Attached is the log
> > > > > > > > > > > >>>>>>>>>>
> > > > > > > > > > > >>>>>>>>>> ----- Original Message -----
> > > > > > > > > > > >>>>>>>>>> From: "Willem Jiang"
> > > > > > > > > > > >>>>>>>>>> <wi...@gmail.com> To:
> > > > > > > > > > > >>>>>>>>>> <cx...@incubator.apache.org> Sent:
> > > > > > > > > > > >>>>>>>>>> Saturday, March 01, 2008 8:53 PM Subject:
> > > > > > > > > > > >>>>>>>>>> Re: service caching?
> > > > > > > > > > > >>>>>>>>>>
> > > > > > > > > > > >>>>>>>>>>> Hi
> > > > > > > > > > > >>>>>>>>>>>
> > > > > > > > > > > >>>>>>>>>>> Could you set the logger level to FINE ?
> > > > > > > > > > > >>>>>>>>>>> So we can get more information about the
> > > > > > > > > > > >>>>>>>>>>> service publishing.
> > > > > > > > > > > >>>>>>>>>>>
> > > > > > > > > > > >>>>>>>>>>> Willem.
> > > > > > > > > > > >>>>>>>>>>>
> > > > > > > > > > > >>>>>>>>>>> Christopher Cheng wrote:
> > > > > > > > > > > >>>>>>>>>>>> When I call the service as a client, it
> > > > > > > > > > > >>>>>>>>>>>> takes 5 seconds to load.
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>> I am
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>>>>>>>> not
> > > > > > > > > > > >>>>>>>>>>>> sure whether it takes 5 seconds to
> > > > > > > > > > > >>>>>>>>>>>> create the service or it takes
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>> 5
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>>>>>>>> seconds
> > > > > > > > > > > >>>>>>>>>>>> to look up for ciper filters. I am
> > > > > > > > > > > >>>>>>>>>>>> wondering if
> > > > >
> > > > > the
> > > > >
> > > > > > > > > > > >>>>>>>>>>>> services are cached...
> > > > > > > > > > > >>>>>>>>>>>>  Feb 29, 2008 2:14:42 PM
> > > > >
> > > > > org.apache.cxf.service.factory.ReflectionServiceFac
> > > > >
> > > > > > > > > > > >>>>>>>>>>>>tory Bean buildServiceFromWSDL
> > > > > > > > > > > >>>>>>>>>>>> INFO: Creating Service
> > > > > > > > > > > >>>>>>>>>>>> {
> > > > >
> > > > > https://webservices.sabre.com/websvc}OTA_HotelAvai<https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> <https://webse
> > > > >rvices.sabre.com/websvc%7DOTA_HotelAvai>
> > >
> > > <https://webservic
> > >
> > > > >es.sabre.com/websvc%7DOTA_HotelAvai>
> > > > > <https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> > > > >
> > > > > > <https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> > > > > >
> > > > > > > > > > > >>>>>>>>>>>>lSer<
> > > > >
> > > > > https://webservices.sabre.com/websvc%7DOTA_Hote
> > > > >
> > > > > > > > > > > >>>>>>>>>>>>lAvailSer>
> > > > > > > > > > > >>>>>>>>>>>> vice<
> > > > >
> > > > > https://webservices.sabre.com/websvc%7DOTA_Hot
> > > > >
> > > > > > > > > > > >>>>>>>>>>>>elAva ilService>
> > > > > > > > > > > >>>>>>>>>>>> <
> > > > >
> > > > > https://webservices.sabre.com/websvc%7DOTA_HotelAv
> > > > >
> > > > > > > > > > > >>>>>>>>>>>>ailS ervic e>
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>> <
> > > > >
> > > > > https://webservices.sabre.com/websvc%7DOTA_HotelAvailSer
> > > > >
> > > > > > > > > > > >>>>>>vice> from
> > > > > > > > > > > >>>
> > > > > > > > > > > >>> WSDL:
> > > > > > > > > > > >>>>>>>>>>>> file:/C:/Java/abacus-webconnect-1.14.0.
> > > > > > > > > > > >>>>>>>>>>>>rc1
> > > > > > > > > > > >>>>>>>>
> > > > > > > > > > > >>>>>>>> /wsdl/OTA_HotelAvailLLS1.4.1RQ.wsdl
> > > > > > > > > > > >>>>>>>>
> > > > > > > > > > > >>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
> > > > > > > > > > > >>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils
> > > > > > > > > > > >>>>>>>>>>>> getCiphersuites INFO: The cipher suites
> > > > > > > > > > > >>>>>>>>>>>> have not been configured, falling back
> > > > > > > > > > > >>>>>>>>>>>> to
> > > > > > > > > > > >>>>>>>>
> > > > > > > > > > > >>>>>>>> cipher
> > > > > > > > > > > >>>>>>>>
> > > > > > > > > > > >>>>>>>>>>>> suite filters.
> > > > > > > > > > > >>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
> > > > > > > > > > > >>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils
> > > > > > > > > > > >>>>>>>>>>>> getCiphersFromList INFO: The cipher
> > > > > > > > > > > >>>>>>>>>>>> suites have been set to
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>> SSL_RSA_WITH_RC4_128_MD5,
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>>>>>>>> SSL_RSA_WITH_RC4_128_SHA,
> > > > >
> > > > > SSL_RSA_WITH_DES_CBC_SHA,
> > > > >
> > > > > > > > > > > >>>>>>>>>>>> SSL_DHE_RSA_WITH_DES_CBC_SHA,
> > > > > > > > > > > >>>>>>>>>>>> SSL_DHE_DSS_WITH_DES_CBC_SHA,
> > > > > > > > > > > >>>>>>>>>>>> SSL_RSA_EXPORT_WITH_RC4_40_MD5,
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>> SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>>>>>>>> SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > > > > > >>>>>>>>>>>> SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > > > > > >>>>>>>>>>>> SSL_RSA_WITH_NULL_MD5,
> > > > > > > > > > > >>>>>>>>>>>> SSL_RSA_WITH_NULL_SHA,
> > > > > > > > > > > >>>>>>>>>>>> SSL_DH_anon_WITH_RC4_128_MD5,
> > > > > > > > > > > >>>>>>>>>>>> TLS_DH_anon_WITH_AES_128_CBC_SHA,
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>> SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>>>>>>>> SSL_DH_anon_WITH_DES_CBC_SHA,
> > > > > > > > > > > >>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,
> > > > > > > > > > > >>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > > > > > >>>>>>>>>>>> TLS_KRB5_WITH_DES_CBC_SHA,
> > > > > > > > > > > >>>>>>>>>>>> TLS_KRB5_WITH_DES_CBC_MD5,
> > > > > > > > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
> > > > > > > > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5.
> > > > > > > > > > > >>>>>>>>>>>> Feb 29,
> > > > >
> > > > > 2008
> > > > >
> > > > > > > > > > > >>>>>>>>>>>> 2:14:48 PM
> > > > >
> > > > > org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingC
> > > > >
> > > > > > > > > > > >>>>>>allba ckon Close
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>>>>>>>>  I have put this in my cxf.xml as in
> > > > >
> > > > > http://cwiki.apache.org/CXF20DOC/client-http-transp
> > > > >
> > > > > > > > > > > >>>>>>>>>>>>ort. html , but
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>> it
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>>>>>>>> doesn't
> > > > > > > > > > > >>>>>>>>>>>> help... <http:conduit
> > > > > > > > > > > >>>>>>>>>>>> name="*.http-conduit">
> > > > > > > > > > > >>>>>>>>>>>> <http:tlsClientParameters
> > > > > > > > > > > >>>>>>>>>>>> secureSocketProtocol="SSL">
> > > > > > > > > > > >>>>>>>>>>>> <sec:cipherSuitesFilter> <!-- these
> > > > > > > > > > > >>>>>>>>>>>> filters
> > > > >
> > > > > ensure
> > > > >
> > > > > > > > > > > >>>>>>>>>>>> that a ciphersuite with export-suitable
> > > > > > > > > > > >>>>>>>>>>>> or null encryption is used, but exclude
> > > > > > > > > > > >>>>>>>>>>>> anonymous Diffie-Hellman key change
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>> as
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>>>>>>>>                 this is vulnerable to
> > > > > > > > > > > >>>>>>>>>>>> man-in-the-middle attacks
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>> -->
> > > > > > > > > > > >>>>>>
> > > > > > > > > > > >>>>>>>>>>>> <sec:include>.*_EXPORT_.*</sec:include>
> > > > > > > > > > > >>>>>>>>>>>>
> > > > > > > > > > > >>>>>>>>>>>> <sec:include>.*_EXPORT1024_.*</sec:incl
> > > > > > > > > > > >>>>>>>>>>>>ude>
> > > > > > > > > > > >>>>>>>>>>>> <sec:include>.*_WITH_DES_.*</sec:includ
> > > > > > > > > > > >>>>>>>>>>>>e>
> > > > > > > > > > > >>>>>>>>>>>> <sec:include>.*_WITH_NULL_.*</sec:inclu
> > > > > > > > > > > >>>>>>>>>>>>de>
> > > > > > > > > > > >>>>>>>>>>>> <sec:exclude>.*_DH_anon_.*</sec:exclude
> > > > > > > > > > > >>>>>>>>>>>>> </sec:cipherSuitesFilter>
> > > > > > > > > > > >>>>>>>>>>>>         </http:tlsClientParameters>
> > > > > > > > > > > >>>>>>>>>>>> </http:conduit>
> > > > > > > > > > > >>>>>>>>>>
> > > > > > > > > > > >>>>>>>>>>
> > > > > > > > > > > >>>>>>>>>> http://www.nabble.com/file/p15773252/cxf.
> > > > > > > > > > > >>>>>>>>>>log
> > > > >
> > > > > cxf.log
> > > > >
> > > > > > > > > > > >>> --
> > > > > > > > > > > >>> J. Daniel Kulp
> > > > > > > > > > > >>> Principal Engineer, IONA
> > > > > > > > > > > >>> dkulp@apache.org
> > > > > > > > > > > >>> http://www.dankulp.com/blog
> > > > > > > > > >
> > > > > > > > > > --
> > > > > > > > > > J. Daniel Kulp
> > > > > > > > > > Principal Engineer, IONA
> > > > > > > > > > dkulp@apache.org
> > > > > > > > > > http://www.dankulp.com/blog
> > > > > > >
> > > > > > > --
> > > > > > > J. Daniel Kulp
> > > > > > > Principal Engineer, IONA
> > > > > > > dkulp@apache.org
> > > > > > > http://www.dankulp.com/blog
> > >
> > > --
> > > J. Daniel Kulp
> > > Principal Engineer, IONA
> > > dkulp@apache.org
> > > http://www.dankulp.com/blog
>
>
>
> --
> J. Daniel Kulp
> Principal Engineer, IONA
> dkulp@apache.org
> http://www.dankulp.com/blog
>

Re: service caching

Posted by Daniel Kulp <dk...@apache.org>.
On Friday 28 March 2008, Benson Margulies wrote:
> Dan,
>
> Can we really blame the GC? When I profile a loop of 1000 client
> endpoint creations, I think I see 1000 JAXB context creations. Surely
> the GC isn't working *that* hard?
>
> I'll certainly try the experiment of holding out an endpoint.

Well, there's the chance that the JAXB cache isn't actually working.  :-)  
There is code in there to cache the contexts, but it could be broken. 

Dan

>
> --benson
>
> On Fri, Mar 28, 2008 at 1:38 PM, Daniel Kulp <dk...@apache.org> wrote:
> > Chris,
> >
> > Can you try something?   Create a single proxy and keep that proxy
> > around (like in a static or something) for the duration of the test.
> >  You don't need to use it, it just needs to stay around.
> >
> > We do do some caching of JAXB contexts (we should probably cache the
> > schemas that go with that context), but those are stored in a
> > WeakHashMap type thing so if something isn't kept around to hold
> > onto them, they would get collected and have to be recreated. 
> > Likewise, the wsdl and and schemas from the wsdl need something
> > holding onto them to keep them from being collected.
> >
> >
> > Dan
> >
> > On Friday 28 March 2008, Christopher Cheng wrote:
> > > You could try to generate java codes using "
> > > org.apache.cxf.tools.wsdlto.WSDLToJava" with the following wsdl
> > > and see the performance.
> > >
> > > http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_HotelAvai
> > >lLLS 1.5.1RQ.wsdl
> > >
> > > If it's jaxb that's causing the performance problem, which
> > > databinding in your opinion has the best performance?
> > >
> > >
> > > On Fri, Mar 28, 2008 at 11:26 PM, Benson Margulies
> > > <bi...@gmail.com>
> > >
> > > wrote:
> > > > Please supply some sort of test case. I've profiled extensively.
> > > > I don't believe that service caching, as discussed, would have
> > > > any effect. The current 2.1 code (as ported by Dan to 2.0.5)
> > > > appears to be constrained by the performance of JAXB, and I
> > > > don't think we have a caching opportunity there, though I would
> > > > love to be wrong. Perhaps there's something about your
> > > > services that use a lot more time in the service model code than
> > > > the sample
> > > > I've been profiling.
> > > >
> > > > On Fri, Mar 28, 2008 at 8:13 AM, Christopher Cheng <
> > > >
> > > > christopher.sw.cheng@gmail.com> wrote:
> > > > > I just tried to rerun it with the snapshot 2.0.5. It is
> > > > > running about
> > > >
> > > > 20%
> > > >
> > > > > faster, but it still takes 3 seconds to build services.
> > > > > I hope that the service caching will be available soon so I
> > > > > can migrate the
> > > > > current axis-1.2 application to cxf
> > > > >
> > > > > On Thu, Mar 20, 2008 at 7:33 PM, Daniel Kulp
> > > > > <dk...@apache.org>
> >
> > wrote:
> > > > > > On Thursday 20 March 2008, Christopher Cheng wrote:
> > > > > > > Looks like 2.0.5 is going to release soon, is this service
> > > > > > > caching
> > > >
> > > > in
> > > >
> > > > > > > 2.0.5?
> > > > > >
> > > > > > Yea.   The stuff that Benson has done is being ported to
> > > > > > 2.0.x.
> > > > > >
> > > > > > That said, it's not the full service caching.   It's
> > > > > > basically a bunch
> > > > >
> > > > > of
> > > > >
> > > > > > incremental improvements to the current algorithms, but it's
> > > >
> > > > definitely
> > > >
> > > > > > a big improvement.
> > > > > >
> > > > > > Dan
> > > > > >
> > > > > > > On Wed, Mar 5, 2008 at 11:50 AM, Christopher Cheng <
> > > > > > >
> > > > > > > christopher.sw.cheng@gmail.com> wrote:
> > > > > > > > Looking forward to have this in the next release 2.0.5
> > > > > > > > or 2.1 :)
> > > > > > > >
> > > > > > > > On Tue, Mar 4, 2008 at 11:55 PM, Daniel Kulp
> > > > > > > > <dk...@apache.org>
> > > > > >
> > > > > > wrote:
> > > > > > > > > Willem,
> > > > > > > > >
> > > > > > > > > The issue is that they CAN be modified after that.  
> > > > > > > > > One popular modification is to grab the EndpointInfo
> > > > > > > > > out of it and change
> > > >
> > > > the
> > > >
> > > > > > > > > address.   Other things like adding interceptors to
> > > > > > > > > the BindingInfo, changing properties on the service
> > > > > > > > > (like to enable schema validation), etc... are all
> > > > > > > > > modifications that affect the servicemodel.
> > > > > > > > >
> > > > > > > > > Databinding is "less" of an issue, but still one.  
> > > > > > > > > For example, the databinding has an "mtomThreshold"
> > > > > > > > > and a namespaceMap that
> > > >
> > > > can
> > > >
> > > > > > > > > be set programatically.
> > > > > > > > >
> > > > > > > > > In both of those cases, a modification should only
> > > > > > > > > affect the proxy on which the modification is made.  
> > > > > > > > > Thus, the
> > > >
> > > > servicemodel
> > > >
> > > > > > > > > would need a full "clone", which may not be easy to
> > > > > > > > > do. It's certainly a lot more code to add.
> > > > > > > > >
> > > > > > > > > That said, I don't think it's a bad idea at all.  On
> > > > > > > > > the
> > > >
> > > > contrary,
> > > >
> > > > > > > > > it's a
> > > > > > > > > good idea.   It's just a bit of work.
> > > > > > > > >
> > > > > > > > > Dan
> > > > > > > > >
> > > > > > > > > On Tuesday 04 March 2008, Willem Jiang wrote:
> > > > > > > > > > Hi Dan,
> > > > > > > > > >
> > > > > > > > > > I think we could cache the ServiceInfo object and
> > > > > > > > > > DataBinding object which will take lots of time to
> > > > > > > > > > be created and can't be modified after that. Any
> > > > > > > > > > thought?
> > > > > > > > > >
> > > > > > > > > > Willem
> > > > > > > > > >
> > > > > > > > > > Daniel Kulp wrote:
> > > > > > > > > > > On Tuesday 04 March 2008, Christopher Cheng wrote:
> > > > > > > > > > >> I haven't read the codes of Axis, but I have been
> > > > > > > > > > >> using it for 2 years and it doesn't have this
> > > > > > > > > > >> problem. Having an overhead for 5-8 seconds is
> > > > > > > > > > >> not an option for a production system in term of
> > > > > > > > > > >> performance
> > > > > > > > > > >>
> > > > > > > > > > >> What you are saying is that all the services must
> > > > > > > > > > >> implement Clonable interface?
> > > > > > > > > > >
> > > > > > > > > > > No, not the services themselves.   Just our
> > > > > > > > > > > interal service model stuff that holds all the
> > > > > > > > > > > metadata. Basically, when creating a new service,
> > > > > > > > > > > we need to calculate the metadata. We should cache
> > > > > > > > > > > that if possible.
> > > > > > > > > > >
> > > > > > > > > > > Dan
> > > > > > > > > > >
> > > > > > > > > > >> On Tue, Mar 4, 2008 at 4:48 AM, Daniel Kulp
> > > > > > > > > > >> <dk...@apache.org>
> > > > > > > > >
> > > > > > > > > wrote:
> > > > > > > > > > >>> Christopher,
> > > > > > > > > > >>>
> > > > > > > > > > >>> We cannot just "reuse" the Service model objects
> > > > > > > > > > >>> as they
> > > >
> > > > are
> > > >
> > > > > > > > > > >>> completely modifiable at runtime. For example,
> > > > > > > > > > >>> one proxy could be reconfigured with new address
> > > > > > > > > > >>> or have additional interceptors added or
> > > > > > > > > > >>> similar.  Those shouldn't affect others.
> > > > > > > > > > >>>
> > > > > > > > > > >>> On option that propably would make sense is to
> > > > > > > > > > >>> add a fast "clone" functionality to the entire
> > > > > > > > > > >>> service model so we could cache one, and then
> > > > > > > > > > >>> clone it whenever one is really needed.   All
> > > > > > > > > > >>> the individual versions could be modified
> > > >
> > > > and
> > > >
> > > > > > > > > > >>> not affect the original. However, doing that
> > > > > > > > > > >>> would be
> > > >
> > > > quite
> > > >
> > > > > > > > > > >>> a bit of work as there are a LOT of classes that
> > > > > > > > > > >>> would
> > > >
> > > > need
> > > >
> > > > > > > > > > >>> to be updated to support that.
> > > > > > > > > > >>>
> > > > > > > > > > >>> Patches towards that end would be great.   :-)
> > > > > > > > > > >>>
> > > > > > > > > > >>> Dan
> > > > > > > > > > >>>
> > > > > > > > > > >>> On Monday 03 March 2008, Christopher Cheng wrote:
> > > > > > > > > > >>>> wsdl is indeed cached in
> > > > > > > > > > >>>> WSDLManagerImpl.definitionsMap
> > > > > > > > > > >>>>
> > > > > > > > > > >>>> After reading the codes, I have some questions.
> > > > > > > > > > >>>> My workstation is a PentiumD 3GHz with 1.5GB
> > > > > > > > > > >>>> RAM
> > > > > > > > > > >>>>
> > > > > > > > > > >>>> In the class
> > > > > > > > > > >>>> "
> > > >
> > > > org.apache.cxf.service.factory.ReflectionServiceFactoryBea
> > > >
> > > > > > > > > > >>>>n.buil d Serv iceFromWSDL(String url)",
> > > > > > > > > > >>>> "setService(factory.create());" takes 3 seconds
> > > > > > > > > > >>>> "getDataBinding().initialize(getService());"
> > > > > > > > > > >>>> takes 2 seconds
> > > > > > > > > > >>>>
> > > > > > > > > > >>>> These 2 methods are called even in 2nd calls.
> > > > > > > > > > >>>> Can you
> > > >
> > > > also
> > > >
> > > > > > > > > > >>>> cache the services perhaps using jakarta
> > > > > > > > > > >>>> commons-pool? or eh-cache?
> > > > > > > > > > >>>>
> > > > > > > > > > >>>> By the way, I found that the wsdl is put into
> > > > > > > > > > >>>> the definitionMap twice if "
> > > > > > > > > > >>>> WSDLManagerImpl.getDefinition
> > > >
> > > > (URL
> > > >
> > > > > > > > > > >>>> url)" is called. First in "getDefintion(URL
> > > > > > > > > > >>>> url)" at line 147 and second in
> > > > > > > > > > >>>> "loadDefinition(String url)" at line
> > > >
> > > > 201.
> > > >
> > > > > > > > > > >>>> On Mon, Mar 3, 2008 at 4:22 PM, Christopher
> > > > > > > > > > >>>> Cheng <
> > > > > > > > > > >>>>
> > > > > > > > > > >>>> christopher.sw.cheng@gmail.com> wrote:
> > > > > > > > > > >>>>> wsdl is indeed cached in
> > > > > > > > > > >>>>> WSDLManagerImpl.definitionsMap
> > > > > > > > > > >>>>>
> > > > > > > > > > >>>>> After reading the codes, I have some
> > > > > > > > > > >>>>> questions. My workstation is a PentiumD 3GHz
> > > > > > > > > > >>>>> with 1.5GB RAM
> > > > > > > > > > >>>>>
> > > > > > > > > > >>>>> In the class "
> > > >
> > > > org.apache.cxf.service.factory.ReflectionServiceFactoryBea
> > > >
> > > > > > > > > > >>>>>n.buil dSer viceFromWSDL(String url)",
> > > > > > > > > > >>>>> "setService(factory.create());" takes 3
> > > > > > > > > > >>>>> seconds
> > > > > > > > > > >>>>> "getDataBinding().initialize(getService());"
> > > > > > > > > > >>>>> takes 2 seconds
> > > > > > > > > > >>>>>
> > > > > > > > > > >>>>> These 2 methods are called even in 2nd calls.
> > > > > > > > > > >>>>> Can you
> > > >
> > > > also
> > > >
> > > > > > > > > > >>>>> cache the services perhaps using jakarta
> > > > > > > > > > >>>>> commons-pool?
> > > >
> > > > or
> > > >
> > > > > > > > > > >>>>> eh-cache?
> > > > > > > > > > >>>>>
> > > > > > > > > > >>>>> By the way, I found that the wsdl is put into
> > > > > > > > > > >>>>> the definitionMap twice if "
> > > > > > > > > > >>>>> WSDLManagerImpl.getDefinition
> > > >
> > > > (URL
> > > >
> > > > > > > > > > >>>>> url)" is called. First in "getDefintion(URL
> > > > > > > > > > >>>>> url)" at
> > > >
> > > > line
> > > >
> > > > > > > > > > >>>>> 147 and second in "loadDefinition(String url)"
> > > > > > > > > > >>>>> at line 201.
> > > > > > > > > > >>>>>
> > > > > > > > > > >>>>>
> > > > > > > > > > >>>>>
> > > > > > > > > > >>>>> On Mon, Mar 3, 2008 at 9:43 AM, Willem Jiang
> > > > > > > > > > >>>>> <wi...@gmail.com>
> > > > > > > > > > >>>>>
> > > > > > > > > > >>>>> wrote:
> > > > > > > > > > >>>>>> Hi,
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>> I just went through the code, we really cache
> > > > > > > > > > >>>>>> the WSDL definition in CXF.
> > > > > > > > > > >>>>>> Could you send your test case and wsdl file
> > > > > > > > > > >>>>>> to me ? I
> > > >
> > > > may
> > > >
> > > > > > > > > > >>>>>> need to trace it for more information.
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>> Regards,
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>> Willem
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>> Christopher Cheng wrote:
> > > > > > > > > > >>>>>>> I think the issue is still there. I used a
> > > > > > > > > > >>>>>>> for loop to execute the
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>> same
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>>> call, all takes approximately the same time
> > > > > > > > > > >>>>>>> to create service. I guess
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>> that
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>>> the service itself is not cached.
> > > > > > > > > > >>>>>>>
> > > > > > > > > > >>>>>>> On Sun, Mar 2, 2008 at 11:43 AM, Willem
> > > > > > > > > > >>>>>>> Jiang <wi...@gmail.com>
> > > > > > > > > > >>>>>>>
> > > > > > > > > > >>>>>>> wrote:
> > > > > > > > > > >>>>>>>> Here is the JIRA[1] which describe the same
> > > > > > > > > > >>>>>>>> thing
> > > >
> > > > that
> > > >
> > > > > > > > > > >>>>>>>> you want. I don't know if it was really
> > > > > > > > > > >>>>>>>> resolved,
> > > >
> > > > could
> > > >
> > > > > > > > > > >>>>>>>> you try the latest released CXF 2.0.4 for
> > > > > > > > > > >>>>>>>> it.
> > > > > > > > > > >>>>>>>>
> > > > > > > > > > >>>>>>>> If the issue is still there, please let me
> > > > > > > > > > >>>>>>>> know , I will put it to my next week todo
> > > > > > > > > > >>>>>>>> list.
> > > > > > > > > > >>>>>>>>
> > > > > > > > > > >>>>>>>> [1]https://issues.apache.org/jira/browse/CX
> > > > > > > > > > >>>>>>>>F-69 9
> > > > > > > > > > >>>>>>>> [2]http://cwiki.apache.org/CXF/download.htm
> > > > > > > > > > >>>>>>>>l
> > > > > > > > > > >>>>>>>>
> > > > > > > > > > >>>>>>>> Willem.
> > > > > > > > > > >>>>>>>>
> > > > > > > > > > >>>>>>>> Christopher Cheng wrote:
> > > > > > > > > > >>>>>>>>> I am migrating from Axis1.2 to CXF 2.0.3
> > > > > > > > > > >>>>>>>>>
> > > > > > > > > > >>>>>>>>> I understand that it will take a long time
> > > > > > > > > > >>>>>>>>> to build for the first
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>> time.
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>>>> What
> > > > > > > > > > >>>>>>>>
> > > > > > > > > > >>>>>>>>> I am wondering is that why it takes so
> > > > > > > > > > >>>>>>>>> long for the second and third
> > > > > > > > > > >>>>>>>>
> > > > > > > > > > >>>>>>>> time?
> > > > > > > > > > >>>>>>>>
> > > > > > > > > > >>>>>>>>> Is there any caching of services? Axis
> > > > > > > > > > >>>>>>>>> does not seem to have this
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>> issue.
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>>>>> Christopher Cheng wrote:
> > > > > > > > > > >>>>>>>>>> Attached is the log
> > > > > > > > > > >>>>>>>>>>
> > > > > > > > > > >>>>>>>>>> ----- Original Message -----
> > > > > > > > > > >>>>>>>>>> From: "Willem Jiang"
> > > > > > > > > > >>>>>>>>>> <wi...@gmail.com> To:
> > > > > > > > > > >>>>>>>>>> <cx...@incubator.apache.org> Sent:
> > > > > > > > > > >>>>>>>>>> Saturday, March 01, 2008 8:53 PM Subject:
> > > > > > > > > > >>>>>>>>>> Re: service caching?
> > > > > > > > > > >>>>>>>>>>
> > > > > > > > > > >>>>>>>>>>> Hi
> > > > > > > > > > >>>>>>>>>>>
> > > > > > > > > > >>>>>>>>>>> Could you set the logger level to FINE ?
> > > > > > > > > > >>>>>>>>>>> So we can get more information about the
> > > > > > > > > > >>>>>>>>>>> service publishing.
> > > > > > > > > > >>>>>>>>>>>
> > > > > > > > > > >>>>>>>>>>> Willem.
> > > > > > > > > > >>>>>>>>>>>
> > > > > > > > > > >>>>>>>>>>> Christopher Cheng wrote:
> > > > > > > > > > >>>>>>>>>>>> When I call the service as a client, it
> > > > > > > > > > >>>>>>>>>>>> takes 5 seconds to load.
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>> I am
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>>>>>>>> not
> > > > > > > > > > >>>>>>>>>>>> sure whether it takes 5 seconds to
> > > > > > > > > > >>>>>>>>>>>> create the service or it takes
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>> 5
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>>>>>>>> seconds
> > > > > > > > > > >>>>>>>>>>>> to look up for ciper filters. I am
> > > > > > > > > > >>>>>>>>>>>> wondering if
> > > >
> > > > the
> > > >
> > > > > > > > > > >>>>>>>>>>>> services are cached...
> > > > > > > > > > >>>>>>>>>>>>  Feb 29, 2008 2:14:42 PM
> > > >
> > > > org.apache.cxf.service.factory.ReflectionServiceFac
> > > >
> > > > > > > > > > >>>>>>>>>>>>tory Bean buildServiceFromWSDL
> > > > > > > > > > >>>>>>>>>>>> INFO: Creating Service
> > > > > > > > > > >>>>>>>>>>>> {
> > > >
> > > > https://webservices.sabre.com/websvc}OTA_HotelAvai<https://webse
> > > >rvices.sabre.com/websvc%7DOTA_HotelAvai>
> >
> > <https://webservic
> >
> > > >es.sabre.com/websvc%7DOTA_HotelAvai>
> > > > <https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> > > >
> > > > > <https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> > > > >
> > > > > > > > > > >>>>>>>>>>>>lSer<
> > > >
> > > > https://webservices.sabre.com/websvc%7DOTA_Hote
> > > >
> > > > > > > > > > >>>>>>>>>>>>lAvailSer>
> > > > > > > > > > >>>>>>>>>>>> vice<
> > > >
> > > > https://webservices.sabre.com/websvc%7DOTA_Hot
> > > >
> > > > > > > > > > >>>>>>>>>>>>elAva ilService>
> > > > > > > > > > >>>>>>>>>>>> <
> > > >
> > > > https://webservices.sabre.com/websvc%7DOTA_HotelAv
> > > >
> > > > > > > > > > >>>>>>>>>>>>ailS ervic e>
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>> <
> > > >
> > > > https://webservices.sabre.com/websvc%7DOTA_HotelAvailSer
> > > >
> > > > > > > > > > >>>>>>vice> from
> > > > > > > > > > >>>
> > > > > > > > > > >>> WSDL:
> > > > > > > > > > >>>>>>>>>>>> file:/C:/Java/abacus-webconnect-1.14.0.
> > > > > > > > > > >>>>>>>>>>>>rc1
> > > > > > > > > > >>>>>>>>
> > > > > > > > > > >>>>>>>> /wsdl/OTA_HotelAvailLLS1.4.1RQ.wsdl
> > > > > > > > > > >>>>>>>>
> > > > > > > > > > >>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
> > > > > > > > > > >>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils
> > > > > > > > > > >>>>>>>>>>>> getCiphersuites INFO: The cipher suites
> > > > > > > > > > >>>>>>>>>>>> have not been configured, falling back
> > > > > > > > > > >>>>>>>>>>>> to
> > > > > > > > > > >>>>>>>>
> > > > > > > > > > >>>>>>>> cipher
> > > > > > > > > > >>>>>>>>
> > > > > > > > > > >>>>>>>>>>>> suite filters.
> > > > > > > > > > >>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
> > > > > > > > > > >>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils
> > > > > > > > > > >>>>>>>>>>>> getCiphersFromList INFO: The cipher
> > > > > > > > > > >>>>>>>>>>>> suites have been set to
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>> SSL_RSA_WITH_RC4_128_MD5,
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>>>>>>>> SSL_RSA_WITH_RC4_128_SHA,
> > > >
> > > > SSL_RSA_WITH_DES_CBC_SHA,
> > > >
> > > > > > > > > > >>>>>>>>>>>> SSL_DHE_RSA_WITH_DES_CBC_SHA,
> > > > > > > > > > >>>>>>>>>>>> SSL_DHE_DSS_WITH_DES_CBC_SHA,
> > > > > > > > > > >>>>>>>>>>>> SSL_RSA_EXPORT_WITH_RC4_40_MD5,
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>> SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>>>>>>>> SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > > > > >>>>>>>>>>>> SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > > > > >>>>>>>>>>>> SSL_RSA_WITH_NULL_MD5,
> > > > > > > > > > >>>>>>>>>>>> SSL_RSA_WITH_NULL_SHA,
> > > > > > > > > > >>>>>>>>>>>> SSL_DH_anon_WITH_RC4_128_MD5,
> > > > > > > > > > >>>>>>>>>>>> TLS_DH_anon_WITH_AES_128_CBC_SHA,
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>> SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>>>>>>>> SSL_DH_anon_WITH_DES_CBC_SHA,
> > > > > > > > > > >>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,
> > > > > > > > > > >>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > > > > >>>>>>>>>>>> TLS_KRB5_WITH_DES_CBC_SHA,
> > > > > > > > > > >>>>>>>>>>>> TLS_KRB5_WITH_DES_CBC_MD5,
> > > > > > > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
> > > > > > > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5. 
> > > > > > > > > > >>>>>>>>>>>> Feb 29,
> > > >
> > > > 2008
> > > >
> > > > > > > > > > >>>>>>>>>>>> 2:14:48 PM
> > > >
> > > > org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingC
> > > >
> > > > > > > > > > >>>>>>allba ckon Close
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>>>>>>>>  I have put this in my cxf.xml as in
> > > >
> > > > http://cwiki.apache.org/CXF20DOC/client-http-transp
> > > >
> > > > > > > > > > >>>>>>>>>>>>ort. html , but
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>> it
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>>>>>>>> doesn't
> > > > > > > > > > >>>>>>>>>>>> help... <http:conduit
> > > > > > > > > > >>>>>>>>>>>> name="*.http-conduit">
> > > > > > > > > > >>>>>>>>>>>> <http:tlsClientParameters
> > > > > > > > > > >>>>>>>>>>>> secureSocketProtocol="SSL">
> > > > > > > > > > >>>>>>>>>>>> <sec:cipherSuitesFilter> <!-- these
> > > > > > > > > > >>>>>>>>>>>> filters
> > > >
> > > > ensure
> > > >
> > > > > > > > > > >>>>>>>>>>>> that a ciphersuite with export-suitable
> > > > > > > > > > >>>>>>>>>>>> or null encryption is used, but exclude
> > > > > > > > > > >>>>>>>>>>>> anonymous Diffie-Hellman key change
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>> as
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>>>>>>>>                 this is vulnerable to
> > > > > > > > > > >>>>>>>>>>>> man-in-the-middle attacks
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>> -->
> > > > > > > > > > >>>>>>
> > > > > > > > > > >>>>>>>>>>>> <sec:include>.*_EXPORT_.*</sec:include>
> > > > > > > > > > >>>>>>>>>>>>
> > > > > > > > > > >>>>>>>>>>>> <sec:include>.*_EXPORT1024_.*</sec:incl
> > > > > > > > > > >>>>>>>>>>>>ude>
> > > > > > > > > > >>>>>>>>>>>> <sec:include>.*_WITH_DES_.*</sec:includ
> > > > > > > > > > >>>>>>>>>>>>e>
> > > > > > > > > > >>>>>>>>>>>> <sec:include>.*_WITH_NULL_.*</sec:inclu
> > > > > > > > > > >>>>>>>>>>>>de>
> > > > > > > > > > >>>>>>>>>>>> <sec:exclude>.*_DH_anon_.*</sec:exclude
> > > > > > > > > > >>>>>>>>>>>>> </sec:cipherSuitesFilter>
> > > > > > > > > > >>>>>>>>>>>>         </http:tlsClientParameters>
> > > > > > > > > > >>>>>>>>>>>> </http:conduit>
> > > > > > > > > > >>>>>>>>>>
> > > > > > > > > > >>>>>>>>>> 
> > > > > > > > > > >>>>>>>>>> http://www.nabble.com/file/p15773252/cxf.
> > > > > > > > > > >>>>>>>>>>log
> > > >
> > > > cxf.log
> > > >
> > > > > > > > > > >>> --
> > > > > > > > > > >>> J. Daniel Kulp
> > > > > > > > > > >>> Principal Engineer, IONA
> > > > > > > > > > >>> dkulp@apache.org
> > > > > > > > > > >>> http://www.dankulp.com/blog
> > > > > > > > >
> > > > > > > > > --
> > > > > > > > > J. Daniel Kulp
> > > > > > > > > Principal Engineer, IONA
> > > > > > > > > dkulp@apache.org
> > > > > > > > > http://www.dankulp.com/blog
> > > > > >
> > > > > > --
> > > > > > J. Daniel Kulp
> > > > > > Principal Engineer, IONA
> > > > > > dkulp@apache.org
> > > > > > http://www.dankulp.com/blog
> >
> > --
> > J. Daniel Kulp
> > Principal Engineer, IONA
> > dkulp@apache.org
> > http://www.dankulp.com/blog



-- 
J. Daniel Kulp
Principal Engineer, IONA
dkulp@apache.org
http://www.dankulp.com/blog

Re: service caching

Posted by Benson Margulies <bi...@gmail.com>.
Dan,

Can we really blame the GC? When I profile a loop of 1000 client endpoint
creations, I think I see 1000 JAXB context creations. Surely the GC isn't
working *that* hard?

I'll certainly try the experiment of holding out an endpoint.

--benson


On Fri, Mar 28, 2008 at 1:38 PM, Daniel Kulp <dk...@apache.org> wrote:

>
> Chris,
>
> Can you try something?   Create a single proxy and keep that proxy around
> (like in a static or something) for the duration of the test.  You don't
> need to use it, it just needs to stay around.
>
> We do do some caching of JAXB contexts (we should probably cache the
> schemas that go with that context), but those are stored in a
> WeakHashMap type thing so if something isn't kept around to hold onto
> them, they would get collected and have to be recreated.  Likewise, the
> wsdl and and schemas from the wsdl need something holding onto them to
> keep them from being collected.
>
>
> Dan
>
>
>
> On Friday 28 March 2008, Christopher Cheng wrote:
> > You could try to generate java codes using "
> > org.apache.cxf.tools.wsdlto.WSDLToJava" with the following wsdl and
> > see the performance.
> >
> > http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_HotelAvailLLS
> >1.5.1RQ.wsdl
> >
> > If it's jaxb that's causing the performance problem, which databinding
> > in your opinion has the best performance?
> >
> >
> > On Fri, Mar 28, 2008 at 11:26 PM, Benson Margulies
> > <bi...@gmail.com>
> >
> > wrote:
> > > Please supply some sort of test case. I've profiled extensively. I
> > > don't believe that service caching, as discussed, would have any
> > > effect. The current 2.1 code (as ported by Dan to 2.0.5) appears to
> > > be constrained by the performance of JAXB, and I don't think we have
> > > a caching opportunity there, though I would love to be wrong.
> > > Perhaps there's something about your
> > > services that use a lot more time in the service model code than the
> > > sample
> > > I've been profiling.
> > >
> > > On Fri, Mar 28, 2008 at 8:13 AM, Christopher Cheng <
> > >
> > > christopher.sw.cheng@gmail.com> wrote:
> > > > I just tried to rerun it with the snapshot 2.0.5. It is running
> > > > about
> > >
> > > 20%
> > >
> > > > faster, but it still takes 3 seconds to build services.
> > > > I hope that the service caching will be available soon so I can
> > > > migrate the
> > > > current axis-1.2 application to cxf
> > > >
> > > > On Thu, Mar 20, 2008 at 7:33 PM, Daniel Kulp <dk...@apache.org>
> wrote:
> > > > > On Thursday 20 March 2008, Christopher Cheng wrote:
> > > > > > Looks like 2.0.5 is going to release soon, is this service
> > > > > > caching
> > >
> > > in
> > >
> > > > > > 2.0.5?
> > > > >
> > > > > Yea.   The stuff that Benson has done is being ported to 2.0.x.
> > > > >
> > > > > That said, it's not the full service caching.   It's basically a
> > > > > bunch
> > > >
> > > > of
> > > >
> > > > > incremental improvements to the current algorithms, but it's
> > >
> > > definitely
> > >
> > > > > a big improvement.
> > > > >
> > > > > Dan
> > > > >
> > > > > > On Wed, Mar 5, 2008 at 11:50 AM, Christopher Cheng <
> > > > > >
> > > > > > christopher.sw.cheng@gmail.com> wrote:
> > > > > > > Looking forward to have this in the next release 2.0.5 or
> > > > > > > 2.1 :)
> > > > > > >
> > > > > > > On Tue, Mar 4, 2008 at 11:55 PM, Daniel Kulp
> > > > > > > <dk...@apache.org>
> > > > >
> > > > > wrote:
> > > > > > > > Willem,
> > > > > > > >
> > > > > > > > The issue is that they CAN be modified after that.   One
> > > > > > > > popular modification is to grab the EndpointInfo out of it
> > > > > > > > and change
> > >
> > > the
> > >
> > > > > > > > address.   Other things like adding interceptors to the
> > > > > > > > BindingInfo, changing properties on the service (like to
> > > > > > > > enable schema validation), etc... are all modifications
> > > > > > > > that affect the servicemodel.
> > > > > > > >
> > > > > > > > Databinding is "less" of an issue, but still one.   For
> > > > > > > > example, the databinding has an "mtomThreshold" and a
> > > > > > > > namespaceMap that
> > >
> > > can
> > >
> > > > > > > > be set programatically.
> > > > > > > >
> > > > > > > > In both of those cases, a modification should only affect
> > > > > > > > the proxy on which the modification is made.   Thus, the
> > >
> > > servicemodel
> > >
> > > > > > > > would need a full "clone", which may not be easy to do.
> > > > > > > > It's certainly a lot more code to add.
> > > > > > > >
> > > > > > > > That said, I don't think it's a bad idea at all.  On the
> > >
> > > contrary,
> > >
> > > > > > > > it's a
> > > > > > > > good idea.   It's just a bit of work.
> > > > > > > >
> > > > > > > > Dan
> > > > > > > >
> > > > > > > > On Tuesday 04 March 2008, Willem Jiang wrote:
> > > > > > > > > Hi Dan,
> > > > > > > > >
> > > > > > > > > I think we could cache the ServiceInfo object and
> > > > > > > > > DataBinding object which will take lots of time to be
> > > > > > > > > created and can't be modified after that. Any thought?
> > > > > > > > >
> > > > > > > > > Willem
> > > > > > > > >
> > > > > > > > > Daniel Kulp wrote:
> > > > > > > > > > On Tuesday 04 March 2008, Christopher Cheng wrote:
> > > > > > > > > >> I haven't read the codes of Axis, but I have been
> > > > > > > > > >> using it for 2 years and it doesn't have this
> > > > > > > > > >> problem. Having an overhead for 5-8 seconds is not an
> > > > > > > > > >> option for a production system in term of performance
> > > > > > > > > >>
> > > > > > > > > >> What you are saying is that all the services must
> > > > > > > > > >> implement Clonable interface?
> > > > > > > > > >
> > > > > > > > > > No, not the services themselves.   Just our interal
> > > > > > > > > > service model stuff that holds all the metadata.
> > > > > > > > > > Basically, when creating a new service, we need to
> > > > > > > > > > calculate the metadata. We should cache that if
> > > > > > > > > > possible.
> > > > > > > > > >
> > > > > > > > > > Dan
> > > > > > > > > >
> > > > > > > > > >> On Tue, Mar 4, 2008 at 4:48 AM, Daniel Kulp
> > > > > > > > > >> <dk...@apache.org>
> > > > > > > >
> > > > > > > > wrote:
> > > > > > > > > >>> Christopher,
> > > > > > > > > >>>
> > > > > > > > > >>> We cannot just "reuse" the Service model objects as
> > > > > > > > > >>> they
> > >
> > > are
> > >
> > > > > > > > > >>> completely modifiable at runtime. For example, one
> > > > > > > > > >>> proxy could be reconfigured with new address or have
> > > > > > > > > >>> additional interceptors added or similar.  Those
> > > > > > > > > >>> shouldn't affect others.
> > > > > > > > > >>>
> > > > > > > > > >>> On option that propably would make sense is to add a
> > > > > > > > > >>> fast "clone" functionality to the entire service
> > > > > > > > > >>> model so we could cache one, and then clone it
> > > > > > > > > >>> whenever one is really needed.   All the individual
> > > > > > > > > >>> versions could be modified
> > >
> > > and
> > >
> > > > > > > > > >>> not affect the original. However, doing that would
> > > > > > > > > >>> be
> > >
> > > quite
> > >
> > > > > > > > > >>> a bit of work as there are a LOT of classes that
> > > > > > > > > >>> would
> > >
> > > need
> > >
> > > > > > > > > >>> to be updated to support that.
> > > > > > > > > >>>
> > > > > > > > > >>> Patches towards that end would be great.   :-)
> > > > > > > > > >>>
> > > > > > > > > >>> Dan
> > > > > > > > > >>>
> > > > > > > > > >>> On Monday 03 March 2008, Christopher Cheng wrote:
> > > > > > > > > >>>> wsdl is indeed cached in
> > > > > > > > > >>>> WSDLManagerImpl.definitionsMap
> > > > > > > > > >>>>
> > > > > > > > > >>>> After reading the codes, I have some questions. My
> > > > > > > > > >>>> workstation is a PentiumD 3GHz with 1.5GB RAM
> > > > > > > > > >>>>
> > > > > > > > > >>>> In the class
> > > > > > > > > >>>> "
> > >
> > > org.apache.cxf.service.factory.ReflectionServiceFactoryBea
> > >
> > > > > > > > > >>>>n.buil d Serv iceFromWSDL(String url)",
> > > > > > > > > >>>> "setService(factory.create());" takes 3 seconds
> > > > > > > > > >>>> "getDataBinding().initialize(getService());" takes
> > > > > > > > > >>>> 2 seconds
> > > > > > > > > >>>>
> > > > > > > > > >>>> These 2 methods are called even in 2nd calls. Can
> > > > > > > > > >>>> you
> > >
> > > also
> > >
> > > > > > > > > >>>> cache the services perhaps using jakarta
> > > > > > > > > >>>> commons-pool? or eh-cache?
> > > > > > > > > >>>>
> > > > > > > > > >>>> By the way, I found that the wsdl is put into the
> > > > > > > > > >>>> definitionMap twice if "
> > > > > > > > > >>>> WSDLManagerImpl.getDefinition
> > >
> > > (URL
> > >
> > > > > > > > > >>>> url)" is called. First in "getDefintion(URL url)"
> > > > > > > > > >>>> at line 147 and second in "loadDefinition(String
> > > > > > > > > >>>> url)" at line
> > >
> > > 201.
> > >
> > > > > > > > > >>>> On Mon, Mar 3, 2008 at 4:22 PM, Christopher Cheng <
> > > > > > > > > >>>>
> > > > > > > > > >>>> christopher.sw.cheng@gmail.com> wrote:
> > > > > > > > > >>>>> wsdl is indeed cached in
> > > > > > > > > >>>>> WSDLManagerImpl.definitionsMap
> > > > > > > > > >>>>>
> > > > > > > > > >>>>> After reading the codes, I have some questions. My
> > > > > > > > > >>>>> workstation is a PentiumD 3GHz with 1.5GB RAM
> > > > > > > > > >>>>>
> > > > > > > > > >>>>> In the class "
> > >
> > > org.apache.cxf.service.factory.ReflectionServiceFactoryBea
> > >
> > > > > > > > > >>>>>n.buil dSer viceFromWSDL(String url)",
> > > > > > > > > >>>>> "setService(factory.create());" takes 3 seconds
> > > > > > > > > >>>>> "getDataBinding().initialize(getService());" takes
> > > > > > > > > >>>>> 2 seconds
> > > > > > > > > >>>>>
> > > > > > > > > >>>>> These 2 methods are called even in 2nd calls. Can
> > > > > > > > > >>>>> you
> > >
> > > also
> > >
> > > > > > > > > >>>>> cache the services perhaps using jakarta
> > > > > > > > > >>>>> commons-pool?
> > >
> > > or
> > >
> > > > > > > > > >>>>> eh-cache?
> > > > > > > > > >>>>>
> > > > > > > > > >>>>> By the way, I found that the wsdl is put into the
> > > > > > > > > >>>>> definitionMap twice if "
> > > > > > > > > >>>>> WSDLManagerImpl.getDefinition
> > >
> > > (URL
> > >
> > > > > > > > > >>>>> url)" is called. First in "getDefintion(URL url)"
> > > > > > > > > >>>>> at
> > >
> > > line
> > >
> > > > > > > > > >>>>> 147 and second in "loadDefinition(String url)" at
> > > > > > > > > >>>>> line 201.
> > > > > > > > > >>>>>
> > > > > > > > > >>>>>
> > > > > > > > > >>>>>
> > > > > > > > > >>>>> On Mon, Mar 3, 2008 at 9:43 AM, Willem Jiang
> > > > > > > > > >>>>> <wi...@gmail.com>
> > > > > > > > > >>>>>
> > > > > > > > > >>>>> wrote:
> > > > > > > > > >>>>>> Hi,
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> I just went through the code, we really cache the
> > > > > > > > > >>>>>> WSDL definition in CXF.
> > > > > > > > > >>>>>> Could you send your test case and wsdl file to me
> > > > > > > > > >>>>>> ? I
> > >
> > > may
> > >
> > > > > > > > > >>>>>> need to trace it for more information.
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> Regards,
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> Willem
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> Christopher Cheng wrote:
> > > > > > > > > >>>>>>> I think the issue is still there. I used a for
> > > > > > > > > >>>>>>> loop to execute the
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> same
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>> call, all takes approximately the same time to
> > > > > > > > > >>>>>>> create service. I guess
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> that
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>> the service itself is not cached.
> > > > > > > > > >>>>>>>
> > > > > > > > > >>>>>>> On Sun, Mar 2, 2008 at 11:43 AM, Willem Jiang
> > > > > > > > > >>>>>>> <wi...@gmail.com>
> > > > > > > > > >>>>>>>
> > > > > > > > > >>>>>>> wrote:
> > > > > > > > > >>>>>>>> Here is the JIRA[1] which describe the same
> > > > > > > > > >>>>>>>> thing
> > >
> > > that
> > >
> > > > > > > > > >>>>>>>> you want. I don't know if it was really
> > > > > > > > > >>>>>>>> resolved,
> > >
> > > could
> > >
> > > > > > > > > >>>>>>>> you try the latest released CXF 2.0.4 for it.
> > > > > > > > > >>>>>>>>
> > > > > > > > > >>>>>>>> If the issue is still there, please let me know
> > > > > > > > > >>>>>>>> , I will put it to my next week todo list.
> > > > > > > > > >>>>>>>>
> > > > > > > > > >>>>>>>> [1]https://issues.apache.org/jira/browse/CXF-69
> > > > > > > > > >>>>>>>>9 [2]http://cwiki.apache.org/CXF/download.html
> > > > > > > > > >>>>>>>>
> > > > > > > > > >>>>>>>> Willem.
> > > > > > > > > >>>>>>>>
> > > > > > > > > >>>>>>>> Christopher Cheng wrote:
> > > > > > > > > >>>>>>>>> I am migrating from Axis1.2 to CXF 2.0.3
> > > > > > > > > >>>>>>>>>
> > > > > > > > > >>>>>>>>> I understand that it will take a long time to
> > > > > > > > > >>>>>>>>> build for the first
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> time.
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>>> What
> > > > > > > > > >>>>>>>>
> > > > > > > > > >>>>>>>>> I am wondering is that why it takes so long
> > > > > > > > > >>>>>>>>> for the second and third
> > > > > > > > > >>>>>>>>
> > > > > > > > > >>>>>>>> time?
> > > > > > > > > >>>>>>>>
> > > > > > > > > >>>>>>>>> Is there any caching of services? Axis does
> > > > > > > > > >>>>>>>>> not seem to have this
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> issue.
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>>>> Christopher Cheng wrote:
> > > > > > > > > >>>>>>>>>> Attached is the log
> > > > > > > > > >>>>>>>>>>
> > > > > > > > > >>>>>>>>>> ----- Original Message -----
> > > > > > > > > >>>>>>>>>> From: "Willem Jiang" <wi...@gmail.com>
> > > > > > > > > >>>>>>>>>> To: <cx...@incubator.apache.org>
> > > > > > > > > >>>>>>>>>> Sent: Saturday, March 01, 2008 8:53 PM
> > > > > > > > > >>>>>>>>>> Subject: Re: service caching?
> > > > > > > > > >>>>>>>>>>
> > > > > > > > > >>>>>>>>>>> Hi
> > > > > > > > > >>>>>>>>>>>
> > > > > > > > > >>>>>>>>>>> Could you set the logger level to FINE ?
> > > > > > > > > >>>>>>>>>>> So we can get more information about the
> > > > > > > > > >>>>>>>>>>> service publishing.
> > > > > > > > > >>>>>>>>>>>
> > > > > > > > > >>>>>>>>>>> Willem.
> > > > > > > > > >>>>>>>>>>>
> > > > > > > > > >>>>>>>>>>> Christopher Cheng wrote:
> > > > > > > > > >>>>>>>>>>>> When I call the service as a client, it
> > > > > > > > > >>>>>>>>>>>> takes 5 seconds to load.
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> I am
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>>>>>>> not
> > > > > > > > > >>>>>>>>>>>> sure whether it takes 5 seconds to create
> > > > > > > > > >>>>>>>>>>>> the service or it takes
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> 5
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>>>>>>> seconds
> > > > > > > > > >>>>>>>>>>>> to look up for ciper filters. I am
> > > > > > > > > >>>>>>>>>>>> wondering if
> > >
> > > the
> > >
> > > > > > > > > >>>>>>>>>>>> services are cached...
> > > > > > > > > >>>>>>>>>>>>  Feb 29, 2008 2:14:42 PM
> > >
> > > org.apache.cxf.service.factory.ReflectionServiceFac
> > >
> > > > > > > > > >>>>>>>>>>>>tory Bean buildServiceFromWSDL
> > > > > > > > > >>>>>>>>>>>> INFO: Creating Service
> > > > > > > > > >>>>>>>>>>>> {
> > >
> > > https://webservices.sabre.com/websvc}OTA_HotelAvai<https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> <https://webservic
> > >es.sabre.com/websvc%7DOTA_HotelAvai>
> > > <https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> > >
> > > > <https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> > > >
> > > > > > > > > >>>>>>>>>>>>lSer<
> > >
> > > https://webservices.sabre.com/websvc%7DOTA_Hote
> > >
> > > > > > > > > >>>>>>>>>>>>lAvailSer>
> > > > > > > > > >>>>>>>>>>>> vice<
> > >
> > > https://webservices.sabre.com/websvc%7DOTA_Hot
> > >
> > > > > > > > > >>>>>>>>>>>>elAva ilService>
> > > > > > > > > >>>>>>>>>>>> <
> > >
> > > https://webservices.sabre.com/websvc%7DOTA_HotelAv
> > >
> > > > > > > > > >>>>>>>>>>>>ailS ervic e>
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> <
> > >
> > > https://webservices.sabre.com/websvc%7DOTA_HotelAvailSer
> > >
> > > > > > > > > >>>>>>vice> from
> > > > > > > > > >>>
> > > > > > > > > >>> WSDL:
> > > > > > > > > >>>>>>>>>>>> file:/C:/Java/abacus-webconnect-1.14.0.rc1
> > > > > > > > > >>>>>>>>
> > > > > > > > > >>>>>>>> /wsdl/OTA_HotelAvailLLS1.4.1RQ.wsdl
> > > > > > > > > >>>>>>>>
> > > > > > > > > >>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
> > > > > > > > > >>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils
> > > > > > > > > >>>>>>>>>>>> getCiphersuites INFO: The cipher suites
> > > > > > > > > >>>>>>>>>>>> have not been configured, falling back to
> > > > > > > > > >>>>>>>>
> > > > > > > > > >>>>>>>> cipher
> > > > > > > > > >>>>>>>>
> > > > > > > > > >>>>>>>>>>>> suite filters.
> > > > > > > > > >>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
> > > > > > > > > >>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils
> > > > > > > > > >>>>>>>>>>>> getCiphersFromList INFO: The cipher suites
> > > > > > > > > >>>>>>>>>>>> have been set to
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> SSL_RSA_WITH_RC4_128_MD5,
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>>>>>>> SSL_RSA_WITH_RC4_128_SHA,
> > >
> > > SSL_RSA_WITH_DES_CBC_SHA,
> > >
> > > > > > > > > >>>>>>>>>>>> SSL_DHE_RSA_WITH_DES_CBC_SHA,
> > > > > > > > > >>>>>>>>>>>> SSL_DHE_DSS_WITH_DES_CBC_SHA,
> > > > > > > > > >>>>>>>>>>>> SSL_RSA_EXPORT_WITH_RC4_40_MD5,
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>>>>>>> SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > > > >>>>>>>>>>>> SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > > > >>>>>>>>>>>> SSL_RSA_WITH_NULL_MD5,
> > > > > > > > > >>>>>>>>>>>> SSL_RSA_WITH_NULL_SHA,
> > > > > > > > > >>>>>>>>>>>> SSL_DH_anon_WITH_RC4_128_MD5,
> > > > > > > > > >>>>>>>>>>>> TLS_DH_anon_WITH_AES_128_CBC_SHA,
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>>>>>>> SSL_DH_anon_WITH_DES_CBC_SHA,
> > > > > > > > > >>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,
> > > > > > > > > >>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > > > >>>>>>>>>>>> TLS_KRB5_WITH_DES_CBC_SHA,
> > > > > > > > > >>>>>>>>>>>> TLS_KRB5_WITH_DES_CBC_MD5,
> > > > > > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
> > > > > > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5.  Feb
> > > > > > > > > >>>>>>>>>>>> 29,
> > >
> > > 2008
> > >
> > > > > > > > > >>>>>>>>>>>> 2:14:48 PM
> > >
> > > org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingC
> > >
> > > > > > > > > >>>>>>allba ckon Close
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>>>>>>>  I have put this in my cxf.xml as in
> > >
> > > http://cwiki.apache.org/CXF20DOC/client-http-transp
> > >
> > > > > > > > > >>>>>>>>>>>>ort. html , but
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> it
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>>>>>>> doesn't
> > > > > > > > > >>>>>>>>>>>> help... <http:conduit
> > > > > > > > > >>>>>>>>>>>> name="*.http-conduit">
> > > > > > > > > >>>>>>>>>>>> <http:tlsClientParameters
> > > > > > > > > >>>>>>>>>>>> secureSocketProtocol="SSL">
> > > > > > > > > >>>>>>>>>>>> <sec:cipherSuitesFilter> <!-- these filters
> > >
> > > ensure
> > >
> > > > > > > > > >>>>>>>>>>>> that a ciphersuite with export-suitable or
> > > > > > > > > >>>>>>>>>>>> null encryption is used, but exclude
> > > > > > > > > >>>>>>>>>>>> anonymous Diffie-Hellman key change
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> as
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>>>>>>>                 this is vulnerable to
> > > > > > > > > >>>>>>>>>>>> man-in-the-middle attacks
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> -->
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>>>>>>> <sec:include>.*_EXPORT_.*</sec:include>
> > > > > > > > > >>>>>>>>>>>>
> > > > > > > > > >>>>>>>>>>>> <sec:include>.*_EXPORT1024_.*</sec:include>
> > > > > > > > > >>>>>>>>>>>> <sec:include>.*_WITH_DES_.*</sec:include>
> > > > > > > > > >>>>>>>>>>>> <sec:include>.*_WITH_NULL_.*</sec:include>
> > > > > > > > > >>>>>>>>>>>> <sec:exclude>.*_DH_anon_.*</sec:exclude>
> > > > > > > > > >>>>>>>>>>>> </sec:cipherSuitesFilter>
> > > > > > > > > >>>>>>>>>>>>         </http:tlsClientParameters>
> > > > > > > > > >>>>>>>>>>>> </http:conduit>
> > > > > > > > > >>>>>>>>>>
> > > > > > > > > >>>>>>>>>>  http://www.nabble.com/file/p15773252/cxf.log
> > >
> > > cxf.log
> > >
> > > > > > > > > >>> --
> > > > > > > > > >>> J. Daniel Kulp
> > > > > > > > > >>> Principal Engineer, IONA
> > > > > > > > > >>> dkulp@apache.org
> > > > > > > > > >>> http://www.dankulp.com/blog
> > > > > > > >
> > > > > > > > --
> > > > > > > > J. Daniel Kulp
> > > > > > > > Principal Engineer, IONA
> > > > > > > > dkulp@apache.org
> > > > > > > > http://www.dankulp.com/blog
> > > > >
> > > > > --
> > > > > J. Daniel Kulp
> > > > > Principal Engineer, IONA
> > > > > dkulp@apache.org
> > > > > http://www.dankulp.com/blog
>
>
>
> --
> J. Daniel Kulp
> Principal Engineer, IONA
> dkulp@apache.org
> http://www.dankulp.com/blog
>

Re: service caching

Posted by Daniel Kulp <dk...@apache.org>.
Chris,

Can you try something?   Create a single proxy and keep that proxy around 
(like in a static or something) for the duration of the test.  You don't 
need to use it, it just needs to stay around.

We do do some caching of JAXB contexts (we should probably cache the 
schemas that go with that context), but those are stored in a  
WeakHashMap type thing so if something isn't kept around to hold onto 
them, they would get collected and have to be recreated.  Likewise, the 
wsdl and and schemas from the wsdl need something holding onto them to 
keep them from being collected.


Dan



On Friday 28 March 2008, Christopher Cheng wrote:
> You could try to generate java codes using "
> org.apache.cxf.tools.wsdlto.WSDLToJava" with the following wsdl and
> see the performance.
>
> http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_HotelAvailLLS
>1.5.1RQ.wsdl
>
> If it's jaxb that's causing the performance problem, which databinding
> in your opinion has the best performance?
>
>
> On Fri, Mar 28, 2008 at 11:26 PM, Benson Margulies
> <bi...@gmail.com>
>
> wrote:
> > Please supply some sort of test case. I've profiled extensively. I
> > don't believe that service caching, as discussed, would have any
> > effect. The current 2.1 code (as ported by Dan to 2.0.5) appears to
> > be constrained by the performance of JAXB, and I don't think we have
> > a caching opportunity there, though I would love to be wrong.
> > Perhaps there's something about your
> > services that use a lot more time in the service model code than the
> > sample
> > I've been profiling.
> >
> > On Fri, Mar 28, 2008 at 8:13 AM, Christopher Cheng <
> >
> > christopher.sw.cheng@gmail.com> wrote:
> > > I just tried to rerun it with the snapshot 2.0.5. It is running
> > > about
> >
> > 20%
> >
> > > faster, but it still takes 3 seconds to build services.
> > > I hope that the service caching will be available soon so I can
> > > migrate the
> > > current axis-1.2 application to cxf
> > >
> > > On Thu, Mar 20, 2008 at 7:33 PM, Daniel Kulp <dk...@apache.org> 
wrote:
> > > > On Thursday 20 March 2008, Christopher Cheng wrote:
> > > > > Looks like 2.0.5 is going to release soon, is this service
> > > > > caching
> >
> > in
> >
> > > > > 2.0.5?
> > > >
> > > > Yea.   The stuff that Benson has done is being ported to 2.0.x.
> > > >
> > > > That said, it's not the full service caching.   It's basically a
> > > > bunch
> > >
> > > of
> > >
> > > > incremental improvements to the current algorithms, but it's
> >
> > definitely
> >
> > > > a big improvement.
> > > >
> > > > Dan
> > > >
> > > > > On Wed, Mar 5, 2008 at 11:50 AM, Christopher Cheng <
> > > > >
> > > > > christopher.sw.cheng@gmail.com> wrote:
> > > > > > Looking forward to have this in the next release 2.0.5 or
> > > > > > 2.1 :)
> > > > > >
> > > > > > On Tue, Mar 4, 2008 at 11:55 PM, Daniel Kulp
> > > > > > <dk...@apache.org>
> > > >
> > > > wrote:
> > > > > > > Willem,
> > > > > > >
> > > > > > > The issue is that they CAN be modified after that.   One
> > > > > > > popular modification is to grab the EndpointInfo out of it
> > > > > > > and change
> >
> > the
> >
> > > > > > > address.   Other things like adding interceptors to the
> > > > > > > BindingInfo, changing properties on the service (like to
> > > > > > > enable schema validation), etc... are all modifications
> > > > > > > that affect the servicemodel.
> > > > > > >
> > > > > > > Databinding is "less" of an issue, but still one.   For
> > > > > > > example, the databinding has an "mtomThreshold" and a
> > > > > > > namespaceMap that
> >
> > can
> >
> > > > > > > be set programatically.
> > > > > > >
> > > > > > > In both of those cases, a modification should only affect
> > > > > > > the proxy on which the modification is made.   Thus, the
> >
> > servicemodel
> >
> > > > > > > would need a full "clone", which may not be easy to do.  
> > > > > > > It's certainly a lot more code to add.
> > > > > > >
> > > > > > > That said, I don't think it's a bad idea at all.  On the
> >
> > contrary,
> >
> > > > > > > it's a
> > > > > > > good idea.   It's just a bit of work.
> > > > > > >
> > > > > > > Dan
> > > > > > >
> > > > > > > On Tuesday 04 March 2008, Willem Jiang wrote:
> > > > > > > > Hi Dan,
> > > > > > > >
> > > > > > > > I think we could cache the ServiceInfo object and
> > > > > > > > DataBinding object which will take lots of time to be
> > > > > > > > created and can't be modified after that. Any thought?
> > > > > > > >
> > > > > > > > Willem
> > > > > > > >
> > > > > > > > Daniel Kulp wrote:
> > > > > > > > > On Tuesday 04 March 2008, Christopher Cheng wrote:
> > > > > > > > >> I haven't read the codes of Axis, but I have been
> > > > > > > > >> using it for 2 years and it doesn't have this
> > > > > > > > >> problem. Having an overhead for 5-8 seconds is not an
> > > > > > > > >> option for a production system in term of performance
> > > > > > > > >>
> > > > > > > > >> What you are saying is that all the services must
> > > > > > > > >> implement Clonable interface?
> > > > > > > > >
> > > > > > > > > No, not the services themselves.   Just our interal
> > > > > > > > > service model stuff that holds all the metadata. 
> > > > > > > > > Basically, when creating a new service, we need to
> > > > > > > > > calculate the metadata. We should cache that if
> > > > > > > > > possible.
> > > > > > > > >
> > > > > > > > > Dan
> > > > > > > > >
> > > > > > > > >> On Tue, Mar 4, 2008 at 4:48 AM, Daniel Kulp
> > > > > > > > >> <dk...@apache.org>
> > > > > > >
> > > > > > > wrote:
> > > > > > > > >>> Christopher,
> > > > > > > > >>>
> > > > > > > > >>> We cannot just "reuse" the Service model objects as
> > > > > > > > >>> they
> >
> > are
> >
> > > > > > > > >>> completely modifiable at runtime. For example, one
> > > > > > > > >>> proxy could be reconfigured with new address or have
> > > > > > > > >>> additional interceptors added or similar.  Those
> > > > > > > > >>> shouldn't affect others.
> > > > > > > > >>>
> > > > > > > > >>> On option that propably would make sense is to add a
> > > > > > > > >>> fast "clone" functionality to the entire service
> > > > > > > > >>> model so we could cache one, and then clone it
> > > > > > > > >>> whenever one is really needed.   All the individual
> > > > > > > > >>> versions could be modified
> >
> > and
> >
> > > > > > > > >>> not affect the original. However, doing that would
> > > > > > > > >>> be
> >
> > quite
> >
> > > > > > > > >>> a bit of work as there are a LOT of classes that
> > > > > > > > >>> would
> >
> > need
> >
> > > > > > > > >>> to be updated to support that.
> > > > > > > > >>>
> > > > > > > > >>> Patches towards that end would be great.   :-)
> > > > > > > > >>>
> > > > > > > > >>> Dan
> > > > > > > > >>>
> > > > > > > > >>> On Monday 03 March 2008, Christopher Cheng wrote:
> > > > > > > > >>>> wsdl is indeed cached in
> > > > > > > > >>>> WSDLManagerImpl.definitionsMap
> > > > > > > > >>>>
> > > > > > > > >>>> After reading the codes, I have some questions. My
> > > > > > > > >>>> workstation is a PentiumD 3GHz with 1.5GB RAM
> > > > > > > > >>>>
> > > > > > > > >>>> In the class
> > > > > > > > >>>> "
> >
> > org.apache.cxf.service.factory.ReflectionServiceFactoryBea
> >
> > > > > > > > >>>>n.buil d Serv iceFromWSDL(String url)",
> > > > > > > > >>>> "setService(factory.create());" takes 3 seconds
> > > > > > > > >>>> "getDataBinding().initialize(getService());" takes
> > > > > > > > >>>> 2 seconds
> > > > > > > > >>>>
> > > > > > > > >>>> These 2 methods are called even in 2nd calls. Can
> > > > > > > > >>>> you
> >
> > also
> >
> > > > > > > > >>>> cache the services perhaps using jakarta
> > > > > > > > >>>> commons-pool? or eh-cache?
> > > > > > > > >>>>
> > > > > > > > >>>> By the way, I found that the wsdl is put into the
> > > > > > > > >>>> definitionMap twice if "
> > > > > > > > >>>> WSDLManagerImpl.getDefinition
> >
> > (URL
> >
> > > > > > > > >>>> url)" is called. First in "getDefintion(URL url)"
> > > > > > > > >>>> at line 147 and second in "loadDefinition(String
> > > > > > > > >>>> url)" at line
> >
> > 201.
> >
> > > > > > > > >>>> On Mon, Mar 3, 2008 at 4:22 PM, Christopher Cheng <
> > > > > > > > >>>>
> > > > > > > > >>>> christopher.sw.cheng@gmail.com> wrote:
> > > > > > > > >>>>> wsdl is indeed cached in
> > > > > > > > >>>>> WSDLManagerImpl.definitionsMap
> > > > > > > > >>>>>
> > > > > > > > >>>>> After reading the codes, I have some questions. My
> > > > > > > > >>>>> workstation is a PentiumD 3GHz with 1.5GB RAM
> > > > > > > > >>>>>
> > > > > > > > >>>>> In the class "
> >
> > org.apache.cxf.service.factory.ReflectionServiceFactoryBea
> >
> > > > > > > > >>>>>n.buil dSer viceFromWSDL(String url)",
> > > > > > > > >>>>> "setService(factory.create());" takes 3 seconds
> > > > > > > > >>>>> "getDataBinding().initialize(getService());" takes
> > > > > > > > >>>>> 2 seconds
> > > > > > > > >>>>>
> > > > > > > > >>>>> These 2 methods are called even in 2nd calls. Can
> > > > > > > > >>>>> you
> >
> > also
> >
> > > > > > > > >>>>> cache the services perhaps using jakarta
> > > > > > > > >>>>> commons-pool?
> >
> > or
> >
> > > > > > > > >>>>> eh-cache?
> > > > > > > > >>>>>
> > > > > > > > >>>>> By the way, I found that the wsdl is put into the
> > > > > > > > >>>>> definitionMap twice if "
> > > > > > > > >>>>> WSDLManagerImpl.getDefinition
> >
> > (URL
> >
> > > > > > > > >>>>> url)" is called. First in "getDefintion(URL url)"
> > > > > > > > >>>>> at
> >
> > line
> >
> > > > > > > > >>>>> 147 and second in "loadDefinition(String url)" at
> > > > > > > > >>>>> line 201.
> > > > > > > > >>>>>
> > > > > > > > >>>>>
> > > > > > > > >>>>>
> > > > > > > > >>>>> On Mon, Mar 3, 2008 at 9:43 AM, Willem Jiang
> > > > > > > > >>>>> <wi...@gmail.com>
> > > > > > > > >>>>>
> > > > > > > > >>>>> wrote:
> > > > > > > > >>>>>> Hi,
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> I just went through the code, we really cache the
> > > > > > > > >>>>>> WSDL definition in CXF.
> > > > > > > > >>>>>> Could you send your test case and wsdl file to me
> > > > > > > > >>>>>> ? I
> >
> > may
> >
> > > > > > > > >>>>>> need to trace it for more information.
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> Regards,
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> Willem
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> Christopher Cheng wrote:
> > > > > > > > >>>>>>> I think the issue is still there. I used a for
> > > > > > > > >>>>>>> loop to execute the
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> same
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>> call, all takes approximately the same time to
> > > > > > > > >>>>>>> create service. I guess
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> that
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>> the service itself is not cached.
> > > > > > > > >>>>>>>
> > > > > > > > >>>>>>> On Sun, Mar 2, 2008 at 11:43 AM, Willem Jiang
> > > > > > > > >>>>>>> <wi...@gmail.com>
> > > > > > > > >>>>>>>
> > > > > > > > >>>>>>> wrote:
> > > > > > > > >>>>>>>> Here is the JIRA[1] which describe the same
> > > > > > > > >>>>>>>> thing
> >
> > that
> >
> > > > > > > > >>>>>>>> you want. I don't know if it was really
> > > > > > > > >>>>>>>> resolved,
> >
> > could
> >
> > > > > > > > >>>>>>>> you try the latest released CXF 2.0.4 for it.
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>> If the issue is still there, please let me know
> > > > > > > > >>>>>>>> , I will put it to my next week todo list.
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>> [1]https://issues.apache.org/jira/browse/CXF-69
> > > > > > > > >>>>>>>>9 [2]http://cwiki.apache.org/CXF/download.html
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>> Willem.
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>> Christopher Cheng wrote:
> > > > > > > > >>>>>>>>> I am migrating from Axis1.2 to CXF 2.0.3
> > > > > > > > >>>>>>>>>
> > > > > > > > >>>>>>>>> I understand that it will take a long time to
> > > > > > > > >>>>>>>>> build for the first
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> time.
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>> What
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>>> I am wondering is that why it takes so long
> > > > > > > > >>>>>>>>> for the second and third
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>> time?
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>>> Is there any caching of services? Axis does
> > > > > > > > >>>>>>>>> not seem to have this
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> issue.
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>> Christopher Cheng wrote:
> > > > > > > > >>>>>>>>>> Attached is the log
> > > > > > > > >>>>>>>>>>
> > > > > > > > >>>>>>>>>> ----- Original Message -----
> > > > > > > > >>>>>>>>>> From: "Willem Jiang" <wi...@gmail.com>
> > > > > > > > >>>>>>>>>> To: <cx...@incubator.apache.org>
> > > > > > > > >>>>>>>>>> Sent: Saturday, March 01, 2008 8:53 PM
> > > > > > > > >>>>>>>>>> Subject: Re: service caching?
> > > > > > > > >>>>>>>>>>
> > > > > > > > >>>>>>>>>>> Hi
> > > > > > > > >>>>>>>>>>>
> > > > > > > > >>>>>>>>>>> Could you set the logger level to FINE ?
> > > > > > > > >>>>>>>>>>> So we can get more information about the
> > > > > > > > >>>>>>>>>>> service publishing.
> > > > > > > > >>>>>>>>>>>
> > > > > > > > >>>>>>>>>>> Willem.
> > > > > > > > >>>>>>>>>>>
> > > > > > > > >>>>>>>>>>> Christopher Cheng wrote:
> > > > > > > > >>>>>>>>>>>> When I call the service as a client, it
> > > > > > > > >>>>>>>>>>>> takes 5 seconds to load.
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> I am
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>> not
> > > > > > > > >>>>>>>>>>>> sure whether it takes 5 seconds to create
> > > > > > > > >>>>>>>>>>>> the service or it takes
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> 5
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>> seconds
> > > > > > > > >>>>>>>>>>>> to look up for ciper filters. I am
> > > > > > > > >>>>>>>>>>>> wondering if
> >
> > the
> >
> > > > > > > > >>>>>>>>>>>> services are cached...
> > > > > > > > >>>>>>>>>>>>  Feb 29, 2008 2:14:42 PM
> >
> > org.apache.cxf.service.factory.ReflectionServiceFac
> >
> > > > > > > > >>>>>>>>>>>>tory Bean buildServiceFromWSDL
> > > > > > > > >>>>>>>>>>>> INFO: Creating Service
> > > > > > > > >>>>>>>>>>>> {
> >
> > https://webservices.sabre.com/websvc}OTA_HotelAvai<https://webservic
> >es.sabre.com/websvc%7DOTA_HotelAvai>
> > <https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> >
> > > <https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> > >
> > > > > > > > >>>>>>>>>>>>lSer<
> >
> > https://webservices.sabre.com/websvc%7DOTA_Hote
> >
> > > > > > > > >>>>>>>>>>>>lAvailSer>
> > > > > > > > >>>>>>>>>>>> vice<
> >
> > https://webservices.sabre.com/websvc%7DOTA_Hot
> >
> > > > > > > > >>>>>>>>>>>>elAva ilService>
> > > > > > > > >>>>>>>>>>>> <
> >
> > https://webservices.sabre.com/websvc%7DOTA_HotelAv
> >
> > > > > > > > >>>>>>>>>>>>ailS ervic e>
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> <
> >
> > https://webservices.sabre.com/websvc%7DOTA_HotelAvailSer
> >
> > > > > > > > >>>>>>vice> from
> > > > > > > > >>>
> > > > > > > > >>> WSDL:
> > > > > > > > >>>>>>>>>>>> file:/C:/Java/abacus-webconnect-1.14.0.rc1
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>> /wsdl/OTA_HotelAvailLLS1.4.1RQ.wsdl
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
> > > > > > > > >>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils
> > > > > > > > >>>>>>>>>>>> getCiphersuites INFO: The cipher suites
> > > > > > > > >>>>>>>>>>>> have not been configured, falling back to
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>> cipher
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>>>>>> suite filters.
> > > > > > > > >>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
> > > > > > > > >>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils
> > > > > > > > >>>>>>>>>>>> getCiphersFromList INFO: The cipher suites
> > > > > > > > >>>>>>>>>>>> have been set to
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> SSL_RSA_WITH_RC4_128_MD5,
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>> SSL_RSA_WITH_RC4_128_SHA,
> >
> > SSL_RSA_WITH_DES_CBC_SHA,
> >
> > > > > > > > >>>>>>>>>>>> SSL_DHE_RSA_WITH_DES_CBC_SHA,
> > > > > > > > >>>>>>>>>>>> SSL_DHE_DSS_WITH_DES_CBC_SHA,
> > > > > > > > >>>>>>>>>>>> SSL_RSA_EXPORT_WITH_RC4_40_MD5,
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>> SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > > >>>>>>>>>>>> SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > > >>>>>>>>>>>> SSL_RSA_WITH_NULL_MD5,
> > > > > > > > >>>>>>>>>>>> SSL_RSA_WITH_NULL_SHA,
> > > > > > > > >>>>>>>>>>>> SSL_DH_anon_WITH_RC4_128_MD5,
> > > > > > > > >>>>>>>>>>>> TLS_DH_anon_WITH_AES_128_CBC_SHA,
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>> SSL_DH_anon_WITH_DES_CBC_SHA,
> > > > > > > > >>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,
> > > > > > > > >>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > > >>>>>>>>>>>> TLS_KRB5_WITH_DES_CBC_SHA,
> > > > > > > > >>>>>>>>>>>> TLS_KRB5_WITH_DES_CBC_MD5,
> > > > > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
> > > > > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5.  Feb
> > > > > > > > >>>>>>>>>>>> 29,
> >
> > 2008
> >
> > > > > > > > >>>>>>>>>>>> 2:14:48 PM
> >
> > org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingC
> >
> > > > > > > > >>>>>>allba ckon Close
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>>  I have put this in my cxf.xml as in
> >
> > http://cwiki.apache.org/CXF20DOC/client-http-transp
> >
> > > > > > > > >>>>>>>>>>>>ort. html , but
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> it
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>> doesn't
> > > > > > > > >>>>>>>>>>>> help... <http:conduit
> > > > > > > > >>>>>>>>>>>> name="*.http-conduit">
> > > > > > > > >>>>>>>>>>>> <http:tlsClientParameters
> > > > > > > > >>>>>>>>>>>> secureSocketProtocol="SSL">
> > > > > > > > >>>>>>>>>>>> <sec:cipherSuitesFilter> <!-- these filters
> >
> > ensure
> >
> > > > > > > > >>>>>>>>>>>> that a ciphersuite with export-suitable or
> > > > > > > > >>>>>>>>>>>> null encryption is used, but exclude
> > > > > > > > >>>>>>>>>>>> anonymous Diffie-Hellman key change
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> as
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>>                 this is vulnerable to
> > > > > > > > >>>>>>>>>>>> man-in-the-middle attacks
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> -->
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>> <sec:include>.*_EXPORT_.*</sec:include>
> > > > > > > > >>>>>>>>>>>>
> > > > > > > > >>>>>>>>>>>> <sec:include>.*_EXPORT1024_.*</sec:include>
> > > > > > > > >>>>>>>>>>>> <sec:include>.*_WITH_DES_.*</sec:include>
> > > > > > > > >>>>>>>>>>>> <sec:include>.*_WITH_NULL_.*</sec:include>
> > > > > > > > >>>>>>>>>>>> <sec:exclude>.*_DH_anon_.*</sec:exclude>
> > > > > > > > >>>>>>>>>>>> </sec:cipherSuitesFilter>
> > > > > > > > >>>>>>>>>>>>         </http:tlsClientParameters>
> > > > > > > > >>>>>>>>>>>> </http:conduit>
> > > > > > > > >>>>>>>>>>
> > > > > > > > >>>>>>>>>>  http://www.nabble.com/file/p15773252/cxf.log
> >
> > cxf.log
> >
> > > > > > > > >>> --
> > > > > > > > >>> J. Daniel Kulp
> > > > > > > > >>> Principal Engineer, IONA
> > > > > > > > >>> dkulp@apache.org
> > > > > > > > >>> http://www.dankulp.com/blog
> > > > > > >
> > > > > > > --
> > > > > > > J. Daniel Kulp
> > > > > > > Principal Engineer, IONA
> > > > > > > dkulp@apache.org
> > > > > > > http://www.dankulp.com/blog
> > > >
> > > > --
> > > > J. Daniel Kulp
> > > > Principal Engineer, IONA
> > > > dkulp@apache.org
> > > > http://www.dankulp.com/blog



-- 
J. Daniel Kulp
Principal Engineer, IONA
dkulp@apache.org
http://www.dankulp.com/blog

Re: service caching

Posted by Christopher Cheng <ch...@gmail.com>.
thanks in advance

On Sat, Mar 29, 2008 at 12:23 AM, Benson Margulies <bi...@gmail.com>
wrote:

> Thanks for the pointer. I'll do more profiling and report back.
>
> On Fri, Mar 28, 2008 at 12:18 PM, Christopher Cheng <
> christopher.sw.cheng@gmail.com> wrote:
>
> > You could try to generate java codes using "
> > org.apache.cxf.tools.wsdlto.WSDLToJava" with the following wsdl and see
> > the
> > performance.
> >
> >
> >
> http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_HotelAvailLLS1.5.1RQ.wsdl
> >
> > If it's jaxb that's causing the performance problem, which databinding
> in
> > your opinion has the best performance?
> >
> >
> > On Fri, Mar 28, 2008 at 11:26 PM, Benson Margulies <
> bimargulies@gmail.com>
> > wrote:
> >
> > > Please supply some sort of test case. I've profiled extensively. I
> don't
> > > believe that service caching, as discussed, would have any effect. The
> > > current 2.1 code (as ported by Dan to 2.0.5) appears to be constrained
> > by
> > > the performance of JAXB, and I don't think we have a caching
> opportunity
> > > there, though I would love to be wrong. Perhaps there's something
> about
> > > your
> > > services that use a lot more time in the service model code than the
> > > sample
> > > I've been profiling.
> > >
> > > On Fri, Mar 28, 2008 at 8:13 AM, Christopher Cheng <
> > > christopher.sw.cheng@gmail.com> wrote:
> > >
> > > > I just tried to rerun it with the snapshot 2.0.5. It is running
> about
> > > 20%
> > > > faster, but it still takes 3 seconds to build services.
> > > > I hope that the service caching will be available soon so I can
> > migrate
> > > > the
> > > > current axis-1.2 application to cxf
> > > >
> > > > On Thu, Mar 20, 2008 at 7:33 PM, Daniel Kulp <dk...@apache.org>
> wrote:
> > > >
> > > > > On Thursday 20 March 2008, Christopher Cheng wrote:
> > > > > > Looks like 2.0.5 is going to release soon, is this service
> caching
> > > in
> > > > > > 2.0.5?
> > > > >
> > > > > Yea.   The stuff that Benson has done is being ported to 2.0.x.
> > > > >
> > > > > That said, it's not the full service caching.   It's basically a
> > bunch
> > > > of
> > > > > incremental improvements to the current algorithms, but it's
> > > definitely
> > > > > a big improvement.
> > > > >
> > > > > Dan
> > > > >
> > > > >
> > > > > >
> > > > > > On Wed, Mar 5, 2008 at 11:50 AM, Christopher Cheng <
> > > > > >
> > > > > > christopher.sw.cheng@gmail.com> wrote:
> > > > > > > Looking forward to have this in the next release 2.0.5 or 2.1:)
> > > > > > >
> > > > > > > On Tue, Mar 4, 2008 at 11:55 PM, Daniel Kulp <dkulp@apache.org
> >
> > > > > wrote:
> > > > > > > > Willem,
> > > > > > > >
> > > > > > > > The issue is that they CAN be modified after that.   One
> > popular
> > > > > > > > modification is to grab the EndpointInfo out of it and
> change
> > > the
> > > > > > > > address.   Other things like adding interceptors to the
> > > > > > > > BindingInfo, changing properties on the service (like to
> > enable
> > > > > > > > schema validation), etc... are all modifications that affect
> > the
> > > > > > > > servicemodel.
> > > > > > > >
> > > > > > > > Databinding is "less" of an issue, but still one.   For
> > example,
> > > > > > > > the databinding has an "mtomThreshold" and a namespaceMap
> that
> > > can
> > > > > > > > be set programatically.
> > > > > > > >
> > > > > > > > In both of those cases, a modification should only affect
> the
> > > > > > > > proxy on which the modification is made.   Thus, the
> > > servicemodel
> > > > > > > > would need a full "clone", which may not be easy to do.
> It's
> > > > > > > > certainly a lot more code to add.
> > > > > > > >
> > > > > > > > That said, I don't think it's a bad idea at all.  On the
> > > contrary,
> > > > > > > > it's a
> > > > > > > > good idea.   It's just a bit of work.
> > > > > > > >
> > > > > > > > Dan
> > > > > > > >
> > > > > > > > On Tuesday 04 March 2008, Willem Jiang wrote:
> > > > > > > > > Hi Dan,
> > > > > > > > >
> > > > > > > > > I think we could cache the ServiceInfo object and
> > DataBinding
> > > > > > > > > object which will take lots of time to be created and
> can't
> > be
> > > > > > > > > modified after that. Any thought?
> > > > > > > > >
> > > > > > > > > Willem
> > > > > > > > >
> > > > > > > > > Daniel Kulp wrote:
> > > > > > > > > > On Tuesday 04 March 2008, Christopher Cheng wrote:
> > > > > > > > > >> I haven't read the codes of Axis, but I have been using
> > it
> > > > > > > > > >> for 2 years and it doesn't have this problem.
> > > > > > > > > >> Having an overhead for 5-8 seconds is not an option for
> a
> > > > > > > > > >> production system in term of performance
> > > > > > > > > >>
> > > > > > > > > >> What you are saying is that all the services must
> > implement
> > > > > > > > > >> Clonable interface?
> > > > > > > > > >
> > > > > > > > > > No, not the services themselves.   Just our interal
> > service
> > > > > > > > > > model stuff that holds all the metadata.  Basically,
> when
> > > > > > > > > > creating a new service, we need to calculate the
> metadata.
> > > > > > > > > > We should cache that if possible.
> > > > > > > > > >
> > > > > > > > > > Dan
> > > > > > > > > >
> > > > > > > > > >> On Tue, Mar 4, 2008 at 4:48 AM, Daniel Kulp
> > > > > > > > > >> <dk...@apache.org>
> > > > > > > >
> > > > > > > > wrote:
> > > > > > > > > >>> Christopher,
> > > > > > > > > >>>
> > > > > > > > > >>> We cannot just "reuse" the Service model objects as
> they
> > > are
> > > > > > > > > >>> completely modifiable at runtime. For example, one
> proxy
> > > > > > > > > >>> could be reconfigured with new address or have
> > additional
> > > > > > > > > >>> interceptors added or similar.  Those shouldn't affect
> > > > > > > > > >>> others.
> > > > > > > > > >>>
> > > > > > > > > >>> On option that propably would make sense is to add a
> > fast
> > > > > > > > > >>> "clone" functionality to the entire service model so
> we
> > > > > > > > > >>> could cache one, and then clone it whenever one is
> > really
> > > > > > > > > >>> needed.   All the individual versions could be
> modified
> > > and
> > > > > > > > > >>> not affect the original. However, doing that would be
> > > quite
> > > > > > > > > >>> a bit of work as there are a LOT of classes that would
> > > need
> > > > > > > > > >>> to be updated to support that.
> > > > > > > > > >>>
> > > > > > > > > >>> Patches towards that end would be great.   :-)
> > > > > > > > > >>>
> > > > > > > > > >>> Dan
> > > > > > > > > >>>
> > > > > > > > > >>> On Monday 03 March 2008, Christopher Cheng wrote:
> > > > > > > > > >>>> wsdl is indeed cached in
> WSDLManagerImpl.definitionsMap
> > > > > > > > > >>>>
> > > > > > > > > >>>> After reading the codes, I have some questions. My
> > > > > > > > > >>>> workstation is a PentiumD 3GHz with 1.5GB RAM
> > > > > > > > > >>>>
> > > > > > > > > >>>> In the class
> > > > > > > > > >>>> "
> > > org.apache.cxf.service.factory.ReflectionServiceFactoryBea
> > > > > > > > > >>>>n.buil d Serv iceFromWSDL(String url)",
> > > > > > > > > >>>> "setService(factory.create());" takes 3 seconds
> > > > > > > > > >>>> "getDataBinding().initialize(getService());" takes 2
> > > > > > > > > >>>> seconds
> > > > > > > > > >>>>
> > > > > > > > > >>>> These 2 methods are called even in 2nd calls. Can you
> > > also
> > > > > > > > > >>>> cache the services perhaps using jakarta
> commons-pool?
> > or
> > > > > > > > > >>>> eh-cache?
> > > > > > > > > >>>>
> > > > > > > > > >>>> By the way, I found that the wsdl is put into the
> > > > > > > > > >>>> definitionMap twice if "
> WSDLManagerImpl.getDefinition
> > > (URL
> > > > > > > > > >>>> url)" is called. First in "getDefintion(URL url)" at
> > line
> > > > > > > > > >>>> 147 and second in "loadDefinition(String url)" at
> line
> > > 201.
> > > > > > > > > >>>>
> > > > > > > > > >>>>
> > > > > > > > > >>>> On Mon, Mar 3, 2008 at 4:22 PM, Christopher Cheng <
> > > > > > > > > >>>>
> > > > > > > > > >>>> christopher.sw.cheng@gmail.com> wrote:
> > > > > > > > > >>>>> wsdl is indeed cached in
> > WSDLManagerImpl.definitionsMap
> > > > > > > > > >>>>>
> > > > > > > > > >>>>> After reading the codes, I have some questions. My
> > > > > > > > > >>>>> workstation is a PentiumD 3GHz with 1.5GB RAM
> > > > > > > > > >>>>>
> > > > > > > > > >>>>> In the class "
> > > > > > > > > >>>>>
> > > org.apache.cxf.service.factory.ReflectionServiceFactoryBea
> > > > > > > > > >>>>>n.buil dSer viceFromWSDL(String url)",
> > > > > > > > > >>>>> "setService(factory.create());" takes 3 seconds
> > > > > > > > > >>>>> "getDataBinding().initialize(getService());" takes 2
> > > > > > > > > >>>>> seconds
> > > > > > > > > >>>>>
> > > > > > > > > >>>>> These 2 methods are called even in 2nd calls. Can
> you
> > > also
> > > > > > > > > >>>>> cache the services perhaps using jakarta
> commons-pool?
> > > or
> > > > > > > > > >>>>> eh-cache?
> > > > > > > > > >>>>>
> > > > > > > > > >>>>> By the way, I found that the wsdl is put into the
> > > > > > > > > >>>>> definitionMap twice if "
> WSDLManagerImpl.getDefinition
> > > (URL
> > > > > > > > > >>>>> url)" is called. First in "getDefintion(URL url)" at
> > > line
> > > > > > > > > >>>>> 147 and second in "loadDefinition(String url)" at
> line
> > > > > > > > > >>>>> 201.
> > > > > > > > > >>>>>
> > > > > > > > > >>>>>
> > > > > > > > > >>>>>
> > > > > > > > > >>>>> On Mon, Mar 3, 2008 at 9:43 AM, Willem Jiang
> > > > > > > > > >>>>> <wi...@gmail.com>
> > > > > > > > > >>>>>
> > > > > > > > > >>>>> wrote:
> > > > > > > > > >>>>>> Hi,
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> I just went through the code, we really cache the
> > WSDL
> > > > > > > > > >>>>>> definition in CXF.
> > > > > > > > > >>>>>> Could you send your test case and wsdl file to me ?
> I
> > > may
> > > > > > > > > >>>>>> need to trace it for more information.
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> Regards,
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> Willem
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> Christopher Cheng wrote:
> > > > > > > > > >>>>>>> I think the issue is still there. I used a for
> loop
> > to
> > > > > > > > > >>>>>>> execute the
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> same
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>> call, all takes approximately the same time to
> > create
> > > > > > > > > >>>>>>> service. I guess
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> that
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>> the service itself is not cached.
> > > > > > > > > >>>>>>>
> > > > > > > > > >>>>>>> On Sun, Mar 2, 2008 at 11:43 AM, Willem Jiang
> > > > > > > > > >>>>>>> <wi...@gmail.com>
> > > > > > > > > >>>>>>>
> > > > > > > > > >>>>>>> wrote:
> > > > > > > > > >>>>>>>> Here is the JIRA[1] which describe the same thing
> > > that
> > > > > > > > > >>>>>>>> you want. I don't know if it was really resolved,
> > > could
> > > > > > > > > >>>>>>>> you try the latest released CXF 2.0.4 for it.
> > > > > > > > > >>>>>>>>
> > > > > > > > > >>>>>>>> If the issue is still there, please let me know ,
> I
> > > > > > > > > >>>>>>>> will put it to my next week todo list.
> > > > > > > > > >>>>>>>>
> > > > > > > > > >>>>>>>> [1]https://issues.apache.org/jira/browse/CXF-699
> > > > > > > > > >>>>>>>> [2]http://cwiki.apache.org/CXF/download.html
> > > > > > > > > >>>>>>>>
> > > > > > > > > >>>>>>>> Willem.
> > > > > > > > > >>>>>>>>
> > > > > > > > > >>>>>>>> Christopher Cheng wrote:
> > > > > > > > > >>>>>>>>> I am migrating from Axis1.2 to CXF 2.0.3
> > > > > > > > > >>>>>>>>>
> > > > > > > > > >>>>>>>>> I understand that it will take a long time to
> > build
> > > > > > > > > >>>>>>>>> for the first
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> time.
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>>> What
> > > > > > > > > >>>>>>>>
> > > > > > > > > >>>>>>>>> I am wondering is that why it takes so long for
> > the
> > > > > > > > > >>>>>>>>> second and third
> > > > > > > > > >>>>>>>>
> > > > > > > > > >>>>>>>> time?
> > > > > > > > > >>>>>>>>
> > > > > > > > > >>>>>>>>> Is there any caching of services? Axis does not
> > seem
> > > > > > > > > >>>>>>>>> to have this
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> issue.
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>>>> Christopher Cheng wrote:
> > > > > > > > > >>>>>>>>>> Attached is the log
> > > > > > > > > >>>>>>>>>>
> > > > > > > > > >>>>>>>>>> ----- Original Message -----
> > > > > > > > > >>>>>>>>>> From: "Willem Jiang" <wi...@gmail.com>
> > > > > > > > > >>>>>>>>>> To: <cx...@incubator.apache.org>
> > > > > > > > > >>>>>>>>>> Sent: Saturday, March 01, 2008 8:53 PM
> > > > > > > > > >>>>>>>>>> Subject: Re: service caching?
> > > > > > > > > >>>>>>>>>>
> > > > > > > > > >>>>>>>>>>> Hi
> > > > > > > > > >>>>>>>>>>>
> > > > > > > > > >>>>>>>>>>> Could you set the logger level to FINE ?
> > > > > > > > > >>>>>>>>>>> So we can get more information about the
> service
> > > > > > > > > >>>>>>>>>>> publishing.
> > > > > > > > > >>>>>>>>>>>
> > > > > > > > > >>>>>>>>>>> Willem.
> > > > > > > > > >>>>>>>>>>>
> > > > > > > > > >>>>>>>>>>> Christopher Cheng wrote:
> > > > > > > > > >>>>>>>>>>>> When I call the service as a client, it takes
> 5
> > > > > > > > > >>>>>>>>>>>> seconds to load.
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> I am
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>>>>>>> not
> > > > > > > > > >>>>>>>>>>>> sure whether it takes 5 seconds to create the
> > > > > > > > > >>>>>>>>>>>> service or it takes
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> 5
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>>>>>>> seconds
> > > > > > > > > >>>>>>>>>>>> to look up for ciper filters. I am wondering
> if
> > > the
> > > > > > > > > >>>>>>>>>>>> services are cached...
> > > > > > > > > >>>>>>>>>>>>  Feb 29, 2008 2:14:42 PM
> > > > > > > > > >>>>>>>>>>>>
> > > org.apache.cxf.service.factory.ReflectionServiceFac
> > > > > > > > > >>>>>>>>>>>>tory Bean buildServiceFromWSDL
> > > > > > > > > >>>>>>>>>>>> INFO: Creating Service
> > > > > > > > > >>>>>>>>>>>> {
> > > https://webservices.sabre.com/websvc}OTA_HotelAvai<https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> <https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> > <https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> > > <https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> > > > <https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> > > > > > > > > >>>>>>>>>>>>lSer<
> > > https://webservices.sabre.com/websvc%7DOTA_Hote
> > > > > > > > > >>>>>>>>>>>>lAvailSer>
> > > > > > > > > >>>>>>>>>>>> vice<
> > > https://webservices.sabre.com/websvc%7DOTA_Hot
> > > > > > > > > >>>>>>>>>>>>elAva ilService>
> > > > > > > > > >>>>>>>>>>>> <
> > > https://webservices.sabre.com/websvc%7DOTA_HotelAv
> > > > > > > > > >>>>>>>>>>>>ailS ervic e>
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> <
> > > https://webservices.sabre.com/websvc%7DOTA_HotelAvailSer
> > > > > > > > > >>>>>>vice> from
> > > > > > > > > >>>
> > > > > > > > > >>> WSDL:
> > > > > > > > > >>>>>>>>>>>> file:/C:/Java/abacus-webconnect-1.14.0.rc1
> > > > > > > > > >>>>>>>>
> > > > > > > > > >>>>>>>> /wsdl/OTA_HotelAvailLLS1.4.1RQ.wsdl
> > > > > > > > > >>>>>>>>
> > > > > > > > > >>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
> > > > > > > > > >>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils
> > > > > > > > > >>>>>>>>>>>> getCiphersuites INFO: The cipher suites have
> > not
> > > > > > > > > >>>>>>>>>>>> been configured, falling back to
> > > > > > > > > >>>>>>>>
> > > > > > > > > >>>>>>>> cipher
> > > > > > > > > >>>>>>>>
> > > > > > > > > >>>>>>>>>>>> suite filters.
> > > > > > > > > >>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
> > > > > > > > > >>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils
> > > > > > > > > >>>>>>>>>>>> getCiphersFromList INFO: The cipher suites
> have
> > > > > > > > > >>>>>>>>>>>> been set to
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> SSL_RSA_WITH_RC4_128_MD5,
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>>>>>>> SSL_RSA_WITH_RC4_128_SHA,
> > > SSL_RSA_WITH_DES_CBC_SHA,
> > > > > > > > > >>>>>>>>>>>> SSL_DHE_RSA_WITH_DES_CBC_SHA,
> > > > > > > > > >>>>>>>>>>>> SSL_DHE_DSS_WITH_DES_CBC_SHA,
> > > > > > > > > >>>>>>>>>>>> SSL_RSA_EXPORT_WITH_RC4_40_MD5,
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>>>>>>> SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > > > >>>>>>>>>>>> SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > > > >>>>>>>>>>>> SSL_RSA_WITH_NULL_MD5, SSL_RSA_WITH_NULL_SHA,
> > > > > > > > > >>>>>>>>>>>> SSL_DH_anon_WITH_RC4_128_MD5,
> > > > > > > > > >>>>>>>>>>>> TLS_DH_anon_WITH_AES_128_CBC_SHA,
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>>>>>>> SSL_DH_anon_WITH_DES_CBC_SHA,
> > > > > > > > > >>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,
> > > > > > > > > >>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > > > >>>>>>>>>>>> TLS_KRB5_WITH_DES_CBC_SHA,
> > > > > > > > > >>>>>>>>>>>> TLS_KRB5_WITH_DES_CBC_MD5,
> > > > > > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
> > > > > > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5.  Feb 29,
> > > 2008
> > > > > > > > > >>>>>>>>>>>> 2:14:48 PM
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>
> > > org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingC
> > > > > > > > > >>>>>>allba ckon Close
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>>>>>>>  I have put this in my cxf.xml as in
> > > > > > > > > >>>>>>>>>>>>
> > > http://cwiki.apache.org/CXF20DOC/client-http-transp
> > > > > > > > > >>>>>>>>>>>>ort. html , but
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> it
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>>>>>>> doesn't
> > > > > > > > > >>>>>>>>>>>> help... <http:conduit name="*.http-conduit">
> > > > > > > > > >>>>>>>>>>>>             <http:tlsClientParameters
> > > > > > > > > >>>>>>>>>>>> secureSocketProtocol="SSL">
> > > > > > > > > >>>>>>>>>>>> <sec:cipherSuitesFilter> <!-- these filters
> > > ensure
> > > > > > > > > >>>>>>>>>>>> that a ciphersuite with export-suitable or
> null
> > > > > > > > > >>>>>>>>>>>> encryption is used, but exclude anonymous
> > > > > > > > > >>>>>>>>>>>> Diffie-Hellman key change
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> as
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>>>>>>>                 this is vulnerable to
> > > > > > > > > >>>>>>>>>>>> man-in-the-middle attacks
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>> -->
> > > > > > > > > >>>>>>
> > > > > > > > > >>>>>>>>>>>>
> > > > > > > > > >>>>>>>>>>>> <sec:include>.*_EXPORT_.*</sec:include>
> > > > > > > > > >>>>>>>>>>>>
> > > > > > > > > >>>>>>>>>>>> <sec:include>.*_EXPORT1024_.*</sec:include>
> > > > > > > > > >>>>>>>>>>>> <sec:include>.*_WITH_DES_.*</sec:include>
> > > > > > > > > >>>>>>>>>>>> <sec:include>.*_WITH_NULL_.*</sec:include>
> > > > > > > > > >>>>>>>>>>>> <sec:exclude>.*_DH_anon_.*</sec:exclude>
> > > > > > > > > >>>>>>>>>>>> </sec:cipherSuitesFilter>
> > > > > > > > > >>>>>>>>>>>>         </http:tlsClientParameters>
> > > > > > > > > >>>>>>>>>>>> </http:conduit>
> > > > > > > > > >>>>>>>>>>
> > > > > > > > > >>>>>>>>>>  http://www.nabble.com/file/p15773252/cxf.log
> > > cxf.log
> > > > > > > > > >>>
> > > > > > > > > >>> --
> > > > > > > > > >>> J. Daniel Kulp
> > > > > > > > > >>> Principal Engineer, IONA
> > > > > > > > > >>> dkulp@apache.org
> > > > > > > > > >>> http://www.dankulp.com/blog
> > > > > > > >
> > > > > > > > --
> > > > > > > > J. Daniel Kulp
> > > > > > > > Principal Engineer, IONA
> > > > > > > > dkulp@apache.org
> > > > > > > > http://www.dankulp.com/blog
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > J. Daniel Kulp
> > > > > Principal Engineer, IONA
> > > > > dkulp@apache.org
> > > > > http://www.dankulp.com/blog
> > > > >
> > > >
> > >
> >
>

Re: service caching

Posted by Benson Margulies <bi...@gmail.com>.
Thanks for the pointer. I'll do more profiling and report back.

On Fri, Mar 28, 2008 at 12:18 PM, Christopher Cheng <
christopher.sw.cheng@gmail.com> wrote:

> You could try to generate java codes using "
> org.apache.cxf.tools.wsdlto.WSDLToJava" with the following wsdl and see
> the
> performance.
>
>
> http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_HotelAvailLLS1.5.1RQ.wsdl
>
> If it's jaxb that's causing the performance problem, which databinding in
> your opinion has the best performance?
>
>
> On Fri, Mar 28, 2008 at 11:26 PM, Benson Margulies <bi...@gmail.com>
> wrote:
>
> > Please supply some sort of test case. I've profiled extensively. I don't
> > believe that service caching, as discussed, would have any effect. The
> > current 2.1 code (as ported by Dan to 2.0.5) appears to be constrained
> by
> > the performance of JAXB, and I don't think we have a caching opportunity
> > there, though I would love to be wrong. Perhaps there's something about
> > your
> > services that use a lot more time in the service model code than the
> > sample
> > I've been profiling.
> >
> > On Fri, Mar 28, 2008 at 8:13 AM, Christopher Cheng <
> > christopher.sw.cheng@gmail.com> wrote:
> >
> > > I just tried to rerun it with the snapshot 2.0.5. It is running about
> > 20%
> > > faster, but it still takes 3 seconds to build services.
> > > I hope that the service caching will be available soon so I can
> migrate
> > > the
> > > current axis-1.2 application to cxf
> > >
> > > On Thu, Mar 20, 2008 at 7:33 PM, Daniel Kulp <dk...@apache.org> wrote:
> > >
> > > > On Thursday 20 March 2008, Christopher Cheng wrote:
> > > > > Looks like 2.0.5 is going to release soon, is this service caching
> > in
> > > > > 2.0.5?
> > > >
> > > > Yea.   The stuff that Benson has done is being ported to 2.0.x.
> > > >
> > > > That said, it's not the full service caching.   It's basically a
> bunch
> > > of
> > > > incremental improvements to the current algorithms, but it's
> > definitely
> > > > a big improvement.
> > > >
> > > > Dan
> > > >
> > > >
> > > > >
> > > > > On Wed, Mar 5, 2008 at 11:50 AM, Christopher Cheng <
> > > > >
> > > > > christopher.sw.cheng@gmail.com> wrote:
> > > > > > Looking forward to have this in the next release 2.0.5 or 2.1 :)
> > > > > >
> > > > > > On Tue, Mar 4, 2008 at 11:55 PM, Daniel Kulp <dk...@apache.org>
> > > > wrote:
> > > > > > > Willem,
> > > > > > >
> > > > > > > The issue is that they CAN be modified after that.   One
> popular
> > > > > > > modification is to grab the EndpointInfo out of it and change
> > the
> > > > > > > address.   Other things like adding interceptors to the
> > > > > > > BindingInfo, changing properties on the service (like to
> enable
> > > > > > > schema validation), etc... are all modifications that affect
> the
> > > > > > > servicemodel.
> > > > > > >
> > > > > > > Databinding is "less" of an issue, but still one.   For
> example,
> > > > > > > the databinding has an "mtomThreshold" and a namespaceMap that
> > can
> > > > > > > be set programatically.
> > > > > > >
> > > > > > > In both of those cases, a modification should only affect the
> > > > > > > proxy on which the modification is made.   Thus, the
> > servicemodel
> > > > > > > would need a full "clone", which may not be easy to do.   It's
> > > > > > > certainly a lot more code to add.
> > > > > > >
> > > > > > > That said, I don't think it's a bad idea at all.  On the
> > contrary,
> > > > > > > it's a
> > > > > > > good idea.   It's just a bit of work.
> > > > > > >
> > > > > > > Dan
> > > > > > >
> > > > > > > On Tuesday 04 March 2008, Willem Jiang wrote:
> > > > > > > > Hi Dan,
> > > > > > > >
> > > > > > > > I think we could cache the ServiceInfo object and
> DataBinding
> > > > > > > > object which will take lots of time to be created and can't
> be
> > > > > > > > modified after that. Any thought?
> > > > > > > >
> > > > > > > > Willem
> > > > > > > >
> > > > > > > > Daniel Kulp wrote:
> > > > > > > > > On Tuesday 04 March 2008, Christopher Cheng wrote:
> > > > > > > > >> I haven't read the codes of Axis, but I have been using
> it
> > > > > > > > >> for 2 years and it doesn't have this problem.
> > > > > > > > >> Having an overhead for 5-8 seconds is not an option for a
> > > > > > > > >> production system in term of performance
> > > > > > > > >>
> > > > > > > > >> What you are saying is that all the services must
> implement
> > > > > > > > >> Clonable interface?
> > > > > > > > >
> > > > > > > > > No, not the services themselves.   Just our interal
> service
> > > > > > > > > model stuff that holds all the metadata.  Basically, when
> > > > > > > > > creating a new service, we need to calculate the metadata.
> > > > > > > > > We should cache that if possible.
> > > > > > > > >
> > > > > > > > > Dan
> > > > > > > > >
> > > > > > > > >> On Tue, Mar 4, 2008 at 4:48 AM, Daniel Kulp
> > > > > > > > >> <dk...@apache.org>
> > > > > > >
> > > > > > > wrote:
> > > > > > > > >>> Christopher,
> > > > > > > > >>>
> > > > > > > > >>> We cannot just "reuse" the Service model objects as they
> > are
> > > > > > > > >>> completely modifiable at runtime. For example, one proxy
> > > > > > > > >>> could be reconfigured with new address or have
> additional
> > > > > > > > >>> interceptors added or similar.  Those shouldn't affect
> > > > > > > > >>> others.
> > > > > > > > >>>
> > > > > > > > >>> On option that propably would make sense is to add a
> fast
> > > > > > > > >>> "clone" functionality to the entire service model so we
> > > > > > > > >>> could cache one, and then clone it whenever one is
> really
> > > > > > > > >>> needed.   All the individual versions could be modified
> > and
> > > > > > > > >>> not affect the original. However, doing that would be
> > quite
> > > > > > > > >>> a bit of work as there are a LOT of classes that would
> > need
> > > > > > > > >>> to be updated to support that.
> > > > > > > > >>>
> > > > > > > > >>> Patches towards that end would be great.   :-)
> > > > > > > > >>>
> > > > > > > > >>> Dan
> > > > > > > > >>>
> > > > > > > > >>> On Monday 03 March 2008, Christopher Cheng wrote:
> > > > > > > > >>>> wsdl is indeed cached in WSDLManagerImpl.definitionsMap
> > > > > > > > >>>>
> > > > > > > > >>>> After reading the codes, I have some questions. My
> > > > > > > > >>>> workstation is a PentiumD 3GHz with 1.5GB RAM
> > > > > > > > >>>>
> > > > > > > > >>>> In the class
> > > > > > > > >>>> "
> > org.apache.cxf.service.factory.ReflectionServiceFactoryBea
> > > > > > > > >>>>n.buil d Serv iceFromWSDL(String url)",
> > > > > > > > >>>> "setService(factory.create());" takes 3 seconds
> > > > > > > > >>>> "getDataBinding().initialize(getService());" takes 2
> > > > > > > > >>>> seconds
> > > > > > > > >>>>
> > > > > > > > >>>> These 2 methods are called even in 2nd calls. Can you
> > also
> > > > > > > > >>>> cache the services perhaps using jakarta commons-pool?
> or
> > > > > > > > >>>> eh-cache?
> > > > > > > > >>>>
> > > > > > > > >>>> By the way, I found that the wsdl is put into the
> > > > > > > > >>>> definitionMap twice if " WSDLManagerImpl.getDefinition
> > (URL
> > > > > > > > >>>> url)" is called. First in "getDefintion(URL url)" at
> line
> > > > > > > > >>>> 147 and second in "loadDefinition(String url)" at line
> > 201.
> > > > > > > > >>>>
> > > > > > > > >>>>
> > > > > > > > >>>> On Mon, Mar 3, 2008 at 4:22 PM, Christopher Cheng <
> > > > > > > > >>>>
> > > > > > > > >>>> christopher.sw.cheng@gmail.com> wrote:
> > > > > > > > >>>>> wsdl is indeed cached in
> WSDLManagerImpl.definitionsMap
> > > > > > > > >>>>>
> > > > > > > > >>>>> After reading the codes, I have some questions. My
> > > > > > > > >>>>> workstation is a PentiumD 3GHz with 1.5GB RAM
> > > > > > > > >>>>>
> > > > > > > > >>>>> In the class "
> > > > > > > > >>>>>
> > org.apache.cxf.service.factory.ReflectionServiceFactoryBea
> > > > > > > > >>>>>n.buil dSer viceFromWSDL(String url)",
> > > > > > > > >>>>> "setService(factory.create());" takes 3 seconds
> > > > > > > > >>>>> "getDataBinding().initialize(getService());" takes 2
> > > > > > > > >>>>> seconds
> > > > > > > > >>>>>
> > > > > > > > >>>>> These 2 methods are called even in 2nd calls. Can you
> > also
> > > > > > > > >>>>> cache the services perhaps using jakarta commons-pool?
> > or
> > > > > > > > >>>>> eh-cache?
> > > > > > > > >>>>>
> > > > > > > > >>>>> By the way, I found that the wsdl is put into the
> > > > > > > > >>>>> definitionMap twice if " WSDLManagerImpl.getDefinition
> > (URL
> > > > > > > > >>>>> url)" is called. First in "getDefintion(URL url)" at
> > line
> > > > > > > > >>>>> 147 and second in "loadDefinition(String url)" at line
> > > > > > > > >>>>> 201.
> > > > > > > > >>>>>
> > > > > > > > >>>>>
> > > > > > > > >>>>>
> > > > > > > > >>>>> On Mon, Mar 3, 2008 at 9:43 AM, Willem Jiang
> > > > > > > > >>>>> <wi...@gmail.com>
> > > > > > > > >>>>>
> > > > > > > > >>>>> wrote:
> > > > > > > > >>>>>> Hi,
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> I just went through the code, we really cache the
> WSDL
> > > > > > > > >>>>>> definition in CXF.
> > > > > > > > >>>>>> Could you send your test case and wsdl file to me ? I
> > may
> > > > > > > > >>>>>> need to trace it for more information.
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> Regards,
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> Willem
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> Christopher Cheng wrote:
> > > > > > > > >>>>>>> I think the issue is still there. I used a for loop
> to
> > > > > > > > >>>>>>> execute the
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> same
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>> call, all takes approximately the same time to
> create
> > > > > > > > >>>>>>> service. I guess
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> that
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>> the service itself is not cached.
> > > > > > > > >>>>>>>
> > > > > > > > >>>>>>> On Sun, Mar 2, 2008 at 11:43 AM, Willem Jiang
> > > > > > > > >>>>>>> <wi...@gmail.com>
> > > > > > > > >>>>>>>
> > > > > > > > >>>>>>> wrote:
> > > > > > > > >>>>>>>> Here is the JIRA[1] which describe the same thing
> > that
> > > > > > > > >>>>>>>> you want. I don't know if it was really resolved,
> > could
> > > > > > > > >>>>>>>> you try the latest released CXF 2.0.4 for it.
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>> If the issue is still there, please let me know , I
> > > > > > > > >>>>>>>> will put it to my next week todo list.
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>> [1]https://issues.apache.org/jira/browse/CXF-699
> > > > > > > > >>>>>>>> [2]http://cwiki.apache.org/CXF/download.html
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>> Willem.
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>> Christopher Cheng wrote:
> > > > > > > > >>>>>>>>> I am migrating from Axis1.2 to CXF 2.0.3
> > > > > > > > >>>>>>>>>
> > > > > > > > >>>>>>>>> I understand that it will take a long time to
> build
> > > > > > > > >>>>>>>>> for the first
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> time.
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>> What
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>>> I am wondering is that why it takes so long for
> the
> > > > > > > > >>>>>>>>> second and third
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>> time?
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>>> Is there any caching of services? Axis does not
> seem
> > > > > > > > >>>>>>>>> to have this
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> issue.
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>> Christopher Cheng wrote:
> > > > > > > > >>>>>>>>>> Attached is the log
> > > > > > > > >>>>>>>>>>
> > > > > > > > >>>>>>>>>> ----- Original Message -----
> > > > > > > > >>>>>>>>>> From: "Willem Jiang" <wi...@gmail.com>
> > > > > > > > >>>>>>>>>> To: <cx...@incubator.apache.org>
> > > > > > > > >>>>>>>>>> Sent: Saturday, March 01, 2008 8:53 PM
> > > > > > > > >>>>>>>>>> Subject: Re: service caching?
> > > > > > > > >>>>>>>>>>
> > > > > > > > >>>>>>>>>>> Hi
> > > > > > > > >>>>>>>>>>>
> > > > > > > > >>>>>>>>>>> Could you set the logger level to FINE ?
> > > > > > > > >>>>>>>>>>> So we can get more information about the service
> > > > > > > > >>>>>>>>>>> publishing.
> > > > > > > > >>>>>>>>>>>
> > > > > > > > >>>>>>>>>>> Willem.
> > > > > > > > >>>>>>>>>>>
> > > > > > > > >>>>>>>>>>> Christopher Cheng wrote:
> > > > > > > > >>>>>>>>>>>> When I call the service as a client, it takes 5
> > > > > > > > >>>>>>>>>>>> seconds to load.
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> I am
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>> not
> > > > > > > > >>>>>>>>>>>> sure whether it takes 5 seconds to create the
> > > > > > > > >>>>>>>>>>>> service or it takes
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> 5
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>> seconds
> > > > > > > > >>>>>>>>>>>> to look up for ciper filters. I am wondering if
> > the
> > > > > > > > >>>>>>>>>>>> services are cached...
> > > > > > > > >>>>>>>>>>>>  Feb 29, 2008 2:14:42 PM
> > > > > > > > >>>>>>>>>>>>
> > org.apache.cxf.service.factory.ReflectionServiceFac
> > > > > > > > >>>>>>>>>>>>tory Bean buildServiceFromWSDL
> > > > > > > > >>>>>>>>>>>> INFO: Creating Service
> > > > > > > > >>>>>>>>>>>> {
> > https://webservices.sabre.com/websvc}OTA_HotelAvai<https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> <https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> > <https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> > > <https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> > > > > > > > >>>>>>>>>>>>lSer<
> > https://webservices.sabre.com/websvc%7DOTA_Hote
> > > > > > > > >>>>>>>>>>>>lAvailSer>
> > > > > > > > >>>>>>>>>>>> vice<
> > https://webservices.sabre.com/websvc%7DOTA_Hot
> > > > > > > > >>>>>>>>>>>>elAva ilService>
> > > > > > > > >>>>>>>>>>>> <
> > https://webservices.sabre.com/websvc%7DOTA_HotelAv
> > > > > > > > >>>>>>>>>>>>ailS ervic e>
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> <
> > https://webservices.sabre.com/websvc%7DOTA_HotelAvailSer
> > > > > > > > >>>>>>vice> from
> > > > > > > > >>>
> > > > > > > > >>> WSDL:
> > > > > > > > >>>>>>>>>>>> file:/C:/Java/abacus-webconnect-1.14.0.rc1
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>> /wsdl/OTA_HotelAvailLLS1.4.1RQ.wsdl
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
> > > > > > > > >>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils
> > > > > > > > >>>>>>>>>>>> getCiphersuites INFO: The cipher suites have
> not
> > > > > > > > >>>>>>>>>>>> been configured, falling back to
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>> cipher
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>>>>>> suite filters.
> > > > > > > > >>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
> > > > > > > > >>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils
> > > > > > > > >>>>>>>>>>>> getCiphersFromList INFO: The cipher suites have
> > > > > > > > >>>>>>>>>>>> been set to
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> SSL_RSA_WITH_RC4_128_MD5,
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>> SSL_RSA_WITH_RC4_128_SHA,
> > SSL_RSA_WITH_DES_CBC_SHA,
> > > > > > > > >>>>>>>>>>>> SSL_DHE_RSA_WITH_DES_CBC_SHA,
> > > > > > > > >>>>>>>>>>>> SSL_DHE_DSS_WITH_DES_CBC_SHA,
> > > > > > > > >>>>>>>>>>>> SSL_RSA_EXPORT_WITH_RC4_40_MD5,
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>> SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > > >>>>>>>>>>>> SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > > >>>>>>>>>>>> SSL_RSA_WITH_NULL_MD5, SSL_RSA_WITH_NULL_SHA,
> > > > > > > > >>>>>>>>>>>> SSL_DH_anon_WITH_RC4_128_MD5,
> > > > > > > > >>>>>>>>>>>> TLS_DH_anon_WITH_AES_128_CBC_SHA,
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>> SSL_DH_anon_WITH_DES_CBC_SHA,
> > > > > > > > >>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,
> > > > > > > > >>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > > >>>>>>>>>>>> TLS_KRB5_WITH_DES_CBC_SHA,
> > > > > > > > >>>>>>>>>>>> TLS_KRB5_WITH_DES_CBC_MD5,
> > > > > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
> > > > > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5.  Feb 29,
> > 2008
> > > > > > > > >>>>>>>>>>>> 2:14:48 PM
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>
> > org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingC
> > > > > > > > >>>>>>allba ckon Close
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>>  I have put this in my cxf.xml as in
> > > > > > > > >>>>>>>>>>>>
> > http://cwiki.apache.org/CXF20DOC/client-http-transp
> > > > > > > > >>>>>>>>>>>>ort. html , but
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> it
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>> doesn't
> > > > > > > > >>>>>>>>>>>> help... <http:conduit name="*.http-conduit">
> > > > > > > > >>>>>>>>>>>>             <http:tlsClientParameters
> > > > > > > > >>>>>>>>>>>> secureSocketProtocol="SSL">
> > > > > > > > >>>>>>>>>>>> <sec:cipherSuitesFilter> <!-- these filters
> > ensure
> > > > > > > > >>>>>>>>>>>> that a ciphersuite with export-suitable or null
> > > > > > > > >>>>>>>>>>>> encryption is used, but exclude anonymous
> > > > > > > > >>>>>>>>>>>> Diffie-Hellman key change
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> as
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>>                 this is vulnerable to
> > > > > > > > >>>>>>>>>>>> man-in-the-middle attacks
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> -->
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>>
> > > > > > > > >>>>>>>>>>>> <sec:include>.*_EXPORT_.*</sec:include>
> > > > > > > > >>>>>>>>>>>>
> > > > > > > > >>>>>>>>>>>> <sec:include>.*_EXPORT1024_.*</sec:include>
> > > > > > > > >>>>>>>>>>>> <sec:include>.*_WITH_DES_.*</sec:include>
> > > > > > > > >>>>>>>>>>>> <sec:include>.*_WITH_NULL_.*</sec:include>
> > > > > > > > >>>>>>>>>>>> <sec:exclude>.*_DH_anon_.*</sec:exclude>
> > > > > > > > >>>>>>>>>>>> </sec:cipherSuitesFilter>
> > > > > > > > >>>>>>>>>>>>         </http:tlsClientParameters>
> > > > > > > > >>>>>>>>>>>> </http:conduit>
> > > > > > > > >>>>>>>>>>
> > > > > > > > >>>>>>>>>>  http://www.nabble.com/file/p15773252/cxf.log
> > cxf.log
> > > > > > > > >>>
> > > > > > > > >>> --
> > > > > > > > >>> J. Daniel Kulp
> > > > > > > > >>> Principal Engineer, IONA
> > > > > > > > >>> dkulp@apache.org
> > > > > > > > >>> http://www.dankulp.com/blog
> > > > > > >
> > > > > > > --
> > > > > > > J. Daniel Kulp
> > > > > > > Principal Engineer, IONA
> > > > > > > dkulp@apache.org
> > > > > > > http://www.dankulp.com/blog
> > > >
> > > >
> > > >
> > > > --
> > > > J. Daniel Kulp
> > > > Principal Engineer, IONA
> > > > dkulp@apache.org
> > > > http://www.dankulp.com/blog
> > > >
> > >
> >
>

Re: service caching

Posted by Christopher Cheng <ch...@gmail.com>.
You could try to generate java codes using "
org.apache.cxf.tools.wsdlto.WSDLToJava" with the following wsdl and see the
performance.

http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_HotelAvailLLS1.5.1RQ.wsdl

If it's jaxb that's causing the performance problem, which databinding in
your opinion has the best performance?


On Fri, Mar 28, 2008 at 11:26 PM, Benson Margulies <bi...@gmail.com>
wrote:

> Please supply some sort of test case. I've profiled extensively. I don't
> believe that service caching, as discussed, would have any effect. The
> current 2.1 code (as ported by Dan to 2.0.5) appears to be constrained by
> the performance of JAXB, and I don't think we have a caching opportunity
> there, though I would love to be wrong. Perhaps there's something about
> your
> services that use a lot more time in the service model code than the
> sample
> I've been profiling.
>
> On Fri, Mar 28, 2008 at 8:13 AM, Christopher Cheng <
> christopher.sw.cheng@gmail.com> wrote:
>
> > I just tried to rerun it with the snapshot 2.0.5. It is running about
> 20%
> > faster, but it still takes 3 seconds to build services.
> > I hope that the service caching will be available soon so I can migrate
> > the
> > current axis-1.2 application to cxf
> >
> > On Thu, Mar 20, 2008 at 7:33 PM, Daniel Kulp <dk...@apache.org> wrote:
> >
> > > On Thursday 20 March 2008, Christopher Cheng wrote:
> > > > Looks like 2.0.5 is going to release soon, is this service caching
> in
> > > > 2.0.5?
> > >
> > > Yea.   The stuff that Benson has done is being ported to 2.0.x.
> > >
> > > That said, it's not the full service caching.   It's basically a bunch
> > of
> > > incremental improvements to the current algorithms, but it's
> definitely
> > > a big improvement.
> > >
> > > Dan
> > >
> > >
> > > >
> > > > On Wed, Mar 5, 2008 at 11:50 AM, Christopher Cheng <
> > > >
> > > > christopher.sw.cheng@gmail.com> wrote:
> > > > > Looking forward to have this in the next release 2.0.5 or 2.1 :)
> > > > >
> > > > > On Tue, Mar 4, 2008 at 11:55 PM, Daniel Kulp <dk...@apache.org>
> > > wrote:
> > > > > > Willem,
> > > > > >
> > > > > > The issue is that they CAN be modified after that.   One popular
> > > > > > modification is to grab the EndpointInfo out of it and change
> the
> > > > > > address.   Other things like adding interceptors to the
> > > > > > BindingInfo, changing properties on the service (like to enable
> > > > > > schema validation), etc... are all modifications that affect the
> > > > > > servicemodel.
> > > > > >
> > > > > > Databinding is "less" of an issue, but still one.   For example,
> > > > > > the databinding has an "mtomThreshold" and a namespaceMap that
> can
> > > > > > be set programatically.
> > > > > >
> > > > > > In both of those cases, a modification should only affect the
> > > > > > proxy on which the modification is made.   Thus, the
> servicemodel
> > > > > > would need a full "clone", which may not be easy to do.   It's
> > > > > > certainly a lot more code to add.
> > > > > >
> > > > > > That said, I don't think it's a bad idea at all.  On the
> contrary,
> > > > > > it's a
> > > > > > good idea.   It's just a bit of work.
> > > > > >
> > > > > > Dan
> > > > > >
> > > > > > On Tuesday 04 March 2008, Willem Jiang wrote:
> > > > > > > Hi Dan,
> > > > > > >
> > > > > > > I think we could cache the ServiceInfo object and DataBinding
> > > > > > > object which will take lots of time to be created and can't be
> > > > > > > modified after that. Any thought?
> > > > > > >
> > > > > > > Willem
> > > > > > >
> > > > > > > Daniel Kulp wrote:
> > > > > > > > On Tuesday 04 March 2008, Christopher Cheng wrote:
> > > > > > > >> I haven't read the codes of Axis, but I have been using it
> > > > > > > >> for 2 years and it doesn't have this problem.
> > > > > > > >> Having an overhead for 5-8 seconds is not an option for a
> > > > > > > >> production system in term of performance
> > > > > > > >>
> > > > > > > >> What you are saying is that all the services must implement
> > > > > > > >> Clonable interface?
> > > > > > > >
> > > > > > > > No, not the services themselves.   Just our interal service
> > > > > > > > model stuff that holds all the metadata.  Basically, when
> > > > > > > > creating a new service, we need to calculate the metadata.
> > > > > > > > We should cache that if possible.
> > > > > > > >
> > > > > > > > Dan
> > > > > > > >
> > > > > > > >> On Tue, Mar 4, 2008 at 4:48 AM, Daniel Kulp
> > > > > > > >> <dk...@apache.org>
> > > > > >
> > > > > > wrote:
> > > > > > > >>> Christopher,
> > > > > > > >>>
> > > > > > > >>> We cannot just "reuse" the Service model objects as they
> are
> > > > > > > >>> completely modifiable at runtime. For example, one proxy
> > > > > > > >>> could be reconfigured with new address or have additional
> > > > > > > >>> interceptors added or similar.  Those shouldn't affect
> > > > > > > >>> others.
> > > > > > > >>>
> > > > > > > >>> On option that propably would make sense is to add a fast
> > > > > > > >>> "clone" functionality to the entire service model so we
> > > > > > > >>> could cache one, and then clone it whenever one is really
> > > > > > > >>> needed.   All the individual versions could be modified
> and
> > > > > > > >>> not affect the original. However, doing that would be
> quite
> > > > > > > >>> a bit of work as there are a LOT of classes that would
> need
> > > > > > > >>> to be updated to support that.
> > > > > > > >>>
> > > > > > > >>> Patches towards that end would be great.   :-)
> > > > > > > >>>
> > > > > > > >>> Dan
> > > > > > > >>>
> > > > > > > >>> On Monday 03 March 2008, Christopher Cheng wrote:
> > > > > > > >>>> wsdl is indeed cached in WSDLManagerImpl.definitionsMap
> > > > > > > >>>>
> > > > > > > >>>> After reading the codes, I have some questions. My
> > > > > > > >>>> workstation is a PentiumD 3GHz with 1.5GB RAM
> > > > > > > >>>>
> > > > > > > >>>> In the class
> > > > > > > >>>> "
> org.apache.cxf.service.factory.ReflectionServiceFactoryBea
> > > > > > > >>>>n.buil d Serv iceFromWSDL(String url)",
> > > > > > > >>>> "setService(factory.create());" takes 3 seconds
> > > > > > > >>>> "getDataBinding().initialize(getService());" takes 2
> > > > > > > >>>> seconds
> > > > > > > >>>>
> > > > > > > >>>> These 2 methods are called even in 2nd calls. Can you
> also
> > > > > > > >>>> cache the services perhaps using jakarta commons-pool? or
> > > > > > > >>>> eh-cache?
> > > > > > > >>>>
> > > > > > > >>>> By the way, I found that the wsdl is put into the
> > > > > > > >>>> definitionMap twice if " WSDLManagerImpl.getDefinition
> (URL
> > > > > > > >>>> url)" is called. First in "getDefintion(URL url)" at line
> > > > > > > >>>> 147 and second in "loadDefinition(String url)" at line
> 201.
> > > > > > > >>>>
> > > > > > > >>>>
> > > > > > > >>>> On Mon, Mar 3, 2008 at 4:22 PM, Christopher Cheng <
> > > > > > > >>>>
> > > > > > > >>>> christopher.sw.cheng@gmail.com> wrote:
> > > > > > > >>>>> wsdl is indeed cached in WSDLManagerImpl.definitionsMap
> > > > > > > >>>>>
> > > > > > > >>>>> After reading the codes, I have some questions. My
> > > > > > > >>>>> workstation is a PentiumD 3GHz with 1.5GB RAM
> > > > > > > >>>>>
> > > > > > > >>>>> In the class "
> > > > > > > >>>>>
> org.apache.cxf.service.factory.ReflectionServiceFactoryBea
> > > > > > > >>>>>n.buil dSer viceFromWSDL(String url)",
> > > > > > > >>>>> "setService(factory.create());" takes 3 seconds
> > > > > > > >>>>> "getDataBinding().initialize(getService());" takes 2
> > > > > > > >>>>> seconds
> > > > > > > >>>>>
> > > > > > > >>>>> These 2 methods are called even in 2nd calls. Can you
> also
> > > > > > > >>>>> cache the services perhaps using jakarta commons-pool?
> or
> > > > > > > >>>>> eh-cache?
> > > > > > > >>>>>
> > > > > > > >>>>> By the way, I found that the wsdl is put into the
> > > > > > > >>>>> definitionMap twice if " WSDLManagerImpl.getDefinition
> (URL
> > > > > > > >>>>> url)" is called. First in "getDefintion(URL url)" at
> line
> > > > > > > >>>>> 147 and second in "loadDefinition(String url)" at line
> > > > > > > >>>>> 201.
> > > > > > > >>>>>
> > > > > > > >>>>>
> > > > > > > >>>>>
> > > > > > > >>>>> On Mon, Mar 3, 2008 at 9:43 AM, Willem Jiang
> > > > > > > >>>>> <wi...@gmail.com>
> > > > > > > >>>>>
> > > > > > > >>>>> wrote:
> > > > > > > >>>>>> Hi,
> > > > > > > >>>>>>
> > > > > > > >>>>>> I just went through the code, we really cache the WSDL
> > > > > > > >>>>>> definition in CXF.
> > > > > > > >>>>>> Could you send your test case and wsdl file to me ? I
> may
> > > > > > > >>>>>> need to trace it for more information.
> > > > > > > >>>>>>
> > > > > > > >>>>>> Regards,
> > > > > > > >>>>>>
> > > > > > > >>>>>> Willem
> > > > > > > >>>>>>
> > > > > > > >>>>>> Christopher Cheng wrote:
> > > > > > > >>>>>>> I think the issue is still there. I used a for loop to
> > > > > > > >>>>>>> execute the
> > > > > > > >>>>>>
> > > > > > > >>>>>> same
> > > > > > > >>>>>>
> > > > > > > >>>>>>> call, all takes approximately the same time to create
> > > > > > > >>>>>>> service. I guess
> > > > > > > >>>>>>
> > > > > > > >>>>>> that
> > > > > > > >>>>>>
> > > > > > > >>>>>>> the service itself is not cached.
> > > > > > > >>>>>>>
> > > > > > > >>>>>>> On Sun, Mar 2, 2008 at 11:43 AM, Willem Jiang
> > > > > > > >>>>>>> <wi...@gmail.com>
> > > > > > > >>>>>>>
> > > > > > > >>>>>>> wrote:
> > > > > > > >>>>>>>> Here is the JIRA[1] which describe the same thing
> that
> > > > > > > >>>>>>>> you want. I don't know if it was really resolved,
> could
> > > > > > > >>>>>>>> you try the latest released CXF 2.0.4 for it.
> > > > > > > >>>>>>>>
> > > > > > > >>>>>>>> If the issue is still there, please let me know , I
> > > > > > > >>>>>>>> will put it to my next week todo list.
> > > > > > > >>>>>>>>
> > > > > > > >>>>>>>> [1]https://issues.apache.org/jira/browse/CXF-699
> > > > > > > >>>>>>>> [2]http://cwiki.apache.org/CXF/download.html
> > > > > > > >>>>>>>>
> > > > > > > >>>>>>>> Willem.
> > > > > > > >>>>>>>>
> > > > > > > >>>>>>>> Christopher Cheng wrote:
> > > > > > > >>>>>>>>> I am migrating from Axis1.2 to CXF 2.0.3
> > > > > > > >>>>>>>>>
> > > > > > > >>>>>>>>> I understand that it will take a long time to build
> > > > > > > >>>>>>>>> for the first
> > > > > > > >>>>>>
> > > > > > > >>>>>> time.
> > > > > > > >>>>>>
> > > > > > > >>>>>>>> What
> > > > > > > >>>>>>>>
> > > > > > > >>>>>>>>> I am wondering is that why it takes so long for the
> > > > > > > >>>>>>>>> second and third
> > > > > > > >>>>>>>>
> > > > > > > >>>>>>>> time?
> > > > > > > >>>>>>>>
> > > > > > > >>>>>>>>> Is there any caching of services? Axis does not seem
> > > > > > > >>>>>>>>> to have this
> > > > > > > >>>>>>
> > > > > > > >>>>>> issue.
> > > > > > > >>>>>>
> > > > > > > >>>>>>>>> Christopher Cheng wrote:
> > > > > > > >>>>>>>>>> Attached is the log
> > > > > > > >>>>>>>>>>
> > > > > > > >>>>>>>>>> ----- Original Message -----
> > > > > > > >>>>>>>>>> From: "Willem Jiang" <wi...@gmail.com>
> > > > > > > >>>>>>>>>> To: <cx...@incubator.apache.org>
> > > > > > > >>>>>>>>>> Sent: Saturday, March 01, 2008 8:53 PM
> > > > > > > >>>>>>>>>> Subject: Re: service caching?
> > > > > > > >>>>>>>>>>
> > > > > > > >>>>>>>>>>> Hi
> > > > > > > >>>>>>>>>>>
> > > > > > > >>>>>>>>>>> Could you set the logger level to FINE ?
> > > > > > > >>>>>>>>>>> So we can get more information about the service
> > > > > > > >>>>>>>>>>> publishing.
> > > > > > > >>>>>>>>>>>
> > > > > > > >>>>>>>>>>> Willem.
> > > > > > > >>>>>>>>>>>
> > > > > > > >>>>>>>>>>> Christopher Cheng wrote:
> > > > > > > >>>>>>>>>>>> When I call the service as a client, it takes 5
> > > > > > > >>>>>>>>>>>> seconds to load.
> > > > > > > >>>>>>
> > > > > > > >>>>>> I am
> > > > > > > >>>>>>
> > > > > > > >>>>>>>>>>>> not
> > > > > > > >>>>>>>>>>>> sure whether it takes 5 seconds to create the
> > > > > > > >>>>>>>>>>>> service or it takes
> > > > > > > >>>>>>
> > > > > > > >>>>>> 5
> > > > > > > >>>>>>
> > > > > > > >>>>>>>>>>>> seconds
> > > > > > > >>>>>>>>>>>> to look up for ciper filters. I am wondering if
> the
> > > > > > > >>>>>>>>>>>> services are cached...
> > > > > > > >>>>>>>>>>>>  Feb 29, 2008 2:14:42 PM
> > > > > > > >>>>>>>>>>>>
> org.apache.cxf.service.factory.ReflectionServiceFac
> > > > > > > >>>>>>>>>>>>tory Bean buildServiceFromWSDL
> > > > > > > >>>>>>>>>>>> INFO: Creating Service
> > > > > > > >>>>>>>>>>>> {
> https://webservices.sabre.com/websvc}OTA_HotelAvai<https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> <https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> > <https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> > > > > > > >>>>>>>>>>>>lSer<
> https://webservices.sabre.com/websvc%7DOTA_Hote
> > > > > > > >>>>>>>>>>>>lAvailSer>
> > > > > > > >>>>>>>>>>>> vice<
> https://webservices.sabre.com/websvc%7DOTA_Hot
> > > > > > > >>>>>>>>>>>>elAva ilService>
> > > > > > > >>>>>>>>>>>> <
> https://webservices.sabre.com/websvc%7DOTA_HotelAv
> > > > > > > >>>>>>>>>>>>ailS ervic e>
> > > > > > > >>>>>>
> > > > > > > >>>>>> <
> https://webservices.sabre.com/websvc%7DOTA_HotelAvailSer
> > > > > > > >>>>>>vice> from
> > > > > > > >>>
> > > > > > > >>> WSDL:
> > > > > > > >>>>>>>>>>>> file:/C:/Java/abacus-webconnect-1.14.0.rc1
> > > > > > > >>>>>>>>
> > > > > > > >>>>>>>> /wsdl/OTA_HotelAvailLLS1.4.1RQ.wsdl
> > > > > > > >>>>>>>>
> > > > > > > >>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
> > > > > > > >>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils
> > > > > > > >>>>>>>>>>>> getCiphersuites INFO: The cipher suites have not
> > > > > > > >>>>>>>>>>>> been configured, falling back to
> > > > > > > >>>>>>>>
> > > > > > > >>>>>>>> cipher
> > > > > > > >>>>>>>>
> > > > > > > >>>>>>>>>>>> suite filters.
> > > > > > > >>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
> > > > > > > >>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils
> > > > > > > >>>>>>>>>>>> getCiphersFromList INFO: The cipher suites have
> > > > > > > >>>>>>>>>>>> been set to
> > > > > > > >>>>>>
> > > > > > > >>>>>> SSL_RSA_WITH_RC4_128_MD5,
> > > > > > > >>>>>>
> > > > > > > >>>>>>>>>>>> SSL_RSA_WITH_RC4_128_SHA,
> SSL_RSA_WITH_DES_CBC_SHA,
> > > > > > > >>>>>>>>>>>> SSL_DHE_RSA_WITH_DES_CBC_SHA,
> > > > > > > >>>>>>>>>>>> SSL_DHE_DSS_WITH_DES_CBC_SHA,
> > > > > > > >>>>>>>>>>>> SSL_RSA_EXPORT_WITH_RC4_40_MD5,
> > > > > > > >>>>>>
> > > > > > > >>>>>> SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > >>>>>>
> > > > > > > >>>>>>>>>>>> SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > >>>>>>>>>>>> SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > >>>>>>>>>>>> SSL_RSA_WITH_NULL_MD5, SSL_RSA_WITH_NULL_SHA,
> > > > > > > >>>>>>>>>>>> SSL_DH_anon_WITH_RC4_128_MD5,
> > > > > > > >>>>>>>>>>>> TLS_DH_anon_WITH_AES_128_CBC_SHA,
> > > > > > > >>>>>>
> > > > > > > >>>>>> SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,
> > > > > > > >>>>>>
> > > > > > > >>>>>>>>>>>> SSL_DH_anon_WITH_DES_CBC_SHA,
> > > > > > > >>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,
> > > > > > > >>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > >>>>>>>>>>>> TLS_KRB5_WITH_DES_CBC_SHA,
> > > > > > > >>>>>>>>>>>> TLS_KRB5_WITH_DES_CBC_MD5,
> > > > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
> > > > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
> > > > > > > >>>>>>
> > > > > > > >>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
> > > > > > > >>>>>>
> > > > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5.  Feb 29,
> 2008
> > > > > > > >>>>>>>>>>>> 2:14:48 PM
> > > > > > > >>>>>>
> > > > > > > >>>>>>
> org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingC
> > > > > > > >>>>>>allba ckon Close
> > > > > > > >>>>>>
> > > > > > > >>>>>>>>>>>>  I have put this in my cxf.xml as in
> > > > > > > >>>>>>>>>>>>
> http://cwiki.apache.org/CXF20DOC/client-http-transp
> > > > > > > >>>>>>>>>>>>ort. html , but
> > > > > > > >>>>>>
> > > > > > > >>>>>> it
> > > > > > > >>>>>>
> > > > > > > >>>>>>>>>>>> doesn't
> > > > > > > >>>>>>>>>>>> help... <http:conduit name="*.http-conduit">
> > > > > > > >>>>>>>>>>>>             <http:tlsClientParameters
> > > > > > > >>>>>>>>>>>> secureSocketProtocol="SSL">
> > > > > > > >>>>>>>>>>>> <sec:cipherSuitesFilter> <!-- these filters
> ensure
> > > > > > > >>>>>>>>>>>> that a ciphersuite with export-suitable or null
> > > > > > > >>>>>>>>>>>> encryption is used, but exclude anonymous
> > > > > > > >>>>>>>>>>>> Diffie-Hellman key change
> > > > > > > >>>>>>
> > > > > > > >>>>>> as
> > > > > > > >>>>>>
> > > > > > > >>>>>>>>>>>>                 this is vulnerable to
> > > > > > > >>>>>>>>>>>> man-in-the-middle attacks
> > > > > > > >>>>>>
> > > > > > > >>>>>> -->
> > > > > > > >>>>>>
> > > > > > > >>>>>>>>>>>>
> > > > > > > >>>>>>>>>>>> <sec:include>.*_EXPORT_.*</sec:include>
> > > > > > > >>>>>>>>>>>>
> > > > > > > >>>>>>>>>>>> <sec:include>.*_EXPORT1024_.*</sec:include>
> > > > > > > >>>>>>>>>>>> <sec:include>.*_WITH_DES_.*</sec:include>
> > > > > > > >>>>>>>>>>>> <sec:include>.*_WITH_NULL_.*</sec:include>
> > > > > > > >>>>>>>>>>>> <sec:exclude>.*_DH_anon_.*</sec:exclude>
> > > > > > > >>>>>>>>>>>> </sec:cipherSuitesFilter>
> > > > > > > >>>>>>>>>>>>         </http:tlsClientParameters>
> > > > > > > >>>>>>>>>>>> </http:conduit>
> > > > > > > >>>>>>>>>>
> > > > > > > >>>>>>>>>>  http://www.nabble.com/file/p15773252/cxf.log
> cxf.log
> > > > > > > >>>
> > > > > > > >>> --
> > > > > > > >>> J. Daniel Kulp
> > > > > > > >>> Principal Engineer, IONA
> > > > > > > >>> dkulp@apache.org
> > > > > > > >>> http://www.dankulp.com/blog
> > > > > >
> > > > > > --
> > > > > > J. Daniel Kulp
> > > > > > Principal Engineer, IONA
> > > > > > dkulp@apache.org
> > > > > > http://www.dankulp.com/blog
> > >
> > >
> > >
> > > --
> > > J. Daniel Kulp
> > > Principal Engineer, IONA
> > > dkulp@apache.org
> > > http://www.dankulp.com/blog
> > >
> >
>

Re: service caching

Posted by Benson Margulies <bi...@gmail.com>.
Please supply some sort of test case. I've profiled extensively. I don't
believe that service caching, as discussed, would have any effect. The
current 2.1 code (as ported by Dan to 2.0.5) appears to be constrained by
the performance of JAXB, and I don't think we have a caching opportunity
there, though I would love to be wrong. Perhaps there's something about your
services that use a lot more time in the service model code than the sample
I've been profiling.

On Fri, Mar 28, 2008 at 8:13 AM, Christopher Cheng <
christopher.sw.cheng@gmail.com> wrote:

> I just tried to rerun it with the snapshot 2.0.5. It is running about 20%
> faster, but it still takes 3 seconds to build services.
> I hope that the service caching will be available soon so I can migrate
> the
> current axis-1.2 application to cxf
>
> On Thu, Mar 20, 2008 at 7:33 PM, Daniel Kulp <dk...@apache.org> wrote:
>
> > On Thursday 20 March 2008, Christopher Cheng wrote:
> > > Looks like 2.0.5 is going to release soon, is this service caching in
> > > 2.0.5?
> >
> > Yea.   The stuff that Benson has done is being ported to 2.0.x.
> >
> > That said, it's not the full service caching.   It's basically a bunch
> of
> > incremental improvements to the current algorithms, but it's definitely
> > a big improvement.
> >
> > Dan
> >
> >
> > >
> > > On Wed, Mar 5, 2008 at 11:50 AM, Christopher Cheng <
> > >
> > > christopher.sw.cheng@gmail.com> wrote:
> > > > Looking forward to have this in the next release 2.0.5 or 2.1 :)
> > > >
> > > > On Tue, Mar 4, 2008 at 11:55 PM, Daniel Kulp <dk...@apache.org>
> > wrote:
> > > > > Willem,
> > > > >
> > > > > The issue is that they CAN be modified after that.   One popular
> > > > > modification is to grab the EndpointInfo out of it and change the
> > > > > address.   Other things like adding interceptors to the
> > > > > BindingInfo, changing properties on the service (like to enable
> > > > > schema validation), etc... are all modifications that affect the
> > > > > servicemodel.
> > > > >
> > > > > Databinding is "less" of an issue, but still one.   For example,
> > > > > the databinding has an "mtomThreshold" and a namespaceMap that can
> > > > > be set programatically.
> > > > >
> > > > > In both of those cases, a modification should only affect the
> > > > > proxy on which the modification is made.   Thus, the servicemodel
> > > > > would need a full "clone", which may not be easy to do.   It's
> > > > > certainly a lot more code to add.
> > > > >
> > > > > That said, I don't think it's a bad idea at all.  On the contrary,
> > > > > it's a
> > > > > good idea.   It's just a bit of work.
> > > > >
> > > > > Dan
> > > > >
> > > > > On Tuesday 04 March 2008, Willem Jiang wrote:
> > > > > > Hi Dan,
> > > > > >
> > > > > > I think we could cache the ServiceInfo object and DataBinding
> > > > > > object which will take lots of time to be created and can't be
> > > > > > modified after that. Any thought?
> > > > > >
> > > > > > Willem
> > > > > >
> > > > > > Daniel Kulp wrote:
> > > > > > > On Tuesday 04 March 2008, Christopher Cheng wrote:
> > > > > > >> I haven't read the codes of Axis, but I have been using it
> > > > > > >> for 2 years and it doesn't have this problem.
> > > > > > >> Having an overhead for 5-8 seconds is not an option for a
> > > > > > >> production system in term of performance
> > > > > > >>
> > > > > > >> What you are saying is that all the services must implement
> > > > > > >> Clonable interface?
> > > > > > >
> > > > > > > No, not the services themselves.   Just our interal service
> > > > > > > model stuff that holds all the metadata.  Basically, when
> > > > > > > creating a new service, we need to calculate the metadata.
> > > > > > > We should cache that if possible.
> > > > > > >
> > > > > > > Dan
> > > > > > >
> > > > > > >> On Tue, Mar 4, 2008 at 4:48 AM, Daniel Kulp
> > > > > > >> <dk...@apache.org>
> > > > >
> > > > > wrote:
> > > > > > >>> Christopher,
> > > > > > >>>
> > > > > > >>> We cannot just "reuse" the Service model objects as they are
> > > > > > >>> completely modifiable at runtime. For example, one proxy
> > > > > > >>> could be reconfigured with new address or have additional
> > > > > > >>> interceptors added or similar.  Those shouldn't affect
> > > > > > >>> others.
> > > > > > >>>
> > > > > > >>> On option that propably would make sense is to add a fast
> > > > > > >>> "clone" functionality to the entire service model so we
> > > > > > >>> could cache one, and then clone it whenever one is really
> > > > > > >>> needed.   All the individual versions could be modified and
> > > > > > >>> not affect the original. However, doing that would be quite
> > > > > > >>> a bit of work as there are a LOT of classes that would need
> > > > > > >>> to be updated to support that.
> > > > > > >>>
> > > > > > >>> Patches towards that end would be great.   :-)
> > > > > > >>>
> > > > > > >>> Dan
> > > > > > >>>
> > > > > > >>> On Monday 03 March 2008, Christopher Cheng wrote:
> > > > > > >>>> wsdl is indeed cached in WSDLManagerImpl.definitionsMap
> > > > > > >>>>
> > > > > > >>>> After reading the codes, I have some questions. My
> > > > > > >>>> workstation is a PentiumD 3GHz with 1.5GB RAM
> > > > > > >>>>
> > > > > > >>>> In the class
> > > > > > >>>> "org.apache.cxf.service.factory.ReflectionServiceFactoryBea
> > > > > > >>>>n.buil d Serv iceFromWSDL(String url)",
> > > > > > >>>> "setService(factory.create());" takes 3 seconds
> > > > > > >>>> "getDataBinding().initialize(getService());" takes 2
> > > > > > >>>> seconds
> > > > > > >>>>
> > > > > > >>>> These 2 methods are called even in 2nd calls. Can you also
> > > > > > >>>> cache the services perhaps using jakarta commons-pool? or
> > > > > > >>>> eh-cache?
> > > > > > >>>>
> > > > > > >>>> By the way, I found that the wsdl is put into the
> > > > > > >>>> definitionMap twice if " WSDLManagerImpl.getDefinition(URL
> > > > > > >>>> url)" is called. First in "getDefintion(URL url)" at line
> > > > > > >>>> 147 and second in "loadDefinition(String url)" at line 201.
> > > > > > >>>>
> > > > > > >>>>
> > > > > > >>>> On Mon, Mar 3, 2008 at 4:22 PM, Christopher Cheng <
> > > > > > >>>>
> > > > > > >>>> christopher.sw.cheng@gmail.com> wrote:
> > > > > > >>>>> wsdl is indeed cached in WSDLManagerImpl.definitionsMap
> > > > > > >>>>>
> > > > > > >>>>> After reading the codes, I have some questions. My
> > > > > > >>>>> workstation is a PentiumD 3GHz with 1.5GB RAM
> > > > > > >>>>>
> > > > > > >>>>> In the class "
> > > > > > >>>>> org.apache.cxf.service.factory.ReflectionServiceFactoryBea
> > > > > > >>>>>n.buil dSer viceFromWSDL(String url)",
> > > > > > >>>>> "setService(factory.create());" takes 3 seconds
> > > > > > >>>>> "getDataBinding().initialize(getService());" takes 2
> > > > > > >>>>> seconds
> > > > > > >>>>>
> > > > > > >>>>> These 2 methods are called even in 2nd calls. Can you also
> > > > > > >>>>> cache the services perhaps using jakarta commons-pool? or
> > > > > > >>>>> eh-cache?
> > > > > > >>>>>
> > > > > > >>>>> By the way, I found that the wsdl is put into the
> > > > > > >>>>> definitionMap twice if " WSDLManagerImpl.getDefinition(URL
> > > > > > >>>>> url)" is called. First in "getDefintion(URL url)" at line
> > > > > > >>>>> 147 and second in "loadDefinition(String url)" at line
> > > > > > >>>>> 201.
> > > > > > >>>>>
> > > > > > >>>>>
> > > > > > >>>>>
> > > > > > >>>>> On Mon, Mar 3, 2008 at 9:43 AM, Willem Jiang
> > > > > > >>>>> <wi...@gmail.com>
> > > > > > >>>>>
> > > > > > >>>>> wrote:
> > > > > > >>>>>> Hi,
> > > > > > >>>>>>
> > > > > > >>>>>> I just went through the code, we really cache the WSDL
> > > > > > >>>>>> definition in CXF.
> > > > > > >>>>>> Could you send your test case and wsdl file to me ? I may
> > > > > > >>>>>> need to trace it for more information.
> > > > > > >>>>>>
> > > > > > >>>>>> Regards,
> > > > > > >>>>>>
> > > > > > >>>>>> Willem
> > > > > > >>>>>>
> > > > > > >>>>>> Christopher Cheng wrote:
> > > > > > >>>>>>> I think the issue is still there. I used a for loop to
> > > > > > >>>>>>> execute the
> > > > > > >>>>>>
> > > > > > >>>>>> same
> > > > > > >>>>>>
> > > > > > >>>>>>> call, all takes approximately the same time to create
> > > > > > >>>>>>> service. I guess
> > > > > > >>>>>>
> > > > > > >>>>>> that
> > > > > > >>>>>>
> > > > > > >>>>>>> the service itself is not cached.
> > > > > > >>>>>>>
> > > > > > >>>>>>> On Sun, Mar 2, 2008 at 11:43 AM, Willem Jiang
> > > > > > >>>>>>> <wi...@gmail.com>
> > > > > > >>>>>>>
> > > > > > >>>>>>> wrote:
> > > > > > >>>>>>>> Here is the JIRA[1] which describe the same thing that
> > > > > > >>>>>>>> you want. I don't know if it was really resolved, could
> > > > > > >>>>>>>> you try the latest released CXF 2.0.4 for it.
> > > > > > >>>>>>>>
> > > > > > >>>>>>>> If the issue is still there, please let me know , I
> > > > > > >>>>>>>> will put it to my next week todo list.
> > > > > > >>>>>>>>
> > > > > > >>>>>>>> [1]https://issues.apache.org/jira/browse/CXF-699
> > > > > > >>>>>>>> [2]http://cwiki.apache.org/CXF/download.html
> > > > > > >>>>>>>>
> > > > > > >>>>>>>> Willem.
> > > > > > >>>>>>>>
> > > > > > >>>>>>>> Christopher Cheng wrote:
> > > > > > >>>>>>>>> I am migrating from Axis1.2 to CXF 2.0.3
> > > > > > >>>>>>>>>
> > > > > > >>>>>>>>> I understand that it will take a long time to build
> > > > > > >>>>>>>>> for the first
> > > > > > >>>>>>
> > > > > > >>>>>> time.
> > > > > > >>>>>>
> > > > > > >>>>>>>> What
> > > > > > >>>>>>>>
> > > > > > >>>>>>>>> I am wondering is that why it takes so long for the
> > > > > > >>>>>>>>> second and third
> > > > > > >>>>>>>>
> > > > > > >>>>>>>> time?
> > > > > > >>>>>>>>
> > > > > > >>>>>>>>> Is there any caching of services? Axis does not seem
> > > > > > >>>>>>>>> to have this
> > > > > > >>>>>>
> > > > > > >>>>>> issue.
> > > > > > >>>>>>
> > > > > > >>>>>>>>> Christopher Cheng wrote:
> > > > > > >>>>>>>>>> Attached is the log
> > > > > > >>>>>>>>>>
> > > > > > >>>>>>>>>> ----- Original Message -----
> > > > > > >>>>>>>>>> From: "Willem Jiang" <wi...@gmail.com>
> > > > > > >>>>>>>>>> To: <cx...@incubator.apache.org>
> > > > > > >>>>>>>>>> Sent: Saturday, March 01, 2008 8:53 PM
> > > > > > >>>>>>>>>> Subject: Re: service caching?
> > > > > > >>>>>>>>>>
> > > > > > >>>>>>>>>>> Hi
> > > > > > >>>>>>>>>>>
> > > > > > >>>>>>>>>>> Could you set the logger level to FINE ?
> > > > > > >>>>>>>>>>> So we can get more information about the service
> > > > > > >>>>>>>>>>> publishing.
> > > > > > >>>>>>>>>>>
> > > > > > >>>>>>>>>>> Willem.
> > > > > > >>>>>>>>>>>
> > > > > > >>>>>>>>>>> Christopher Cheng wrote:
> > > > > > >>>>>>>>>>>> When I call the service as a client, it takes 5
> > > > > > >>>>>>>>>>>> seconds to load.
> > > > > > >>>>>>
> > > > > > >>>>>> I am
> > > > > > >>>>>>
> > > > > > >>>>>>>>>>>> not
> > > > > > >>>>>>>>>>>> sure whether it takes 5 seconds to create the
> > > > > > >>>>>>>>>>>> service or it takes
> > > > > > >>>>>>
> > > > > > >>>>>> 5
> > > > > > >>>>>>
> > > > > > >>>>>>>>>>>> seconds
> > > > > > >>>>>>>>>>>> to look up for ciper filters. I am wondering if the
> > > > > > >>>>>>>>>>>> services are cached...
> > > > > > >>>>>>>>>>>>  Feb 29, 2008 2:14:42 PM
> > > > > > >>>>>>>>>>>> org.apache.cxf.service.factory.ReflectionServiceFac
> > > > > > >>>>>>>>>>>>tory Bean buildServiceFromWSDL
> > > > > > >>>>>>>>>>>> INFO: Creating Service
> > > > > > >>>>>>>>>>>> {https://webservices.sabre.com/websvc}OTA_HotelAvai<https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> <https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> > > > > > >>>>>>>>>>>>lSer<https://webservices.sabre.com/websvc%7DOTA_Hote
> > > > > > >>>>>>>>>>>>lAvailSer>
> > > > > > >>>>>>>>>>>> vice<https://webservices.sabre.com/websvc%7DOTA_Hot
> > > > > > >>>>>>>>>>>>elAva ilService>
> > > > > > >>>>>>>>>>>> <https://webservices.sabre.com/websvc%7DOTA_HotelAv
> > > > > > >>>>>>>>>>>>ailS ervic e>
> > > > > > >>>>>>
> > > > > > >>>>>> <https://webservices.sabre.com/websvc%7DOTA_HotelAvailSer
> > > > > > >>>>>>vice> from
> > > > > > >>>
> > > > > > >>> WSDL:
> > > > > > >>>>>>>>>>>> file:/C:/Java/abacus-webconnect-1.14.0.rc1
> > > > > > >>>>>>>>
> > > > > > >>>>>>>> /wsdl/OTA_HotelAvailLLS1.4.1RQ.wsdl
> > > > > > >>>>>>>>
> > > > > > >>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
> > > > > > >>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils
> > > > > > >>>>>>>>>>>> getCiphersuites INFO: The cipher suites have not
> > > > > > >>>>>>>>>>>> been configured, falling back to
> > > > > > >>>>>>>>
> > > > > > >>>>>>>> cipher
> > > > > > >>>>>>>>
> > > > > > >>>>>>>>>>>> suite filters.
> > > > > > >>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
> > > > > > >>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils
> > > > > > >>>>>>>>>>>> getCiphersFromList INFO: The cipher suites have
> > > > > > >>>>>>>>>>>> been set to
> > > > > > >>>>>>
> > > > > > >>>>>> SSL_RSA_WITH_RC4_128_MD5,
> > > > > > >>>>>>
> > > > > > >>>>>>>>>>>> SSL_RSA_WITH_RC4_128_SHA, SSL_RSA_WITH_DES_CBC_SHA,
> > > > > > >>>>>>>>>>>> SSL_DHE_RSA_WITH_DES_CBC_SHA,
> > > > > > >>>>>>>>>>>> SSL_DHE_DSS_WITH_DES_CBC_SHA,
> > > > > > >>>>>>>>>>>> SSL_RSA_EXPORT_WITH_RC4_40_MD5,
> > > > > > >>>>>>
> > > > > > >>>>>> SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > >>>>>>
> > > > > > >>>>>>>>>>>> SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > >>>>>>>>>>>> SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > >>>>>>>>>>>> SSL_RSA_WITH_NULL_MD5, SSL_RSA_WITH_NULL_SHA,
> > > > > > >>>>>>>>>>>> SSL_DH_anon_WITH_RC4_128_MD5,
> > > > > > >>>>>>>>>>>> TLS_DH_anon_WITH_AES_128_CBC_SHA,
> > > > > > >>>>>>
> > > > > > >>>>>> SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,
> > > > > > >>>>>>
> > > > > > >>>>>>>>>>>> SSL_DH_anon_WITH_DES_CBC_SHA,
> > > > > > >>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,
> > > > > > >>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > >>>>>>>>>>>> TLS_KRB5_WITH_DES_CBC_SHA,
> > > > > > >>>>>>>>>>>> TLS_KRB5_WITH_DES_CBC_MD5,
> > > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
> > > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
> > > > > > >>>>>>
> > > > > > >>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
> > > > > > >>>>>>
> > > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5.  Feb 29, 2008
> > > > > > >>>>>>>>>>>> 2:14:48 PM
> > > > > > >>>>>>
> > > > > > >>>>>> org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingC
> > > > > > >>>>>>allba ckon Close
> > > > > > >>>>>>
> > > > > > >>>>>>>>>>>>  I have put this in my cxf.xml as in
> > > > > > >>>>>>>>>>>> http://cwiki.apache.org/CXF20DOC/client-http-transp
> > > > > > >>>>>>>>>>>>ort. html , but
> > > > > > >>>>>>
> > > > > > >>>>>> it
> > > > > > >>>>>>
> > > > > > >>>>>>>>>>>> doesn't
> > > > > > >>>>>>>>>>>> help... <http:conduit name="*.http-conduit">
> > > > > > >>>>>>>>>>>>             <http:tlsClientParameters
> > > > > > >>>>>>>>>>>> secureSocketProtocol="SSL">
> > > > > > >>>>>>>>>>>> <sec:cipherSuitesFilter> <!-- these filters ensure
> > > > > > >>>>>>>>>>>> that a ciphersuite with export-suitable or null
> > > > > > >>>>>>>>>>>> encryption is used, but exclude anonymous
> > > > > > >>>>>>>>>>>> Diffie-Hellman key change
> > > > > > >>>>>>
> > > > > > >>>>>> as
> > > > > > >>>>>>
> > > > > > >>>>>>>>>>>>                 this is vulnerable to
> > > > > > >>>>>>>>>>>> man-in-the-middle attacks
> > > > > > >>>>>>
> > > > > > >>>>>> -->
> > > > > > >>>>>>
> > > > > > >>>>>>>>>>>>
> > > > > > >>>>>>>>>>>> <sec:include>.*_EXPORT_.*</sec:include>
> > > > > > >>>>>>>>>>>>
> > > > > > >>>>>>>>>>>> <sec:include>.*_EXPORT1024_.*</sec:include>
> > > > > > >>>>>>>>>>>> <sec:include>.*_WITH_DES_.*</sec:include>
> > > > > > >>>>>>>>>>>> <sec:include>.*_WITH_NULL_.*</sec:include>
> > > > > > >>>>>>>>>>>> <sec:exclude>.*_DH_anon_.*</sec:exclude>
> > > > > > >>>>>>>>>>>> </sec:cipherSuitesFilter>
> > > > > > >>>>>>>>>>>>         </http:tlsClientParameters>
> > > > > > >>>>>>>>>>>> </http:conduit>
> > > > > > >>>>>>>>>>
> > > > > > >>>>>>>>>>  http://www.nabble.com/file/p15773252/cxf.log cxf.log
> > > > > > >>>
> > > > > > >>> --
> > > > > > >>> J. Daniel Kulp
> > > > > > >>> Principal Engineer, IONA
> > > > > > >>> dkulp@apache.org
> > > > > > >>> http://www.dankulp.com/blog
> > > > >
> > > > > --
> > > > > J. Daniel Kulp
> > > > > Principal Engineer, IONA
> > > > > dkulp@apache.org
> > > > > http://www.dankulp.com/blog
> >
> >
> >
> > --
> > J. Daniel Kulp
> > Principal Engineer, IONA
> > dkulp@apache.org
> > http://www.dankulp.com/blog
> >
>

Re: service caching

Posted by Christopher Cheng <ch...@gmail.com>.
I just tried to rerun it with the snapshot 2.0.5. It is running about 20%
faster, but it still takes 3 seconds to build services.
I hope that the service caching will be available soon so I can migrate the
current axis-1.2 application to cxf

On Thu, Mar 20, 2008 at 7:33 PM, Daniel Kulp <dk...@apache.org> wrote:

> On Thursday 20 March 2008, Christopher Cheng wrote:
> > Looks like 2.0.5 is going to release soon, is this service caching in
> > 2.0.5?
>
> Yea.   The stuff that Benson has done is being ported to 2.0.x.
>
> That said, it's not the full service caching.   It's basically a bunch of
> incremental improvements to the current algorithms, but it's definitely
> a big improvement.
>
> Dan
>
>
> >
> > On Wed, Mar 5, 2008 at 11:50 AM, Christopher Cheng <
> >
> > christopher.sw.cheng@gmail.com> wrote:
> > > Looking forward to have this in the next release 2.0.5 or 2.1 :)
> > >
> > > On Tue, Mar 4, 2008 at 11:55 PM, Daniel Kulp <dk...@apache.org>
> wrote:
> > > > Willem,
> > > >
> > > > The issue is that they CAN be modified after that.   One popular
> > > > modification is to grab the EndpointInfo out of it and change the
> > > > address.   Other things like adding interceptors to the
> > > > BindingInfo, changing properties on the service (like to enable
> > > > schema validation), etc... are all modifications that affect the
> > > > servicemodel.
> > > >
> > > > Databinding is "less" of an issue, but still one.   For example,
> > > > the databinding has an "mtomThreshold" and a namespaceMap that can
> > > > be set programatically.
> > > >
> > > > In both of those cases, a modification should only affect the
> > > > proxy on which the modification is made.   Thus, the servicemodel
> > > > would need a full "clone", which may not be easy to do.   It's
> > > > certainly a lot more code to add.
> > > >
> > > > That said, I don't think it's a bad idea at all.  On the contrary,
> > > > it's a
> > > > good idea.   It's just a bit of work.
> > > >
> > > > Dan
> > > >
> > > > On Tuesday 04 March 2008, Willem Jiang wrote:
> > > > > Hi Dan,
> > > > >
> > > > > I think we could cache the ServiceInfo object and DataBinding
> > > > > object which will take lots of time to be created and can't be
> > > > > modified after that. Any thought?
> > > > >
> > > > > Willem
> > > > >
> > > > > Daniel Kulp wrote:
> > > > > > On Tuesday 04 March 2008, Christopher Cheng wrote:
> > > > > >> I haven't read the codes of Axis, but I have been using it
> > > > > >> for 2 years and it doesn't have this problem.
> > > > > >> Having an overhead for 5-8 seconds is not an option for a
> > > > > >> production system in term of performance
> > > > > >>
> > > > > >> What you are saying is that all the services must implement
> > > > > >> Clonable interface?
> > > > > >
> > > > > > No, not the services themselves.   Just our interal service
> > > > > > model stuff that holds all the metadata.  Basically, when
> > > > > > creating a new service, we need to calculate the metadata.
> > > > > > We should cache that if possible.
> > > > > >
> > > > > > Dan
> > > > > >
> > > > > >> On Tue, Mar 4, 2008 at 4:48 AM, Daniel Kulp
> > > > > >> <dk...@apache.org>
> > > >
> > > > wrote:
> > > > > >>> Christopher,
> > > > > >>>
> > > > > >>> We cannot just "reuse" the Service model objects as they are
> > > > > >>> completely modifiable at runtime. For example, one proxy
> > > > > >>> could be reconfigured with new address or have additional
> > > > > >>> interceptors added or similar.  Those shouldn't affect
> > > > > >>> others.
> > > > > >>>
> > > > > >>> On option that propably would make sense is to add a fast
> > > > > >>> "clone" functionality to the entire service model so we
> > > > > >>> could cache one, and then clone it whenever one is really
> > > > > >>> needed.   All the individual versions could be modified and
> > > > > >>> not affect the original. However, doing that would be quite
> > > > > >>> a bit of work as there are a LOT of classes that would need
> > > > > >>> to be updated to support that.
> > > > > >>>
> > > > > >>> Patches towards that end would be great.   :-)
> > > > > >>>
> > > > > >>> Dan
> > > > > >>>
> > > > > >>> On Monday 03 March 2008, Christopher Cheng wrote:
> > > > > >>>> wsdl is indeed cached in WSDLManagerImpl.definitionsMap
> > > > > >>>>
> > > > > >>>> After reading the codes, I have some questions. My
> > > > > >>>> workstation is a PentiumD 3GHz with 1.5GB RAM
> > > > > >>>>
> > > > > >>>> In the class
> > > > > >>>> "org.apache.cxf.service.factory.ReflectionServiceFactoryBea
> > > > > >>>>n.buil d Serv iceFromWSDL(String url)",
> > > > > >>>> "setService(factory.create());" takes 3 seconds
> > > > > >>>> "getDataBinding().initialize(getService());" takes 2
> > > > > >>>> seconds
> > > > > >>>>
> > > > > >>>> These 2 methods are called even in 2nd calls. Can you also
> > > > > >>>> cache the services perhaps using jakarta commons-pool? or
> > > > > >>>> eh-cache?
> > > > > >>>>
> > > > > >>>> By the way, I found that the wsdl is put into the
> > > > > >>>> definitionMap twice if " WSDLManagerImpl.getDefinition(URL
> > > > > >>>> url)" is called. First in "getDefintion(URL url)" at line
> > > > > >>>> 147 and second in "loadDefinition(String url)" at line 201.
> > > > > >>>>
> > > > > >>>>
> > > > > >>>> On Mon, Mar 3, 2008 at 4:22 PM, Christopher Cheng <
> > > > > >>>>
> > > > > >>>> christopher.sw.cheng@gmail.com> wrote:
> > > > > >>>>> wsdl is indeed cached in WSDLManagerImpl.definitionsMap
> > > > > >>>>>
> > > > > >>>>> After reading the codes, I have some questions. My
> > > > > >>>>> workstation is a PentiumD 3GHz with 1.5GB RAM
> > > > > >>>>>
> > > > > >>>>> In the class "
> > > > > >>>>> org.apache.cxf.service.factory.ReflectionServiceFactoryBea
> > > > > >>>>>n.buil dSer viceFromWSDL(String url)",
> > > > > >>>>> "setService(factory.create());" takes 3 seconds
> > > > > >>>>> "getDataBinding().initialize(getService());" takes 2
> > > > > >>>>> seconds
> > > > > >>>>>
> > > > > >>>>> These 2 methods are called even in 2nd calls. Can you also
> > > > > >>>>> cache the services perhaps using jakarta commons-pool? or
> > > > > >>>>> eh-cache?
> > > > > >>>>>
> > > > > >>>>> By the way, I found that the wsdl is put into the
> > > > > >>>>> definitionMap twice if " WSDLManagerImpl.getDefinition(URL
> > > > > >>>>> url)" is called. First in "getDefintion(URL url)" at line
> > > > > >>>>> 147 and second in "loadDefinition(String url)" at line
> > > > > >>>>> 201.
> > > > > >>>>>
> > > > > >>>>>
> > > > > >>>>>
> > > > > >>>>> On Mon, Mar 3, 2008 at 9:43 AM, Willem Jiang
> > > > > >>>>> <wi...@gmail.com>
> > > > > >>>>>
> > > > > >>>>> wrote:
> > > > > >>>>>> Hi,
> > > > > >>>>>>
> > > > > >>>>>> I just went through the code, we really cache the WSDL
> > > > > >>>>>> definition in CXF.
> > > > > >>>>>> Could you send your test case and wsdl file to me ? I may
> > > > > >>>>>> need to trace it for more information.
> > > > > >>>>>>
> > > > > >>>>>> Regards,
> > > > > >>>>>>
> > > > > >>>>>> Willem
> > > > > >>>>>>
> > > > > >>>>>> Christopher Cheng wrote:
> > > > > >>>>>>> I think the issue is still there. I used a for loop to
> > > > > >>>>>>> execute the
> > > > > >>>>>>
> > > > > >>>>>> same
> > > > > >>>>>>
> > > > > >>>>>>> call, all takes approximately the same time to create
> > > > > >>>>>>> service. I guess
> > > > > >>>>>>
> > > > > >>>>>> that
> > > > > >>>>>>
> > > > > >>>>>>> the service itself is not cached.
> > > > > >>>>>>>
> > > > > >>>>>>> On Sun, Mar 2, 2008 at 11:43 AM, Willem Jiang
> > > > > >>>>>>> <wi...@gmail.com>
> > > > > >>>>>>>
> > > > > >>>>>>> wrote:
> > > > > >>>>>>>> Here is the JIRA[1] which describe the same thing that
> > > > > >>>>>>>> you want. I don't know if it was really resolved, could
> > > > > >>>>>>>> you try the latest released CXF 2.0.4 for it.
> > > > > >>>>>>>>
> > > > > >>>>>>>> If the issue is still there, please let me know , I
> > > > > >>>>>>>> will put it to my next week todo list.
> > > > > >>>>>>>>
> > > > > >>>>>>>> [1]https://issues.apache.org/jira/browse/CXF-699
> > > > > >>>>>>>> [2]http://cwiki.apache.org/CXF/download.html
> > > > > >>>>>>>>
> > > > > >>>>>>>> Willem.
> > > > > >>>>>>>>
> > > > > >>>>>>>> Christopher Cheng wrote:
> > > > > >>>>>>>>> I am migrating from Axis1.2 to CXF 2.0.3
> > > > > >>>>>>>>>
> > > > > >>>>>>>>> I understand that it will take a long time to build
> > > > > >>>>>>>>> for the first
> > > > > >>>>>>
> > > > > >>>>>> time.
> > > > > >>>>>>
> > > > > >>>>>>>> What
> > > > > >>>>>>>>
> > > > > >>>>>>>>> I am wondering is that why it takes so long for the
> > > > > >>>>>>>>> second and third
> > > > > >>>>>>>>
> > > > > >>>>>>>> time?
> > > > > >>>>>>>>
> > > > > >>>>>>>>> Is there any caching of services? Axis does not seem
> > > > > >>>>>>>>> to have this
> > > > > >>>>>>
> > > > > >>>>>> issue.
> > > > > >>>>>>
> > > > > >>>>>>>>> Christopher Cheng wrote:
> > > > > >>>>>>>>>> Attached is the log
> > > > > >>>>>>>>>>
> > > > > >>>>>>>>>> ----- Original Message -----
> > > > > >>>>>>>>>> From: "Willem Jiang" <wi...@gmail.com>
> > > > > >>>>>>>>>> To: <cx...@incubator.apache.org>
> > > > > >>>>>>>>>> Sent: Saturday, March 01, 2008 8:53 PM
> > > > > >>>>>>>>>> Subject: Re: service caching?
> > > > > >>>>>>>>>>
> > > > > >>>>>>>>>>> Hi
> > > > > >>>>>>>>>>>
> > > > > >>>>>>>>>>> Could you set the logger level to FINE ?
> > > > > >>>>>>>>>>> So we can get more information about the service
> > > > > >>>>>>>>>>> publishing.
> > > > > >>>>>>>>>>>
> > > > > >>>>>>>>>>> Willem.
> > > > > >>>>>>>>>>>
> > > > > >>>>>>>>>>> Christopher Cheng wrote:
> > > > > >>>>>>>>>>>> When I call the service as a client, it takes 5
> > > > > >>>>>>>>>>>> seconds to load.
> > > > > >>>>>>
> > > > > >>>>>> I am
> > > > > >>>>>>
> > > > > >>>>>>>>>>>> not
> > > > > >>>>>>>>>>>> sure whether it takes 5 seconds to create the
> > > > > >>>>>>>>>>>> service or it takes
> > > > > >>>>>>
> > > > > >>>>>> 5
> > > > > >>>>>>
> > > > > >>>>>>>>>>>> seconds
> > > > > >>>>>>>>>>>> to look up for ciper filters. I am wondering if the
> > > > > >>>>>>>>>>>> services are cached...
> > > > > >>>>>>>>>>>>  Feb 29, 2008 2:14:42 PM
> > > > > >>>>>>>>>>>> org.apache.cxf.service.factory.ReflectionServiceFac
> > > > > >>>>>>>>>>>>tory Bean buildServiceFromWSDL
> > > > > >>>>>>>>>>>> INFO: Creating Service
> > > > > >>>>>>>>>>>> {https://webservices.sabre.com/websvc}OTA_HotelAvai<https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> > > > > >>>>>>>>>>>>lSer<https://webservices.sabre.com/websvc%7DOTA_Hote
> > > > > >>>>>>>>>>>>lAvailSer>
> > > > > >>>>>>>>>>>> vice<https://webservices.sabre.com/websvc%7DOTA_Hot
> > > > > >>>>>>>>>>>>elAva ilService>
> > > > > >>>>>>>>>>>> <https://webservices.sabre.com/websvc%7DOTA_HotelAv
> > > > > >>>>>>>>>>>>ailS ervic e>
> > > > > >>>>>>
> > > > > >>>>>> <https://webservices.sabre.com/websvc%7DOTA_HotelAvailSer
> > > > > >>>>>>vice> from
> > > > > >>>
> > > > > >>> WSDL:
> > > > > >>>>>>>>>>>> file:/C:/Java/abacus-webconnect-1.14.0.rc1
> > > > > >>>>>>>>
> > > > > >>>>>>>> /wsdl/OTA_HotelAvailLLS1.4.1RQ.wsdl
> > > > > >>>>>>>>
> > > > > >>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
> > > > > >>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils
> > > > > >>>>>>>>>>>> getCiphersuites INFO: The cipher suites have not
> > > > > >>>>>>>>>>>> been configured, falling back to
> > > > > >>>>>>>>
> > > > > >>>>>>>> cipher
> > > > > >>>>>>>>
> > > > > >>>>>>>>>>>> suite filters.
> > > > > >>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
> > > > > >>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils
> > > > > >>>>>>>>>>>> getCiphersFromList INFO: The cipher suites have
> > > > > >>>>>>>>>>>> been set to
> > > > > >>>>>>
> > > > > >>>>>> SSL_RSA_WITH_RC4_128_MD5,
> > > > > >>>>>>
> > > > > >>>>>>>>>>>> SSL_RSA_WITH_RC4_128_SHA, SSL_RSA_WITH_DES_CBC_SHA,
> > > > > >>>>>>>>>>>> SSL_DHE_RSA_WITH_DES_CBC_SHA,
> > > > > >>>>>>>>>>>> SSL_DHE_DSS_WITH_DES_CBC_SHA,
> > > > > >>>>>>>>>>>> SSL_RSA_EXPORT_WITH_RC4_40_MD5,
> > > > > >>>>>>
> > > > > >>>>>> SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > > > >>>>>>
> > > > > >>>>>>>>>>>> SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > > > >>>>>>>>>>>> SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,
> > > > > >>>>>>>>>>>> SSL_RSA_WITH_NULL_MD5, SSL_RSA_WITH_NULL_SHA,
> > > > > >>>>>>>>>>>> SSL_DH_anon_WITH_RC4_128_MD5,
> > > > > >>>>>>>>>>>> TLS_DH_anon_WITH_AES_128_CBC_SHA,
> > > > > >>>>>>
> > > > > >>>>>> SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,
> > > > > >>>>>>
> > > > > >>>>>>>>>>>> SSL_DH_anon_WITH_DES_CBC_SHA,
> > > > > >>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,
> > > > > >>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA,
> > > > > >>>>>>>>>>>> TLS_KRB5_WITH_DES_CBC_SHA,
> > > > > >>>>>>>>>>>> TLS_KRB5_WITH_DES_CBC_MD5,
> > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
> > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
> > > > > >>>>>>
> > > > > >>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
> > > > > >>>>>>
> > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5.  Feb 29, 2008
> > > > > >>>>>>>>>>>> 2:14:48 PM
> > > > > >>>>>>
> > > > > >>>>>> org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingC
> > > > > >>>>>>allba ckon Close
> > > > > >>>>>>
> > > > > >>>>>>>>>>>>  I have put this in my cxf.xml as in
> > > > > >>>>>>>>>>>> http://cwiki.apache.org/CXF20DOC/client-http-transp
> > > > > >>>>>>>>>>>>ort. html , but
> > > > > >>>>>>
> > > > > >>>>>> it
> > > > > >>>>>>
> > > > > >>>>>>>>>>>> doesn't
> > > > > >>>>>>>>>>>> help... <http:conduit name="*.http-conduit">
> > > > > >>>>>>>>>>>>             <http:tlsClientParameters
> > > > > >>>>>>>>>>>> secureSocketProtocol="SSL">
> > > > > >>>>>>>>>>>> <sec:cipherSuitesFilter> <!-- these filters ensure
> > > > > >>>>>>>>>>>> that a ciphersuite with export-suitable or null
> > > > > >>>>>>>>>>>> encryption is used, but exclude anonymous
> > > > > >>>>>>>>>>>> Diffie-Hellman key change
> > > > > >>>>>>
> > > > > >>>>>> as
> > > > > >>>>>>
> > > > > >>>>>>>>>>>>                 this is vulnerable to
> > > > > >>>>>>>>>>>> man-in-the-middle attacks
> > > > > >>>>>>
> > > > > >>>>>> -->
> > > > > >>>>>>
> > > > > >>>>>>>>>>>>
> > > > > >>>>>>>>>>>> <sec:include>.*_EXPORT_.*</sec:include>
> > > > > >>>>>>>>>>>>
> > > > > >>>>>>>>>>>> <sec:include>.*_EXPORT1024_.*</sec:include>
> > > > > >>>>>>>>>>>> <sec:include>.*_WITH_DES_.*</sec:include>
> > > > > >>>>>>>>>>>> <sec:include>.*_WITH_NULL_.*</sec:include>
> > > > > >>>>>>>>>>>> <sec:exclude>.*_DH_anon_.*</sec:exclude>
> > > > > >>>>>>>>>>>> </sec:cipherSuitesFilter>
> > > > > >>>>>>>>>>>>         </http:tlsClientParameters>
> > > > > >>>>>>>>>>>> </http:conduit>
> > > > > >>>>>>>>>>
> > > > > >>>>>>>>>>  http://www.nabble.com/file/p15773252/cxf.log cxf.log
> > > > > >>>
> > > > > >>> --
> > > > > >>> J. Daniel Kulp
> > > > > >>> Principal Engineer, IONA
> > > > > >>> dkulp@apache.org
> > > > > >>> http://www.dankulp.com/blog
> > > >
> > > > --
> > > > J. Daniel Kulp
> > > > Principal Engineer, IONA
> > > > dkulp@apache.org
> > > > http://www.dankulp.com/blog
>
>
>
> --
> J. Daniel Kulp
> Principal Engineer, IONA
> dkulp@apache.org
> http://www.dankulp.com/blog
>

Re: service caching

Posted by Daniel Kulp <dk...@apache.org>.
On Thursday 20 March 2008, Christopher Cheng wrote:
> Looks like 2.0.5 is going to release soon, is this service caching in
> 2.0.5?

Yea.   The stuff that Benson has done is being ported to 2.0.x.  

That said, it's not the full service caching.   It's basically a bunch of 
incremental improvements to the current algorithms, but it's definitely 
a big improvement.

Dan


>
> On Wed, Mar 5, 2008 at 11:50 AM, Christopher Cheng <
>
> christopher.sw.cheng@gmail.com> wrote:
> > Looking forward to have this in the next release 2.0.5 or 2.1 :)
> >
> > On Tue, Mar 4, 2008 at 11:55 PM, Daniel Kulp <dk...@apache.org> 
wrote:
> > > Willem,
> > >
> > > The issue is that they CAN be modified after that.   One popular
> > > modification is to grab the EndpointInfo out of it and change the
> > > address.   Other things like adding interceptors to the
> > > BindingInfo, changing properties on the service (like to enable
> > > schema validation), etc... are all modifications that affect the
> > > servicemodel.
> > >
> > > Databinding is "less" of an issue, but still one.   For example,
> > > the databinding has an "mtomThreshold" and a namespaceMap that can
> > > be set programatically.
> > >
> > > In both of those cases, a modification should only affect the
> > > proxy on which the modification is made.   Thus, the servicemodel
> > > would need a full "clone", which may not be easy to do.   It's
> > > certainly a lot more code to add.
> > >
> > > That said, I don't think it's a bad idea at all.  On the contrary,
> > > it's a
> > > good idea.   It's just a bit of work.
> > >
> > > Dan
> > >
> > > On Tuesday 04 March 2008, Willem Jiang wrote:
> > > > Hi Dan,
> > > >
> > > > I think we could cache the ServiceInfo object and DataBinding
> > > > object which will take lots of time to be created and can't be
> > > > modified after that. Any thought?
> > > >
> > > > Willem
> > > >
> > > > Daniel Kulp wrote:
> > > > > On Tuesday 04 March 2008, Christopher Cheng wrote:
> > > > >> I haven't read the codes of Axis, but I have been using it
> > > > >> for 2 years and it doesn't have this problem.
> > > > >> Having an overhead for 5-8 seconds is not an option for a
> > > > >> production system in term of performance
> > > > >>
> > > > >> What you are saying is that all the services must implement
> > > > >> Clonable interface?
> > > > >
> > > > > No, not the services themselves.   Just our interal service
> > > > > model stuff that holds all the metadata.  Basically, when
> > > > > creating a new service, we need to calculate the metadata.  
> > > > > We should cache that if possible.
> > > > >
> > > > > Dan
> > > > >
> > > > >> On Tue, Mar 4, 2008 at 4:48 AM, Daniel Kulp
> > > > >> <dk...@apache.org>
> > >
> > > wrote:
> > > > >>> Christopher,
> > > > >>>
> > > > >>> We cannot just "reuse" the Service model objects as they are
> > > > >>> completely modifiable at runtime. For example, one proxy
> > > > >>> could be reconfigured with new address or have additional
> > > > >>> interceptors added or similar.  Those shouldn't affect
> > > > >>> others.
> > > > >>>
> > > > >>> On option that propably would make sense is to add a fast
> > > > >>> "clone" functionality to the entire service model so we
> > > > >>> could cache one, and then clone it whenever one is really
> > > > >>> needed.   All the individual versions could be modified and
> > > > >>> not affect the original. However, doing that would be quite
> > > > >>> a bit of work as there are a LOT of classes that would need
> > > > >>> to be updated to support that.
> > > > >>>
> > > > >>> Patches towards that end would be great.   :-)
> > > > >>>
> > > > >>> Dan
> > > > >>>
> > > > >>> On Monday 03 March 2008, Christopher Cheng wrote:
> > > > >>>> wsdl is indeed cached in WSDLManagerImpl.definitionsMap
> > > > >>>>
> > > > >>>> After reading the codes, I have some questions. My
> > > > >>>> workstation is a PentiumD 3GHz with 1.5GB RAM
> > > > >>>>
> > > > >>>> In the class
> > > > >>>> "org.apache.cxf.service.factory.ReflectionServiceFactoryBea
> > > > >>>>n.buil d Serv iceFromWSDL(String url)",
> > > > >>>> "setService(factory.create());" takes 3 seconds
> > > > >>>> "getDataBinding().initialize(getService());" takes 2
> > > > >>>> seconds
> > > > >>>>
> > > > >>>> These 2 methods are called even in 2nd calls. Can you also
> > > > >>>> cache the services perhaps using jakarta commons-pool? or
> > > > >>>> eh-cache?
> > > > >>>>
> > > > >>>> By the way, I found that the wsdl is put into the
> > > > >>>> definitionMap twice if " WSDLManagerImpl.getDefinition(URL
> > > > >>>> url)" is called. First in "getDefintion(URL url)" at line
> > > > >>>> 147 and second in "loadDefinition(String url)" at line 201.
> > > > >>>>
> > > > >>>>
> > > > >>>> On Mon, Mar 3, 2008 at 4:22 PM, Christopher Cheng <
> > > > >>>>
> > > > >>>> christopher.sw.cheng@gmail.com> wrote:
> > > > >>>>> wsdl is indeed cached in WSDLManagerImpl.definitionsMap
> > > > >>>>>
> > > > >>>>> After reading the codes, I have some questions. My
> > > > >>>>> workstation is a PentiumD 3GHz with 1.5GB RAM
> > > > >>>>>
> > > > >>>>> In the class "
> > > > >>>>> org.apache.cxf.service.factory.ReflectionServiceFactoryBea
> > > > >>>>>n.buil dSer viceFromWSDL(String url)",
> > > > >>>>> "setService(factory.create());" takes 3 seconds
> > > > >>>>> "getDataBinding().initialize(getService());" takes 2
> > > > >>>>> seconds
> > > > >>>>>
> > > > >>>>> These 2 methods are called even in 2nd calls. Can you also
> > > > >>>>> cache the services perhaps using jakarta commons-pool? or
> > > > >>>>> eh-cache?
> > > > >>>>>
> > > > >>>>> By the way, I found that the wsdl is put into the
> > > > >>>>> definitionMap twice if " WSDLManagerImpl.getDefinition(URL
> > > > >>>>> url)" is called. First in "getDefintion(URL url)" at line
> > > > >>>>> 147 and second in "loadDefinition(String url)" at line
> > > > >>>>> 201.
> > > > >>>>>
> > > > >>>>>
> > > > >>>>>
> > > > >>>>> On Mon, Mar 3, 2008 at 9:43 AM, Willem Jiang
> > > > >>>>> <wi...@gmail.com>
> > > > >>>>>
> > > > >>>>> wrote:
> > > > >>>>>> Hi,
> > > > >>>>>>
> > > > >>>>>> I just went through the code, we really cache the WSDL
> > > > >>>>>> definition in CXF.
> > > > >>>>>> Could you send your test case and wsdl file to me ? I may
> > > > >>>>>> need to trace it for more information.
> > > > >>>>>>
> > > > >>>>>> Regards,
> > > > >>>>>>
> > > > >>>>>> Willem
> > > > >>>>>>
> > > > >>>>>> Christopher Cheng wrote:
> > > > >>>>>>> I think the issue is still there. I used a for loop to
> > > > >>>>>>> execute the
> > > > >>>>>>
> > > > >>>>>> same
> > > > >>>>>>
> > > > >>>>>>> call, all takes approximately the same time to create
> > > > >>>>>>> service. I guess
> > > > >>>>>>
> > > > >>>>>> that
> > > > >>>>>>
> > > > >>>>>>> the service itself is not cached.
> > > > >>>>>>>
> > > > >>>>>>> On Sun, Mar 2, 2008 at 11:43 AM, Willem Jiang
> > > > >>>>>>> <wi...@gmail.com>
> > > > >>>>>>>
> > > > >>>>>>> wrote:
> > > > >>>>>>>> Here is the JIRA[1] which describe the same thing that
> > > > >>>>>>>> you want. I don't know if it was really resolved, could
> > > > >>>>>>>> you try the latest released CXF 2.0.4 for it.
> > > > >>>>>>>>
> > > > >>>>>>>> If the issue is still there, please let me know , I
> > > > >>>>>>>> will put it to my next week todo list.
> > > > >>>>>>>>
> > > > >>>>>>>> [1]https://issues.apache.org/jira/browse/CXF-699
> > > > >>>>>>>> [2]http://cwiki.apache.org/CXF/download.html
> > > > >>>>>>>>
> > > > >>>>>>>> Willem.
> > > > >>>>>>>>
> > > > >>>>>>>> Christopher Cheng wrote:
> > > > >>>>>>>>> I am migrating from Axis1.2 to CXF 2.0.3
> > > > >>>>>>>>>
> > > > >>>>>>>>> I understand that it will take a long time to build
> > > > >>>>>>>>> for the first
> > > > >>>>>>
> > > > >>>>>> time.
> > > > >>>>>>
> > > > >>>>>>>> What
> > > > >>>>>>>>
> > > > >>>>>>>>> I am wondering is that why it takes so long for the
> > > > >>>>>>>>> second and third
> > > > >>>>>>>>
> > > > >>>>>>>> time?
> > > > >>>>>>>>
> > > > >>>>>>>>> Is there any caching of services? Axis does not seem
> > > > >>>>>>>>> to have this
> > > > >>>>>>
> > > > >>>>>> issue.
> > > > >>>>>>
> > > > >>>>>>>>> Christopher Cheng wrote:
> > > > >>>>>>>>>> Attached is the log
> > > > >>>>>>>>>>
> > > > >>>>>>>>>> ----- Original Message -----
> > > > >>>>>>>>>> From: "Willem Jiang" <wi...@gmail.com>
> > > > >>>>>>>>>> To: <cx...@incubator.apache.org>
> > > > >>>>>>>>>> Sent: Saturday, March 01, 2008 8:53 PM
> > > > >>>>>>>>>> Subject: Re: service caching?
> > > > >>>>>>>>>>
> > > > >>>>>>>>>>> Hi
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>> Could you set the logger level to FINE ?
> > > > >>>>>>>>>>> So we can get more information about the service
> > > > >>>>>>>>>>> publishing.
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>> Willem.
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>> Christopher Cheng wrote:
> > > > >>>>>>>>>>>> When I call the service as a client, it takes 5
> > > > >>>>>>>>>>>> seconds to load.
> > > > >>>>>>
> > > > >>>>>> I am
> > > > >>>>>>
> > > > >>>>>>>>>>>> not
> > > > >>>>>>>>>>>> sure whether it takes 5 seconds to create the
> > > > >>>>>>>>>>>> service or it takes
> > > > >>>>>>
> > > > >>>>>> 5
> > > > >>>>>>
> > > > >>>>>>>>>>>> seconds
> > > > >>>>>>>>>>>> to look up for ciper filters. I am wondering if the
> > > > >>>>>>>>>>>> services are cached...
> > > > >>>>>>>>>>>>  Feb 29, 2008 2:14:42 PM
> > > > >>>>>>>>>>>> org.apache.cxf.service.factory.ReflectionServiceFac
> > > > >>>>>>>>>>>>tory Bean buildServiceFromWSDL
> > > > >>>>>>>>>>>> INFO: Creating Service
> > > > >>>>>>>>>>>> {https://webservices.sabre.com/websvc}OTA_HotelAvai
> > > > >>>>>>>>>>>>lSer<https://webservices.sabre.com/websvc%7DOTA_Hote
> > > > >>>>>>>>>>>>lAvailSer>
> > > > >>>>>>>>>>>> vice<https://webservices.sabre.com/websvc%7DOTA_Hot
> > > > >>>>>>>>>>>>elAva ilService>
> > > > >>>>>>>>>>>> <https://webservices.sabre.com/websvc%7DOTA_HotelAv
> > > > >>>>>>>>>>>>ailS ervic e>
> > > > >>>>>>
> > > > >>>>>> <https://webservices.sabre.com/websvc%7DOTA_HotelAvailSer
> > > > >>>>>>vice> from
> > > > >>>
> > > > >>> WSDL:
> > > > >>>>>>>>>>>> file:/C:/Java/abacus-webconnect-1.14.0.rc1
> > > > >>>>>>>>
> > > > >>>>>>>> /wsdl/OTA_HotelAvailLLS1.4.1RQ.wsdl
> > > > >>>>>>>>
> > > > >>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
> > > > >>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils
> > > > >>>>>>>>>>>> getCiphersuites INFO: The cipher suites have not
> > > > >>>>>>>>>>>> been configured, falling back to
> > > > >>>>>>>>
> > > > >>>>>>>> cipher
> > > > >>>>>>>>
> > > > >>>>>>>>>>>> suite filters.
> > > > >>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
> > > > >>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils
> > > > >>>>>>>>>>>> getCiphersFromList INFO: The cipher suites have
> > > > >>>>>>>>>>>> been set to
> > > > >>>>>>
> > > > >>>>>> SSL_RSA_WITH_RC4_128_MD5,
> > > > >>>>>>
> > > > >>>>>>>>>>>> SSL_RSA_WITH_RC4_128_SHA, SSL_RSA_WITH_DES_CBC_SHA,
> > > > >>>>>>>>>>>> SSL_DHE_RSA_WITH_DES_CBC_SHA,
> > > > >>>>>>>>>>>> SSL_DHE_DSS_WITH_DES_CBC_SHA,
> > > > >>>>>>>>>>>> SSL_RSA_EXPORT_WITH_RC4_40_MD5,
> > > > >>>>>>
> > > > >>>>>> SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > > >>>>>>
> > > > >>>>>>>>>>>> SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > > >>>>>>>>>>>> SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,
> > > > >>>>>>>>>>>> SSL_RSA_WITH_NULL_MD5, SSL_RSA_WITH_NULL_SHA,
> > > > >>>>>>>>>>>> SSL_DH_anon_WITH_RC4_128_MD5,
> > > > >>>>>>>>>>>> TLS_DH_anon_WITH_AES_128_CBC_SHA,
> > > > >>>>>>
> > > > >>>>>> SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,
> > > > >>>>>>
> > > > >>>>>>>>>>>> SSL_DH_anon_WITH_DES_CBC_SHA,
> > > > >>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,
> > > > >>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA,
> > > > >>>>>>>>>>>> TLS_KRB5_WITH_DES_CBC_SHA,
> > > > >>>>>>>>>>>> TLS_KRB5_WITH_DES_CBC_MD5,
> > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
> > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
> > > > >>>>>>
> > > > >>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
> > > > >>>>>>
> > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5.  Feb 29, 2008
> > > > >>>>>>>>>>>> 2:14:48 PM
> > > > >>>>>>
> > > > >>>>>> org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingC
> > > > >>>>>>allba ckon Close
> > > > >>>>>>
> > > > >>>>>>>>>>>>  I have put this in my cxf.xml as in
> > > > >>>>>>>>>>>> http://cwiki.apache.org/CXF20DOC/client-http-transp
> > > > >>>>>>>>>>>>ort. html , but
> > > > >>>>>>
> > > > >>>>>> it
> > > > >>>>>>
> > > > >>>>>>>>>>>> doesn't
> > > > >>>>>>>>>>>> help... <http:conduit name="*.http-conduit">
> > > > >>>>>>>>>>>>             <http:tlsClientParameters
> > > > >>>>>>>>>>>> secureSocketProtocol="SSL">
> > > > >>>>>>>>>>>> <sec:cipherSuitesFilter> <!-- these filters ensure
> > > > >>>>>>>>>>>> that a ciphersuite with export-suitable or null
> > > > >>>>>>>>>>>> encryption is used, but exclude anonymous
> > > > >>>>>>>>>>>> Diffie-Hellman key change
> > > > >>>>>>
> > > > >>>>>> as
> > > > >>>>>>
> > > > >>>>>>>>>>>>                 this is vulnerable to
> > > > >>>>>>>>>>>> man-in-the-middle attacks
> > > > >>>>>>
> > > > >>>>>> -->
> > > > >>>>>>
> > > > >>>>>>>>>>>>                
> > > > >>>>>>>>>>>> <sec:include>.*_EXPORT_.*</sec:include>
> > > > >>>>>>>>>>>>
> > > > >>>>>>>>>>>> <sec:include>.*_EXPORT1024_.*</sec:include>
> > > > >>>>>>>>>>>> <sec:include>.*_WITH_DES_.*</sec:include>
> > > > >>>>>>>>>>>> <sec:include>.*_WITH_NULL_.*</sec:include>
> > > > >>>>>>>>>>>> <sec:exclude>.*_DH_anon_.*</sec:exclude>
> > > > >>>>>>>>>>>> </sec:cipherSuitesFilter>
> > > > >>>>>>>>>>>>         </http:tlsClientParameters>
> > > > >>>>>>>>>>>> </http:conduit>
> > > > >>>>>>>>>>
> > > > >>>>>>>>>>  http://www.nabble.com/file/p15773252/cxf.log cxf.log
> > > > >>>
> > > > >>> --
> > > > >>> J. Daniel Kulp
> > > > >>> Principal Engineer, IONA
> > > > >>> dkulp@apache.org
> > > > >>> http://www.dankulp.com/blog
> > >
> > > --
> > > J. Daniel Kulp
> > > Principal Engineer, IONA
> > > dkulp@apache.org
> > > http://www.dankulp.com/blog



-- 
J. Daniel Kulp
Principal Engineer, IONA
dkulp@apache.org
http://www.dankulp.com/blog

Re: service caching

Posted by Willem Jiang <wi...@gmail.com>.
AFAIK, Benson did some service start up performance turning this month.
Please check out the latest snapshot, there must be some great 
improvement in CXF :)

Willem.

Christopher Cheng wrote:
> Looks like 2.0.5 is going to release soon, is this service caching in 2.0.5?
>
> On Wed, Mar 5, 2008 at 11:50 AM, Christopher Cheng <
> christopher.sw.cheng@gmail.com> wrote:
>
>   
>> Looking forward to have this in the next release 2.0.5 or 2.1 :)
>>
>>
>>
>> On Tue, Mar 4, 2008 at 11:55 PM, Daniel Kulp <dk...@apache.org> wrote:
>>
>>     
>>> Willem,
>>>
>>> The issue is that they CAN be modified after that.   One popular
>>> modification is to grab the EndpointInfo out of it and change the
>>> address.   Other things like adding interceptors to the BindingInfo,
>>> changing properties on the service (like to enable schema validation),
>>> etc... are all modifications that affect the servicemodel.
>>>
>>> Databinding is "less" of an issue, but still one.   For example, the
>>> databinding has an "mtomThreshold" and a namespaceMap that can be set
>>> programatically.
>>>
>>> In both of those cases, a modification should only affect the proxy on
>>> which the modification is made.   Thus, the servicemodel would need a
>>> full "clone", which may not be easy to do.   It's certainly a lot more
>>> code to add.
>>>
>>> That said, I don't think it's a bad idea at all.  On the contrary, it's
>>> a
>>> good idea.   It's just a bit of work.
>>>
>>> Dan
>>>
>>>
>>> On Tuesday 04 March 2008, Willem Jiang wrote:
>>>       
>>>> Hi Dan,
>>>>
>>>> I think we could cache the ServiceInfo object and DataBinding object
>>>> which will take lots of time to be created and can't be modified after
>>>> that. Any thought?
>>>>
>>>> Willem
>>>>
>>>> Daniel Kulp wrote:
>>>>         
>>>>> On Tuesday 04 March 2008, Christopher Cheng wrote:
>>>>>           
>>>>>> I haven't read the codes of Axis, but I have been using it for 2
>>>>>> years and it doesn't have this problem.
>>>>>> Having an overhead for 5-8 seconds is not an option for a
>>>>>> production system in term of performance
>>>>>>
>>>>>> What you are saying is that all the services must implement
>>>>>> Clonable interface?
>>>>>>             
>>>>> No, not the services themselves.   Just our interal service model
>>>>> stuff that holds all the metadata.  Basically, when creating a new
>>>>> service, we need to calculate the metadata.   We should cache that
>>>>> if possible.
>>>>>
>>>>> Dan
>>>>>
>>>>>           
>>>>>> On Tue, Mar 4, 2008 at 4:48 AM, Daniel Kulp <dk...@apache.org>
>>>>>>             
>>> wrote:
>>>       
>>>>>>> Christopher,
>>>>>>>
>>>>>>> We cannot just "reuse" the Service model objects as they are
>>>>>>> completely modifiable at runtime. For example, one proxy could be
>>>>>>> reconfigured with new address or have additional interceptors
>>>>>>> added or similar.  Those shouldn't affect others.
>>>>>>>
>>>>>>> On option that propably would make sense is to add a fast "clone"
>>>>>>> functionality to the entire service model so we could cache one,
>>>>>>> and then clone it whenever one is really needed.   All the
>>>>>>> individual versions could be modified and not affect the original.
>>>>>>>   However, doing that would be quite a bit of work as there are a
>>>>>>> LOT of classes that would need to be updated to support that.
>>>>>>>
>>>>>>> Patches towards that end would be great.   :-)
>>>>>>>
>>>>>>> Dan
>>>>>>>
>>>>>>> On Monday 03 March 2008, Christopher Cheng wrote:
>>>>>>>               
>>>>>>>> wsdl is indeed cached in WSDLManagerImpl.definitionsMap
>>>>>>>>
>>>>>>>> After reading the codes, I have some questions. My workstation is
>>>>>>>> a PentiumD 3GHz with 1.5GB RAM
>>>>>>>>
>>>>>>>> In the class
>>>>>>>> "org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buil
>>>>>>>> d Serv iceFromWSDL(String url)",
>>>>>>>> "setService(factory.create());" takes 3 seconds
>>>>>>>> "getDataBinding().initialize(getService());" takes 2 seconds
>>>>>>>>
>>>>>>>> These 2 methods are called even in 2nd calls. Can you also cache
>>>>>>>> the services perhaps using jakarta commons-pool? or eh-cache?
>>>>>>>>
>>>>>>>> By the way, I found that the wsdl is put into the definitionMap
>>>>>>>> twice if " WSDLManagerImpl.getDefinition(URL url)" is called.
>>>>>>>> First in "getDefintion(URL url)" at line 147 and second in
>>>>>>>> "loadDefinition(String url)" at line 201.
>>>>>>>>
>>>>>>>>
>>>>>>>> On Mon, Mar 3, 2008 at 4:22 PM, Christopher Cheng <
>>>>>>>>
>>>>>>>> christopher.sw.cheng@gmail.com> wrote:
>>>>>>>>                 
>>>>>>>>> wsdl is indeed cached in WSDLManagerImpl.definitionsMap
>>>>>>>>>
>>>>>>>>> After reading the codes, I have some questions. My workstation
>>>>>>>>> is a PentiumD 3GHz with 1.5GB RAM
>>>>>>>>>
>>>>>>>>> In the class "
>>>>>>>>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buil
>>>>>>>>> dSer viceFromWSDL(String url)",
>>>>>>>>> "setService(factory.create());" takes 3 seconds
>>>>>>>>> "getDataBinding().initialize(getService());" takes 2 seconds
>>>>>>>>>
>>>>>>>>> These 2 methods are called even in 2nd calls. Can you also cache
>>>>>>>>> the services perhaps using jakarta commons-pool? or eh-cache?
>>>>>>>>>
>>>>>>>>> By the way, I found that the wsdl is put into the definitionMap
>>>>>>>>> twice if " WSDLManagerImpl.getDefinition(URL url)" is called.
>>>>>>>>> First in "getDefintion(URL url)" at line 147 and second in
>>>>>>>>> "loadDefinition(String url)" at line 201.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Mon, Mar 3, 2008 at 9:43 AM, Willem Jiang
>>>>>>>>> <wi...@gmail.com>
>>>>>>>>>
>>>>>>>>> wrote:
>>>>>>>>>                   
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> I just went through the code, we really cache the WSDL
>>>>>>>>>> definition in CXF.
>>>>>>>>>> Could you send your test case and wsdl file to me ? I may need
>>>>>>>>>> to trace it for more information.
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>>
>>>>>>>>>> Willem
>>>>>>>>>>
>>>>>>>>>> Christopher Cheng wrote:
>>>>>>>>>>                     
>>>>>>>>>>> I think the issue is still there. I used a for loop to
>>>>>>>>>>> execute the
>>>>>>>>>>>                       
>>>>>>>>>> same
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>> call, all takes approximately the same time to create
>>>>>>>>>>> service. I guess
>>>>>>>>>>>                       
>>>>>>>>>> that
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>> the service itself is not cached.
>>>>>>>>>>>
>>>>>>>>>>> On Sun, Mar 2, 2008 at 11:43 AM, Willem Jiang
>>>>>>>>>>> <wi...@gmail.com>
>>>>>>>>>>>
>>>>>>>>>>> wrote:
>>>>>>>>>>>                       
>>>>>>>>>>>> Here is the JIRA[1] which describe the same thing that you
>>>>>>>>>>>> want. I don't know if it was really resolved, could you try
>>>>>>>>>>>> the latest released CXF 2.0.4 for it.
>>>>>>>>>>>>
>>>>>>>>>>>> If the issue is still there, please let me know , I will
>>>>>>>>>>>> put it to my next week todo list.
>>>>>>>>>>>>
>>>>>>>>>>>> [1]https://issues.apache.org/jira/browse/CXF-699
>>>>>>>>>>>> [2]http://cwiki.apache.org/CXF/download.html
>>>>>>>>>>>>
>>>>>>>>>>>> Willem.
>>>>>>>>>>>>
>>>>>>>>>>>> Christopher Cheng wrote:
>>>>>>>>>>>>                         
>>>>>>>>>>>>> I am migrating from Axis1.2 to CXF 2.0.3
>>>>>>>>>>>>>
>>>>>>>>>>>>> I understand that it will take a long time to build for
>>>>>>>>>>>>> the first
>>>>>>>>>>>>>                           
>>>>>>>>>> time.
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>>> What
>>>>>>>>>>>>
>>>>>>>>>>>>                         
>>>>>>>>>>>>> I am wondering is that why it takes so long for the second
>>>>>>>>>>>>> and third
>>>>>>>>>>>>>                           
>>>>>>>>>>>> time?
>>>>>>>>>>>>
>>>>>>>>>>>>                         
>>>>>>>>>>>>> Is there any caching of services? Axis does not seem to
>>>>>>>>>>>>> have this
>>>>>>>>>>>>>                           
>>>>>>>>>> issue.
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>>>> Christopher Cheng wrote:
>>>>>>>>>>>>>                           
>>>>>>>>>>>>>> Attached is the log
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> ----- Original Message -----
>>>>>>>>>>>>>> From: "Willem Jiang" <wi...@gmail.com>
>>>>>>>>>>>>>> To: <cx...@incubator.apache.org>
>>>>>>>>>>>>>> Sent: Saturday, March 01, 2008 8:53 PM
>>>>>>>>>>>>>> Subject: Re: service caching?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>                             
>>>>>>>>>>>>>>> Hi
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Could you set the logger level to FINE ?
>>>>>>>>>>>>>>> So we can get more information about the service
>>>>>>>>>>>>>>> publishing.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Willem.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Christopher Cheng wrote:
>>>>>>>>>>>>>>>                               
>>>>>>>>>>>>>>>> When I call the service as a client, it takes 5 seconds
>>>>>>>>>>>>>>>> to load.
>>>>>>>>>>>>>>>>                                 
>>>>>>>>>> I am
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>>>>>>> not
>>>>>>>>>>>>>>>> sure whether it takes 5 seconds to create the service
>>>>>>>>>>>>>>>> or it takes
>>>>>>>>>>>>>>>>                                 
>>>>>>>>>> 5
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>>>>>>> seconds
>>>>>>>>>>>>>>>> to look up for ciper filters. I am wondering if the
>>>>>>>>>>>>>>>> services are cached...
>>>>>>>>>>>>>>>>  Feb 29, 2008 2:14:42 PM
>>>>>>>>>>>>>>>> org.apache.cxf.service.factory.ReflectionServiceFactory
>>>>>>>>>>>>>>>> Bean buildServiceFromWSDL
>>>>>>>>>>>>>>>> INFO: Creating Service
>>>>>>>>>>>>>>>> {https://webservices.sabre.com/websvc}OTA_HotelAvailSer<https://webservices.sabre.com/websvc%7DOTA_HotelAvailSer>
>>>>>>>>>>>>>>>> vice<https://webservices.sabre.com/websvc%7DOTA_HotelAva
>>>>>>>>>>>>>>>> ilService>
>>>>>>>>>>>>>>>> <https://webservices.sabre.com/websvc%7DOTA_HotelAvailS
>>>>>>>>>>>>>>>> ervic e>
>>>>>>>>>>>>>>>>                                 
>>>>>>>>>> <https://webservices.sabre.com/websvc%7DOTA_HotelAvailService>
>>>>>>>>>> from
>>>>>>>>>>                     
>>>>>>> WSDL:
>>>>>>>               
>>>>>>>>>>>>>>>> file:/C:/Java/abacus-webconnect-1.14.0.rc1
>>>>>>>>>>>>>>>>                                 
>>>>>>>>>>>> /wsdl/OTA_HotelAvailLLS1.4.1RQ.wsdl
>>>>>>>>>>>>
>>>>>>>>>>>>                         
>>>>>>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
>>>>>>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils getCiphersuites
>>>>>>>>>>>>>>>> INFO: The cipher suites have not been configured,
>>>>>>>>>>>>>>>> falling back to
>>>>>>>>>>>>>>>>                                 
>>>>>>>>>>>> cipher
>>>>>>>>>>>>
>>>>>>>>>>>>                         
>>>>>>>>>>>>>>>> suite filters.
>>>>>>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
>>>>>>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils
>>>>>>>>>>>>>>>> getCiphersFromList INFO: The cipher suites have been
>>>>>>>>>>>>>>>> set to
>>>>>>>>>>>>>>>>                                 
>>>>>>>>>> SSL_RSA_WITH_RC4_128_MD5,
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>>>>>>> SSL_RSA_WITH_RC4_128_SHA, SSL_RSA_WITH_DES_CBC_SHA,
>>>>>>>>>>>>>>>> SSL_DHE_RSA_WITH_DES_CBC_SHA,
>>>>>>>>>>>>>>>> SSL_DHE_DSS_WITH_DES_CBC_SHA,
>>>>>>>>>>>>>>>> SSL_RSA_EXPORT_WITH_RC4_40_MD5,
>>>>>>>>>>>>>>>>                                 
>>>>>>>>>> SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>>>>>>> SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
>>>>>>>>>>>>>>>> SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,
>>>>>>>>>>>>>>>> SSL_RSA_WITH_NULL_MD5, SSL_RSA_WITH_NULL_SHA,
>>>>>>>>>>>>>>>> SSL_DH_anon_WITH_RC4_128_MD5,
>>>>>>>>>>>>>>>> TLS_DH_anon_WITH_AES_128_CBC_SHA,
>>>>>>>>>>>>>>>>                                 
>>>>>>>>>> SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>>>>>>> SSL_DH_anon_WITH_DES_CBC_SHA,
>>>>>>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,
>>>>>>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA,
>>>>>>>>>>>>>>>> TLS_KRB5_WITH_DES_CBC_SHA, TLS_KRB5_WITH_DES_CBC_MD5,
>>>>>>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
>>>>>>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
>>>>>>>>>>>>>>>>                                 
>>>>>>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5.  Feb 29, 2008
>>>>>>>>>>>>>>>> 2:14:48 PM
>>>>>>>>>>>>>>>>                                 
>>>>>>>>>> org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallba
>>>>>>>>>> ckon Close
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>>>>>>>  I have put this in my cxf.xml as in
>>>>>>>>>>>>>>>> http://cwiki.apache.org/CXF20DOC/client-http-transport.
>>>>>>>>>>>>>>>> html , but
>>>>>>>>>>>>>>>>                                 
>>>>>>>>>> it
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>>>>>>> doesn't
>>>>>>>>>>>>>>>> help... <http:conduit name="*.http-conduit">
>>>>>>>>>>>>>>>>             <http:tlsClientParameters
>>>>>>>>>>>>>>>> secureSocketProtocol="SSL"> <sec:cipherSuitesFilter>
>>>>>>>>>>>>>>>>                 <!-- these filters ensure that a
>>>>>>>>>>>>>>>> ciphersuite with export-suitable or null encryption is
>>>>>>>>>>>>>>>> used, but exclude anonymous Diffie-Hellman key change
>>>>>>>>>>>>>>>>                                 
>>>>>>>>>> as
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>>>>>>>                 this is vulnerable to man-in-the-middle
>>>>>>>>>>>>>>>> attacks
>>>>>>>>>>>>>>>>                                 
>>>>>>>>>> -->
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>>>>>>>                 <sec:include>.*_EXPORT_.*</sec:include>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> <sec:include>.*_EXPORT1024_.*</sec:include>
>>>>>>>>>>>>>>>> <sec:include>.*_WITH_DES_.*</sec:include>
>>>>>>>>>>>>>>>> <sec:include>.*_WITH_NULL_.*</sec:include>
>>>>>>>>>>>>>>>> <sec:exclude>.*_DH_anon_.*</sec:exclude>
>>>>>>>>>>>>>>>> </sec:cipherSuitesFilter>
>>>>>>>>>>>>>>>>         </http:tlsClientParameters>
>>>>>>>>>>>>>>>> </http:conduit>
>>>>>>>>>>>>>>>>                                 
>>>>>>>>>>>>>>  http://www.nabble.com/file/p15773252/cxf.log cxf.log
>>>>>>>>>>>>>>                             
>>>>>>> --
>>>>>>> J. Daniel Kulp
>>>>>>> Principal Engineer, IONA
>>>>>>> dkulp@apache.org
>>>>>>> http://www.dankulp.com/blog
>>>>>>>               
>>>
>>> --
>>> J. Daniel Kulp
>>> Principal Engineer, IONA
>>> dkulp@apache.org
>>> http://www.dankulp.com/blog
>>>
>>>       
>>     
>
>   


Re: service caching

Posted by Christopher Cheng <ch...@gmail.com>.
Looks like 2.0.5 is going to release soon, is this service caching in 2.0.5?

On Wed, Mar 5, 2008 at 11:50 AM, Christopher Cheng <
christopher.sw.cheng@gmail.com> wrote:

> Looking forward to have this in the next release 2.0.5 or 2.1 :)
>
>
>
> On Tue, Mar 4, 2008 at 11:55 PM, Daniel Kulp <dk...@apache.org> wrote:
>
> >
> > Willem,
> >
> > The issue is that they CAN be modified after that.   One popular
> > modification is to grab the EndpointInfo out of it and change the
> > address.   Other things like adding interceptors to the BindingInfo,
> > changing properties on the service (like to enable schema validation),
> > etc... are all modifications that affect the servicemodel.
> >
> > Databinding is "less" of an issue, but still one.   For example, the
> > databinding has an "mtomThreshold" and a namespaceMap that can be set
> > programatically.
> >
> > In both of those cases, a modification should only affect the proxy on
> > which the modification is made.   Thus, the servicemodel would need a
> > full "clone", which may not be easy to do.   It's certainly a lot more
> > code to add.
> >
> > That said, I don't think it's a bad idea at all.  On the contrary, it's
> > a
> > good idea.   It's just a bit of work.
> >
> > Dan
> >
> >
> > On Tuesday 04 March 2008, Willem Jiang wrote:
> > > Hi Dan,
> > >
> > > I think we could cache the ServiceInfo object and DataBinding object
> > > which will take lots of time to be created and can't be modified after
> > > that. Any thought?
> > >
> > > Willem
> > >
> > > Daniel Kulp wrote:
> > > > On Tuesday 04 March 2008, Christopher Cheng wrote:
> > > >> I haven't read the codes of Axis, but I have been using it for 2
> > > >> years and it doesn't have this problem.
> > > >> Having an overhead for 5-8 seconds is not an option for a
> > > >> production system in term of performance
> > > >>
> > > >> What you are saying is that all the services must implement
> > > >> Clonable interface?
> > > >
> > > > No, not the services themselves.   Just our interal service model
> > > > stuff that holds all the metadata.  Basically, when creating a new
> > > > service, we need to calculate the metadata.   We should cache that
> > > > if possible.
> > > >
> > > > Dan
> > > >
> > > >> On Tue, Mar 4, 2008 at 4:48 AM, Daniel Kulp <dk...@apache.org>
> > wrote:
> > > >>> Christopher,
> > > >>>
> > > >>> We cannot just "reuse" the Service model objects as they are
> > > >>> completely modifiable at runtime. For example, one proxy could be
> > > >>> reconfigured with new address or have additional interceptors
> > > >>> added or similar.  Those shouldn't affect others.
> > > >>>
> > > >>> On option that propably would make sense is to add a fast "clone"
> > > >>> functionality to the entire service model so we could cache one,
> > > >>> and then clone it whenever one is really needed.   All the
> > > >>> individual versions could be modified and not affect the original.
> > > >>>   However, doing that would be quite a bit of work as there are a
> > > >>> LOT of classes that would need to be updated to support that.
> > > >>>
> > > >>> Patches towards that end would be great.   :-)
> > > >>>
> > > >>> Dan
> > > >>>
> > > >>> On Monday 03 March 2008, Christopher Cheng wrote:
> > > >>>> wsdl is indeed cached in WSDLManagerImpl.definitionsMap
> > > >>>>
> > > >>>> After reading the codes, I have some questions. My workstation is
> > > >>>> a PentiumD 3GHz with 1.5GB RAM
> > > >>>>
> > > >>>> In the class
> > > >>>> "org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buil
> > > >>>>d Serv iceFromWSDL(String url)",
> > > >>>> "setService(factory.create());" takes 3 seconds
> > > >>>> "getDataBinding().initialize(getService());" takes 2 seconds
> > > >>>>
> > > >>>> These 2 methods are called even in 2nd calls. Can you also cache
> > > >>>> the services perhaps using jakarta commons-pool? or eh-cache?
> > > >>>>
> > > >>>> By the way, I found that the wsdl is put into the definitionMap
> > > >>>> twice if " WSDLManagerImpl.getDefinition(URL url)" is called.
> > > >>>> First in "getDefintion(URL url)" at line 147 and second in
> > > >>>> "loadDefinition(String url)" at line 201.
> > > >>>>
> > > >>>>
> > > >>>> On Mon, Mar 3, 2008 at 4:22 PM, Christopher Cheng <
> > > >>>>
> > > >>>> christopher.sw.cheng@gmail.com> wrote:
> > > >>>>> wsdl is indeed cached in WSDLManagerImpl.definitionsMap
> > > >>>>>
> > > >>>>> After reading the codes, I have some questions. My workstation
> > > >>>>> is a PentiumD 3GHz with 1.5GB RAM
> > > >>>>>
> > > >>>>> In the class "
> > > >>>>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buil
> > > >>>>> dSer viceFromWSDL(String url)",
> > > >>>>> "setService(factory.create());" takes 3 seconds
> > > >>>>> "getDataBinding().initialize(getService());" takes 2 seconds
> > > >>>>>
> > > >>>>> These 2 methods are called even in 2nd calls. Can you also cache
> > > >>>>> the services perhaps using jakarta commons-pool? or eh-cache?
> > > >>>>>
> > > >>>>> By the way, I found that the wsdl is put into the definitionMap
> > > >>>>> twice if " WSDLManagerImpl.getDefinition(URL url)" is called.
> > > >>>>> First in "getDefintion(URL url)" at line 147 and second in
> > > >>>>> "loadDefinition(String url)" at line 201.
> > > >>>>>
> > > >>>>>
> > > >>>>>
> > > >>>>> On Mon, Mar 3, 2008 at 9:43 AM, Willem Jiang
> > > >>>>> <wi...@gmail.com>
> > > >>>>>
> > > >>>>> wrote:
> > > >>>>>> Hi,
> > > >>>>>>
> > > >>>>>> I just went through the code, we really cache the WSDL
> > > >>>>>> definition in CXF.
> > > >>>>>> Could you send your test case and wsdl file to me ? I may need
> > > >>>>>> to trace it for more information.
> > > >>>>>>
> > > >>>>>> Regards,
> > > >>>>>>
> > > >>>>>> Willem
> > > >>>>>>
> > > >>>>>> Christopher Cheng wrote:
> > > >>>>>>> I think the issue is still there. I used a for loop to
> > > >>>>>>> execute the
> > > >>>>>>
> > > >>>>>> same
> > > >>>>>>
> > > >>>>>>> call, all takes approximately the same time to create
> > > >>>>>>> service. I guess
> > > >>>>>>
> > > >>>>>> that
> > > >>>>>>
> > > >>>>>>> the service itself is not cached.
> > > >>>>>>>
> > > >>>>>>> On Sun, Mar 2, 2008 at 11:43 AM, Willem Jiang
> > > >>>>>>> <wi...@gmail.com>
> > > >>>>>>>
> > > >>>>>>> wrote:
> > > >>>>>>>> Here is the JIRA[1] which describe the same thing that you
> > > >>>>>>>> want. I don't know if it was really resolved, could you try
> > > >>>>>>>> the latest released CXF 2.0.4 for it.
> > > >>>>>>>>
> > > >>>>>>>> If the issue is still there, please let me know , I will
> > > >>>>>>>> put it to my next week todo list.
> > > >>>>>>>>
> > > >>>>>>>> [1]https://issues.apache.org/jira/browse/CXF-699
> > > >>>>>>>> [2]http://cwiki.apache.org/CXF/download.html
> > > >>>>>>>>
> > > >>>>>>>> Willem.
> > > >>>>>>>>
> > > >>>>>>>> Christopher Cheng wrote:
> > > >>>>>>>>> I am migrating from Axis1.2 to CXF 2.0.3
> > > >>>>>>>>>
> > > >>>>>>>>> I understand that it will take a long time to build for
> > > >>>>>>>>> the first
> > > >>>>>>
> > > >>>>>> time.
> > > >>>>>>
> > > >>>>>>>> What
> > > >>>>>>>>
> > > >>>>>>>>> I am wondering is that why it takes so long for the second
> > > >>>>>>>>> and third
> > > >>>>>>>>
> > > >>>>>>>> time?
> > > >>>>>>>>
> > > >>>>>>>>> Is there any caching of services? Axis does not seem to
> > > >>>>>>>>> have this
> > > >>>>>>
> > > >>>>>> issue.
> > > >>>>>>
> > > >>>>>>>>> Christopher Cheng wrote:
> > > >>>>>>>>>> Attached is the log
> > > >>>>>>>>>>
> > > >>>>>>>>>> ----- Original Message -----
> > > >>>>>>>>>> From: "Willem Jiang" <wi...@gmail.com>
> > > >>>>>>>>>> To: <cx...@incubator.apache.org>
> > > >>>>>>>>>> Sent: Saturday, March 01, 2008 8:53 PM
> > > >>>>>>>>>> Subject: Re: service caching?
> > > >>>>>>>>>>
> > > >>>>>>>>>>> Hi
> > > >>>>>>>>>>>
> > > >>>>>>>>>>> Could you set the logger level to FINE ?
> > > >>>>>>>>>>> So we can get more information about the service
> > > >>>>>>>>>>> publishing.
> > > >>>>>>>>>>>
> > > >>>>>>>>>>> Willem.
> > > >>>>>>>>>>>
> > > >>>>>>>>>>> Christopher Cheng wrote:
> > > >>>>>>>>>>>> When I call the service as a client, it takes 5 seconds
> > > >>>>>>>>>>>> to load.
> > > >>>>>>
> > > >>>>>> I am
> > > >>>>>>
> > > >>>>>>>>>>>> not
> > > >>>>>>>>>>>> sure whether it takes 5 seconds to create the service
> > > >>>>>>>>>>>> or it takes
> > > >>>>>>
> > > >>>>>> 5
> > > >>>>>>
> > > >>>>>>>>>>>> seconds
> > > >>>>>>>>>>>> to look up for ciper filters. I am wondering if the
> > > >>>>>>>>>>>> services are cached...
> > > >>>>>>>>>>>>  Feb 29, 2008 2:14:42 PM
> > > >>>>>>>>>>>> org.apache.cxf.service.factory.ReflectionServiceFactory
> > > >>>>>>>>>>>> Bean buildServiceFromWSDL
> > > >>>>>>>>>>>> INFO: Creating Service
> > > >>>>>>>>>>>> {https://webservices.sabre.com/websvc}OTA_HotelAvailSer<https://webservices.sabre.com/websvc%7DOTA_HotelAvailSer>
> > > >>>>>>>>>>>> vice<https://webservices.sabre.com/websvc%7DOTA_HotelAva
> > > >>>>>>>>>>>> ilService>
> > > >>>>>>>>>>>> <https://webservices.sabre.com/websvc%7DOTA_HotelAvailS
> > > >>>>>>>>>>>> ervic e>
> > > >>>>>>
> > > >>>>>> <https://webservices.sabre.com/websvc%7DOTA_HotelAvailService>
> > > >>>>>> from
> > > >>>
> > > >>> WSDL:
> > > >>>>>>>>>>>> file:/C:/Java/abacus-webconnect-1.14.0.rc1
> > > >>>>>>>>
> > > >>>>>>>> /wsdl/OTA_HotelAvailLLS1.4.1RQ.wsdl
> > > >>>>>>>>
> > > >>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
> > > >>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils getCiphersuites
> > > >>>>>>>>>>>> INFO: The cipher suites have not been configured,
> > > >>>>>>>>>>>> falling back to
> > > >>>>>>>>
> > > >>>>>>>> cipher
> > > >>>>>>>>
> > > >>>>>>>>>>>> suite filters.
> > > >>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
> > > >>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils
> > > >>>>>>>>>>>> getCiphersFromList INFO: The cipher suites have been
> > > >>>>>>>>>>>> set to
> > > >>>>>>
> > > >>>>>> SSL_RSA_WITH_RC4_128_MD5,
> > > >>>>>>
> > > >>>>>>>>>>>> SSL_RSA_WITH_RC4_128_SHA, SSL_RSA_WITH_DES_CBC_SHA,
> > > >>>>>>>>>>>> SSL_DHE_RSA_WITH_DES_CBC_SHA,
> > > >>>>>>>>>>>> SSL_DHE_DSS_WITH_DES_CBC_SHA,
> > > >>>>>>>>>>>> SSL_RSA_EXPORT_WITH_RC4_40_MD5,
> > > >>>>>>
> > > >>>>>> SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > >>>>>>
> > > >>>>>>>>>>>> SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > >>>>>>>>>>>> SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,
> > > >>>>>>>>>>>> SSL_RSA_WITH_NULL_MD5, SSL_RSA_WITH_NULL_SHA,
> > > >>>>>>>>>>>> SSL_DH_anon_WITH_RC4_128_MD5,
> > > >>>>>>>>>>>> TLS_DH_anon_WITH_AES_128_CBC_SHA,
> > > >>>>>>
> > > >>>>>> SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,
> > > >>>>>>
> > > >>>>>>>>>>>> SSL_DH_anon_WITH_DES_CBC_SHA,
> > > >>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,
> > > >>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA,
> > > >>>>>>>>>>>> TLS_KRB5_WITH_DES_CBC_SHA, TLS_KRB5_WITH_DES_CBC_MD5,
> > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
> > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
> > > >>>>>>
> > > >>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
> > > >>>>>>
> > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5.  Feb 29, 2008
> > > >>>>>>>>>>>> 2:14:48 PM
> > > >>>>>>
> > > >>>>>> org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallba
> > > >>>>>> ckon Close
> > > >>>>>>
> > > >>>>>>>>>>>>  I have put this in my cxf.xml as in
> > > >>>>>>>>>>>> http://cwiki.apache.org/CXF20DOC/client-http-transport.
> > > >>>>>>>>>>>> html , but
> > > >>>>>>
> > > >>>>>> it
> > > >>>>>>
> > > >>>>>>>>>>>> doesn't
> > > >>>>>>>>>>>> help... <http:conduit name="*.http-conduit">
> > > >>>>>>>>>>>>             <http:tlsClientParameters
> > > >>>>>>>>>>>> secureSocketProtocol="SSL"> <sec:cipherSuitesFilter>
> > > >>>>>>>>>>>>                 <!-- these filters ensure that a
> > > >>>>>>>>>>>> ciphersuite with export-suitable or null encryption is
> > > >>>>>>>>>>>> used, but exclude anonymous Diffie-Hellman key change
> > > >>>>>>
> > > >>>>>> as
> > > >>>>>>
> > > >>>>>>>>>>>>                 this is vulnerable to man-in-the-middle
> > > >>>>>>>>>>>> attacks
> > > >>>>>>
> > > >>>>>> -->
> > > >>>>>>
> > > >>>>>>>>>>>>                 <sec:include>.*_EXPORT_.*</sec:include>
> > > >>>>>>>>>>>>
> > > >>>>>>>>>>>> <sec:include>.*_EXPORT1024_.*</sec:include>
> > > >>>>>>>>>>>> <sec:include>.*_WITH_DES_.*</sec:include>
> > > >>>>>>>>>>>> <sec:include>.*_WITH_NULL_.*</sec:include>
> > > >>>>>>>>>>>> <sec:exclude>.*_DH_anon_.*</sec:exclude>
> > > >>>>>>>>>>>> </sec:cipherSuitesFilter>
> > > >>>>>>>>>>>>         </http:tlsClientParameters>
> > > >>>>>>>>>>>> </http:conduit>
> > > >>>>>>>>>>
> > > >>>>>>>>>>  http://www.nabble.com/file/p15773252/cxf.log cxf.log
> > > >>>
> > > >>> --
> > > >>> J. Daniel Kulp
> > > >>> Principal Engineer, IONA
> > > >>> dkulp@apache.org
> > > >>> http://www.dankulp.com/blog
> >
> >
> >
> > --
> > J. Daniel Kulp
> > Principal Engineer, IONA
> > dkulp@apache.org
> > http://www.dankulp.com/blog
> >
>
>

Re: service caching

Posted by Christopher Cheng <ch...@gmail.com>.
Looking forward to have this in the next release 2.0.5 or 2.1 :)


On Tue, Mar 4, 2008 at 11:55 PM, Daniel Kulp <dk...@apache.org> wrote:

>
> Willem,
>
> The issue is that they CAN be modified after that.   One popular
> modification is to grab the EndpointInfo out of it and change the
> address.   Other things like adding interceptors to the BindingInfo,
> changing properties on the service (like to enable schema validation),
> etc... are all modifications that affect the servicemodel.
>
> Databinding is "less" of an issue, but still one.   For example, the
> databinding has an "mtomThreshold" and a namespaceMap that can be set
> programatically.
>
> In both of those cases, a modification should only affect the proxy on
> which the modification is made.   Thus, the servicemodel would need a
> full "clone", which may not be easy to do.   It's certainly a lot more
> code to add.
>
> That said, I don't think it's a bad idea at all.  On the contrary, it's a
> good idea.   It's just a bit of work.
>
> Dan
>
>
> On Tuesday 04 March 2008, Willem Jiang wrote:
> > Hi Dan,
> >
> > I think we could cache the ServiceInfo object and DataBinding object
> > which will take lots of time to be created and can't be modified after
> > that. Any thought?
> >
> > Willem
> >
> > Daniel Kulp wrote:
> > > On Tuesday 04 March 2008, Christopher Cheng wrote:
> > >> I haven't read the codes of Axis, but I have been using it for 2
> > >> years and it doesn't have this problem.
> > >> Having an overhead for 5-8 seconds is not an option for a
> > >> production system in term of performance
> > >>
> > >> What you are saying is that all the services must implement
> > >> Clonable interface?
> > >
> > > No, not the services themselves.   Just our interal service model
> > > stuff that holds all the metadata.  Basically, when creating a new
> > > service, we need to calculate the metadata.   We should cache that
> > > if possible.
> > >
> > > Dan
> > >
> > >> On Tue, Mar 4, 2008 at 4:48 AM, Daniel Kulp <dk...@apache.org>
> wrote:
> > >>> Christopher,
> > >>>
> > >>> We cannot just "reuse" the Service model objects as they are
> > >>> completely modifiable at runtime. For example, one proxy could be
> > >>> reconfigured with new address or have additional interceptors
> > >>> added or similar.  Those shouldn't affect others.
> > >>>
> > >>> On option that propably would make sense is to add a fast "clone"
> > >>> functionality to the entire service model so we could cache one,
> > >>> and then clone it whenever one is really needed.   All the
> > >>> individual versions could be modified and not affect the original.
> > >>>   However, doing that would be quite a bit of work as there are a
> > >>> LOT of classes that would need to be updated to support that.
> > >>>
> > >>> Patches towards that end would be great.   :-)
> > >>>
> > >>> Dan
> > >>>
> > >>> On Monday 03 March 2008, Christopher Cheng wrote:
> > >>>> wsdl is indeed cached in WSDLManagerImpl.definitionsMap
> > >>>>
> > >>>> After reading the codes, I have some questions. My workstation is
> > >>>> a PentiumD 3GHz with 1.5GB RAM
> > >>>>
> > >>>> In the class
> > >>>> "org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buil
> > >>>>d Serv iceFromWSDL(String url)",
> > >>>> "setService(factory.create());" takes 3 seconds
> > >>>> "getDataBinding().initialize(getService());" takes 2 seconds
> > >>>>
> > >>>> These 2 methods are called even in 2nd calls. Can you also cache
> > >>>> the services perhaps using jakarta commons-pool? or eh-cache?
> > >>>>
> > >>>> By the way, I found that the wsdl is put into the definitionMap
> > >>>> twice if " WSDLManagerImpl.getDefinition(URL url)" is called.
> > >>>> First in "getDefintion(URL url)" at line 147 and second in
> > >>>> "loadDefinition(String url)" at line 201.
> > >>>>
> > >>>>
> > >>>> On Mon, Mar 3, 2008 at 4:22 PM, Christopher Cheng <
> > >>>>
> > >>>> christopher.sw.cheng@gmail.com> wrote:
> > >>>>> wsdl is indeed cached in WSDLManagerImpl.definitionsMap
> > >>>>>
> > >>>>> After reading the codes, I have some questions. My workstation
> > >>>>> is a PentiumD 3GHz with 1.5GB RAM
> > >>>>>
> > >>>>> In the class "
> > >>>>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buil
> > >>>>> dSer viceFromWSDL(String url)",
> > >>>>> "setService(factory.create());" takes 3 seconds
> > >>>>> "getDataBinding().initialize(getService());" takes 2 seconds
> > >>>>>
> > >>>>> These 2 methods are called even in 2nd calls. Can you also cache
> > >>>>> the services perhaps using jakarta commons-pool? or eh-cache?
> > >>>>>
> > >>>>> By the way, I found that the wsdl is put into the definitionMap
> > >>>>> twice if " WSDLManagerImpl.getDefinition(URL url)" is called.
> > >>>>> First in "getDefintion(URL url)" at line 147 and second in
> > >>>>> "loadDefinition(String url)" at line 201.
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>> On Mon, Mar 3, 2008 at 9:43 AM, Willem Jiang
> > >>>>> <wi...@gmail.com>
> > >>>>>
> > >>>>> wrote:
> > >>>>>> Hi,
> > >>>>>>
> > >>>>>> I just went through the code, we really cache the WSDL
> > >>>>>> definition in CXF.
> > >>>>>> Could you send your test case and wsdl file to me ? I may need
> > >>>>>> to trace it for more information.
> > >>>>>>
> > >>>>>> Regards,
> > >>>>>>
> > >>>>>> Willem
> > >>>>>>
> > >>>>>> Christopher Cheng wrote:
> > >>>>>>> I think the issue is still there. I used a for loop to
> > >>>>>>> execute the
> > >>>>>>
> > >>>>>> same
> > >>>>>>
> > >>>>>>> call, all takes approximately the same time to create
> > >>>>>>> service. I guess
> > >>>>>>
> > >>>>>> that
> > >>>>>>
> > >>>>>>> the service itself is not cached.
> > >>>>>>>
> > >>>>>>> On Sun, Mar 2, 2008 at 11:43 AM, Willem Jiang
> > >>>>>>> <wi...@gmail.com>
> > >>>>>>>
> > >>>>>>> wrote:
> > >>>>>>>> Here is the JIRA[1] which describe the same thing that you
> > >>>>>>>> want. I don't know if it was really resolved, could you try
> > >>>>>>>> the latest released CXF 2.0.4 for it.
> > >>>>>>>>
> > >>>>>>>> If the issue is still there, please let me know , I will
> > >>>>>>>> put it to my next week todo list.
> > >>>>>>>>
> > >>>>>>>> [1]https://issues.apache.org/jira/browse/CXF-699
> > >>>>>>>> [2]http://cwiki.apache.org/CXF/download.html
> > >>>>>>>>
> > >>>>>>>> Willem.
> > >>>>>>>>
> > >>>>>>>> Christopher Cheng wrote:
> > >>>>>>>>> I am migrating from Axis1.2 to CXF 2.0.3
> > >>>>>>>>>
> > >>>>>>>>> I understand that it will take a long time to build for
> > >>>>>>>>> the first
> > >>>>>>
> > >>>>>> time.
> > >>>>>>
> > >>>>>>>> What
> > >>>>>>>>
> > >>>>>>>>> I am wondering is that why it takes so long for the second
> > >>>>>>>>> and third
> > >>>>>>>>
> > >>>>>>>> time?
> > >>>>>>>>
> > >>>>>>>>> Is there any caching of services? Axis does not seem to
> > >>>>>>>>> have this
> > >>>>>>
> > >>>>>> issue.
> > >>>>>>
> > >>>>>>>>> Christopher Cheng wrote:
> > >>>>>>>>>> Attached is the log
> > >>>>>>>>>>
> > >>>>>>>>>> ----- Original Message -----
> > >>>>>>>>>> From: "Willem Jiang" <wi...@gmail.com>
> > >>>>>>>>>> To: <cx...@incubator.apache.org>
> > >>>>>>>>>> Sent: Saturday, March 01, 2008 8:53 PM
> > >>>>>>>>>> Subject: Re: service caching?
> > >>>>>>>>>>
> > >>>>>>>>>>> Hi
> > >>>>>>>>>>>
> > >>>>>>>>>>> Could you set the logger level to FINE ?
> > >>>>>>>>>>> So we can get more information about the service
> > >>>>>>>>>>> publishing.
> > >>>>>>>>>>>
> > >>>>>>>>>>> Willem.
> > >>>>>>>>>>>
> > >>>>>>>>>>> Christopher Cheng wrote:
> > >>>>>>>>>>>> When I call the service as a client, it takes 5 seconds
> > >>>>>>>>>>>> to load.
> > >>>>>>
> > >>>>>> I am
> > >>>>>>
> > >>>>>>>>>>>> not
> > >>>>>>>>>>>> sure whether it takes 5 seconds to create the service
> > >>>>>>>>>>>> or it takes
> > >>>>>>
> > >>>>>> 5
> > >>>>>>
> > >>>>>>>>>>>> seconds
> > >>>>>>>>>>>> to look up for ciper filters. I am wondering if the
> > >>>>>>>>>>>> services are cached...
> > >>>>>>>>>>>>  Feb 29, 2008 2:14:42 PM
> > >>>>>>>>>>>> org.apache.cxf.service.factory.ReflectionServiceFactory
> > >>>>>>>>>>>> Bean buildServiceFromWSDL
> > >>>>>>>>>>>> INFO: Creating Service
> > >>>>>>>>>>>> {https://webservices.sabre.com/websvc}OTA_HotelAvailSer<https://webservices.sabre.com/websvc%7DOTA_HotelAvailSer>
> > >>>>>>>>>>>> vice<https://webservices.sabre.com/websvc%7DOTA_HotelAva
> > >>>>>>>>>>>> ilService>
> > >>>>>>>>>>>> <https://webservices.sabre.com/websvc%7DOTA_HotelAvailS
> > >>>>>>>>>>>> ervic e>
> > >>>>>>
> > >>>>>> <https://webservices.sabre.com/websvc%7DOTA_HotelAvailService>
> > >>>>>> from
> > >>>
> > >>> WSDL:
> > >>>>>>>>>>>> file:/C:/Java/abacus-webconnect-1.14.0.rc1
> > >>>>>>>>
> > >>>>>>>> /wsdl/OTA_HotelAvailLLS1.4.1RQ.wsdl
> > >>>>>>>>
> > >>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
> > >>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils getCiphersuites
> > >>>>>>>>>>>> INFO: The cipher suites have not been configured,
> > >>>>>>>>>>>> falling back to
> > >>>>>>>>
> > >>>>>>>> cipher
> > >>>>>>>>
> > >>>>>>>>>>>> suite filters.
> > >>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
> > >>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils
> > >>>>>>>>>>>> getCiphersFromList INFO: The cipher suites have been
> > >>>>>>>>>>>> set to
> > >>>>>>
> > >>>>>> SSL_RSA_WITH_RC4_128_MD5,
> > >>>>>>
> > >>>>>>>>>>>> SSL_RSA_WITH_RC4_128_SHA, SSL_RSA_WITH_DES_CBC_SHA,
> > >>>>>>>>>>>> SSL_DHE_RSA_WITH_DES_CBC_SHA,
> > >>>>>>>>>>>> SSL_DHE_DSS_WITH_DES_CBC_SHA,
> > >>>>>>>>>>>> SSL_RSA_EXPORT_WITH_RC4_40_MD5,
> > >>>>>>
> > >>>>>> SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > >>>>>>
> > >>>>>>>>>>>> SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > >>>>>>>>>>>> SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,
> > >>>>>>>>>>>> SSL_RSA_WITH_NULL_MD5, SSL_RSA_WITH_NULL_SHA,
> > >>>>>>>>>>>> SSL_DH_anon_WITH_RC4_128_MD5,
> > >>>>>>>>>>>> TLS_DH_anon_WITH_AES_128_CBC_SHA,
> > >>>>>>
> > >>>>>> SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,
> > >>>>>>
> > >>>>>>>>>>>> SSL_DH_anon_WITH_DES_CBC_SHA,
> > >>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,
> > >>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA,
> > >>>>>>>>>>>> TLS_KRB5_WITH_DES_CBC_SHA, TLS_KRB5_WITH_DES_CBC_MD5,
> > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
> > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
> > >>>>>>
> > >>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
> > >>>>>>
> > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5.  Feb 29, 2008
> > >>>>>>>>>>>> 2:14:48 PM
> > >>>>>>
> > >>>>>> org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallba
> > >>>>>> ckon Close
> > >>>>>>
> > >>>>>>>>>>>>  I have put this in my cxf.xml as in
> > >>>>>>>>>>>> http://cwiki.apache.org/CXF20DOC/client-http-transport.
> > >>>>>>>>>>>> html , but
> > >>>>>>
> > >>>>>> it
> > >>>>>>
> > >>>>>>>>>>>> doesn't
> > >>>>>>>>>>>> help... <http:conduit name="*.http-conduit">
> > >>>>>>>>>>>>             <http:tlsClientParameters
> > >>>>>>>>>>>> secureSocketProtocol="SSL"> <sec:cipherSuitesFilter>
> > >>>>>>>>>>>>                 <!-- these filters ensure that a
> > >>>>>>>>>>>> ciphersuite with export-suitable or null encryption is
> > >>>>>>>>>>>> used, but exclude anonymous Diffie-Hellman key change
> > >>>>>>
> > >>>>>> as
> > >>>>>>
> > >>>>>>>>>>>>                 this is vulnerable to man-in-the-middle
> > >>>>>>>>>>>> attacks
> > >>>>>>
> > >>>>>> -->
> > >>>>>>
> > >>>>>>>>>>>>                 <sec:include>.*_EXPORT_.*</sec:include>
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> <sec:include>.*_EXPORT1024_.*</sec:include>
> > >>>>>>>>>>>> <sec:include>.*_WITH_DES_.*</sec:include>
> > >>>>>>>>>>>> <sec:include>.*_WITH_NULL_.*</sec:include>
> > >>>>>>>>>>>> <sec:exclude>.*_DH_anon_.*</sec:exclude>
> > >>>>>>>>>>>> </sec:cipherSuitesFilter>
> > >>>>>>>>>>>>         </http:tlsClientParameters>
> > >>>>>>>>>>>> </http:conduit>
> > >>>>>>>>>>
> > >>>>>>>>>>  http://www.nabble.com/file/p15773252/cxf.log cxf.log
> > >>>
> > >>> --
> > >>> J. Daniel Kulp
> > >>> Principal Engineer, IONA
> > >>> dkulp@apache.org
> > >>> http://www.dankulp.com/blog
>
>
>
> --
> J. Daniel Kulp
> Principal Engineer, IONA
> dkulp@apache.org
> http://www.dankulp.com/blog
>

Re: service caching

Posted by Daniel Kulp <dk...@apache.org>.
Willem,

The issue is that they CAN be modified after that.   One popular 
modification is to grab the EndpointInfo out of it and change the 
address.   Other things like adding interceptors to the BindingInfo, 
changing properties on the service (like to enable schema validation), 
etc... are all modifications that affect the servicemodel.

Databinding is "less" of an issue, but still one.   For example, the 
databinding has an "mtomThreshold" and a namespaceMap that can be set 
programatically.   

In both of those cases, a modification should only affect the proxy on 
which the modification is made.   Thus, the servicemodel would need a 
full "clone", which may not be easy to do.   It's certainly a lot more 
code to add.

That said, I don't think it's a bad idea at all.  On the contrary, it's a 
good idea.   It's just a bit of work.

Dan


On Tuesday 04 March 2008, Willem Jiang wrote:
> Hi Dan,
>
> I think we could cache the ServiceInfo object and DataBinding object
> which will take lots of time to be created and can't be modified after
> that. Any thought?
>
> Willem
>
> Daniel Kulp wrote:
> > On Tuesday 04 March 2008, Christopher Cheng wrote:
> >> I haven't read the codes of Axis, but I have been using it for 2
> >> years and it doesn't have this problem.
> >> Having an overhead for 5-8 seconds is not an option for a
> >> production system in term of performance
> >>
> >> What you are saying is that all the services must implement
> >> Clonable interface?
> >
> > No, not the services themselves.   Just our interal service model
> > stuff that holds all the metadata.  Basically, when creating a new
> > service, we need to calculate the metadata.   We should cache that
> > if possible.
> >
> > Dan
> >
> >> On Tue, Mar 4, 2008 at 4:48 AM, Daniel Kulp <dk...@apache.org> 
wrote:
> >>> Christopher,
> >>>
> >>> We cannot just "reuse" the Service model objects as they are
> >>> completely modifiable at runtime. For example, one proxy could be
> >>> reconfigured with new address or have additional interceptors
> >>> added or similar.  Those shouldn't affect others.
> >>>
> >>> On option that propably would make sense is to add a fast "clone"
> >>> functionality to the entire service model so we could cache one,
> >>> and then clone it whenever one is really needed.   All the
> >>> individual versions could be modified and not affect the original.
> >>>   However, doing that would be quite a bit of work as there are a
> >>> LOT of classes that would need to be updated to support that.
> >>>
> >>> Patches towards that end would be great.   :-)
> >>>
> >>> Dan
> >>>
> >>> On Monday 03 March 2008, Christopher Cheng wrote:
> >>>> wsdl is indeed cached in WSDLManagerImpl.definitionsMap
> >>>>
> >>>> After reading the codes, I have some questions. My workstation is
> >>>> a PentiumD 3GHz with 1.5GB RAM
> >>>>
> >>>> In the class
> >>>> "org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buil
> >>>>d Serv iceFromWSDL(String url)",
> >>>> "setService(factory.create());" takes 3 seconds
> >>>> "getDataBinding().initialize(getService());" takes 2 seconds
> >>>>
> >>>> These 2 methods are called even in 2nd calls. Can you also cache
> >>>> the services perhaps using jakarta commons-pool? or eh-cache?
> >>>>
> >>>> By the way, I found that the wsdl is put into the definitionMap
> >>>> twice if " WSDLManagerImpl.getDefinition(URL url)" is called.
> >>>> First in "getDefintion(URL url)" at line 147 and second in
> >>>> "loadDefinition(String url)" at line 201.
> >>>>
> >>>>
> >>>> On Mon, Mar 3, 2008 at 4:22 PM, Christopher Cheng <
> >>>>
> >>>> christopher.sw.cheng@gmail.com> wrote:
> >>>>> wsdl is indeed cached in WSDLManagerImpl.definitionsMap
> >>>>>
> >>>>> After reading the codes, I have some questions. My workstation
> >>>>> is a PentiumD 3GHz with 1.5GB RAM
> >>>>>
> >>>>> In the class "
> >>>>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buil
> >>>>> dSer viceFromWSDL(String url)",
> >>>>> "setService(factory.create());" takes 3 seconds
> >>>>> "getDataBinding().initialize(getService());" takes 2 seconds
> >>>>>
> >>>>> These 2 methods are called even in 2nd calls. Can you also cache
> >>>>> the services perhaps using jakarta commons-pool? or eh-cache?
> >>>>>
> >>>>> By the way, I found that the wsdl is put into the definitionMap
> >>>>> twice if " WSDLManagerImpl.getDefinition(URL url)" is called.
> >>>>> First in "getDefintion(URL url)" at line 147 and second in
> >>>>> "loadDefinition(String url)" at line 201.
> >>>>>
> >>>>>
> >>>>>
> >>>>> On Mon, Mar 3, 2008 at 9:43 AM, Willem Jiang
> >>>>> <wi...@gmail.com>
> >>>>>
> >>>>> wrote:
> >>>>>> Hi,
> >>>>>>
> >>>>>> I just went through the code, we really cache the WSDL
> >>>>>> definition in CXF.
> >>>>>> Could you send your test case and wsdl file to me ? I may need
> >>>>>> to trace it for more information.
> >>>>>>
> >>>>>> Regards,
> >>>>>>
> >>>>>> Willem
> >>>>>>
> >>>>>> Christopher Cheng wrote:
> >>>>>>> I think the issue is still there. I used a for loop to
> >>>>>>> execute the
> >>>>>>
> >>>>>> same
> >>>>>>
> >>>>>>> call, all takes approximately the same time to create
> >>>>>>> service. I guess
> >>>>>>
> >>>>>> that
> >>>>>>
> >>>>>>> the service itself is not cached.
> >>>>>>>
> >>>>>>> On Sun, Mar 2, 2008 at 11:43 AM, Willem Jiang
> >>>>>>> <wi...@gmail.com>
> >>>>>>>
> >>>>>>> wrote:
> >>>>>>>> Here is the JIRA[1] which describe the same thing that you
> >>>>>>>> want. I don't know if it was really resolved, could you try
> >>>>>>>> the latest released CXF 2.0.4 for it.
> >>>>>>>>
> >>>>>>>> If the issue is still there, please let me know , I will
> >>>>>>>> put it to my next week todo list.
> >>>>>>>>
> >>>>>>>> [1]https://issues.apache.org/jira/browse/CXF-699
> >>>>>>>> [2]http://cwiki.apache.org/CXF/download.html
> >>>>>>>>
> >>>>>>>> Willem.
> >>>>>>>>
> >>>>>>>> Christopher Cheng wrote:
> >>>>>>>>> I am migrating from Axis1.2 to CXF 2.0.3
> >>>>>>>>>
> >>>>>>>>> I understand that it will take a long time to build for
> >>>>>>>>> the first
> >>>>>>
> >>>>>> time.
> >>>>>>
> >>>>>>>> What
> >>>>>>>>
> >>>>>>>>> I am wondering is that why it takes so long for the second
> >>>>>>>>> and third
> >>>>>>>>
> >>>>>>>> time?
> >>>>>>>>
> >>>>>>>>> Is there any caching of services? Axis does not seem to
> >>>>>>>>> have this
> >>>>>>
> >>>>>> issue.
> >>>>>>
> >>>>>>>>> Christopher Cheng wrote:
> >>>>>>>>>> Attached is the log
> >>>>>>>>>>
> >>>>>>>>>> ----- Original Message -----
> >>>>>>>>>> From: "Willem Jiang" <wi...@gmail.com>
> >>>>>>>>>> To: <cx...@incubator.apache.org>
> >>>>>>>>>> Sent: Saturday, March 01, 2008 8:53 PM
> >>>>>>>>>> Subject: Re: service caching?
> >>>>>>>>>>
> >>>>>>>>>>> Hi
> >>>>>>>>>>>
> >>>>>>>>>>> Could you set the logger level to FINE ?
> >>>>>>>>>>> So we can get more information about the service
> >>>>>>>>>>> publishing.
> >>>>>>>>>>>
> >>>>>>>>>>> Willem.
> >>>>>>>>>>>
> >>>>>>>>>>> Christopher Cheng wrote:
> >>>>>>>>>>>> When I call the service as a client, it takes 5 seconds
> >>>>>>>>>>>> to load.
> >>>>>>
> >>>>>> I am
> >>>>>>
> >>>>>>>>>>>> not
> >>>>>>>>>>>> sure whether it takes 5 seconds to create the service
> >>>>>>>>>>>> or it takes
> >>>>>>
> >>>>>> 5
> >>>>>>
> >>>>>>>>>>>> seconds
> >>>>>>>>>>>> to look up for ciper filters. I am wondering if the
> >>>>>>>>>>>> services are cached...
> >>>>>>>>>>>>  Feb 29, 2008 2:14:42 PM
> >>>>>>>>>>>> org.apache.cxf.service.factory.ReflectionServiceFactory
> >>>>>>>>>>>> Bean buildServiceFromWSDL
> >>>>>>>>>>>> INFO: Creating Service
> >>>>>>>>>>>> {https://webservices.sabre.com/websvc}OTA_HotelAvailSer
> >>>>>>>>>>>> vice<https://webservices.sabre.com/websvc%7DOTA_HotelAva
> >>>>>>>>>>>> ilService>
> >>>>>>>>>>>> <https://webservices.sabre.com/websvc%7DOTA_HotelAvailS
> >>>>>>>>>>>> ervic e>
> >>>>>>
> >>>>>> <https://webservices.sabre.com/websvc%7DOTA_HotelAvailService>
> >>>>>> from
> >>>
> >>> WSDL:
> >>>>>>>>>>>> file:/C:/Java/abacus-webconnect-1.14.0.rc1
> >>>>>>>>
> >>>>>>>> /wsdl/OTA_HotelAvailLLS1.4.1RQ.wsdl
> >>>>>>>>
> >>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
> >>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils getCiphersuites
> >>>>>>>>>>>> INFO: The cipher suites have not been configured,
> >>>>>>>>>>>> falling back to
> >>>>>>>>
> >>>>>>>> cipher
> >>>>>>>>
> >>>>>>>>>>>> suite filters.
> >>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
> >>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils
> >>>>>>>>>>>> getCiphersFromList INFO: The cipher suites have been
> >>>>>>>>>>>> set to
> >>>>>>
> >>>>>> SSL_RSA_WITH_RC4_128_MD5,
> >>>>>>
> >>>>>>>>>>>> SSL_RSA_WITH_RC4_128_SHA, SSL_RSA_WITH_DES_CBC_SHA,
> >>>>>>>>>>>> SSL_DHE_RSA_WITH_DES_CBC_SHA,
> >>>>>>>>>>>> SSL_DHE_DSS_WITH_DES_CBC_SHA,
> >>>>>>>>>>>> SSL_RSA_EXPORT_WITH_RC4_40_MD5,
> >>>>>>
> >>>>>> SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
> >>>>>>
> >>>>>>>>>>>> SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
> >>>>>>>>>>>> SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,
> >>>>>>>>>>>> SSL_RSA_WITH_NULL_MD5, SSL_RSA_WITH_NULL_SHA,
> >>>>>>>>>>>> SSL_DH_anon_WITH_RC4_128_MD5,
> >>>>>>>>>>>> TLS_DH_anon_WITH_AES_128_CBC_SHA,
> >>>>>>
> >>>>>> SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,
> >>>>>>
> >>>>>>>>>>>> SSL_DH_anon_WITH_DES_CBC_SHA,
> >>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,
> >>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA,
> >>>>>>>>>>>> TLS_KRB5_WITH_DES_CBC_SHA, TLS_KRB5_WITH_DES_CBC_MD5,
> >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
> >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
> >>>>>>
> >>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
> >>>>>>
> >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5.  Feb 29, 2008
> >>>>>>>>>>>> 2:14:48 PM
> >>>>>>
> >>>>>> org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallba
> >>>>>> ckon Close
> >>>>>>
> >>>>>>>>>>>>  I have put this in my cxf.xml as in
> >>>>>>>>>>>> http://cwiki.apache.org/CXF20DOC/client-http-transport.
> >>>>>>>>>>>> html , but
> >>>>>>
> >>>>>> it
> >>>>>>
> >>>>>>>>>>>> doesn't
> >>>>>>>>>>>> help... <http:conduit name="*.http-conduit">
> >>>>>>>>>>>>             <http:tlsClientParameters
> >>>>>>>>>>>> secureSocketProtocol="SSL"> <sec:cipherSuitesFilter>
> >>>>>>>>>>>>                 <!-- these filters ensure that a
> >>>>>>>>>>>> ciphersuite with export-suitable or null encryption is
> >>>>>>>>>>>> used, but exclude anonymous Diffie-Hellman key change
> >>>>>>
> >>>>>> as
> >>>>>>
> >>>>>>>>>>>>                 this is vulnerable to man-in-the-middle
> >>>>>>>>>>>> attacks
> >>>>>>
> >>>>>> -->
> >>>>>>
> >>>>>>>>>>>>                 <sec:include>.*_EXPORT_.*</sec:include>
> >>>>>>>>>>>>
> >>>>>>>>>>>> <sec:include>.*_EXPORT1024_.*</sec:include>
> >>>>>>>>>>>> <sec:include>.*_WITH_DES_.*</sec:include>
> >>>>>>>>>>>> <sec:include>.*_WITH_NULL_.*</sec:include>
> >>>>>>>>>>>> <sec:exclude>.*_DH_anon_.*</sec:exclude>
> >>>>>>>>>>>> </sec:cipherSuitesFilter>
> >>>>>>>>>>>>         </http:tlsClientParameters>
> >>>>>>>>>>>> </http:conduit>
> >>>>>>>>>>
> >>>>>>>>>>  http://www.nabble.com/file/p15773252/cxf.log cxf.log
> >>>
> >>> --
> >>> J. Daniel Kulp
> >>> Principal Engineer, IONA
> >>> dkulp@apache.org
> >>> http://www.dankulp.com/blog



-- 
J. Daniel Kulp
Principal Engineer, IONA
dkulp@apache.org
http://www.dankulp.com/blog

Re: service caching

Posted by Willem Jiang <wi...@gmail.com>.
Hi Dan,

I think we could cache the ServiceInfo object and DataBinding object 
which will take lots of time to be created and can't be modified after that.
Any thought?

Willem

Daniel Kulp wrote:
> On Tuesday 04 March 2008, Christopher Cheng wrote:
>   
>> I haven't read the codes of Axis, but I have been using it for 2 years
>> and it doesn't have this problem.
>> Having an overhead for 5-8 seconds is not an option for a production
>> system in term of performance
>>
>> What you are saying is that all the services must implement Clonable
>> interface?
>>     
>
> No, not the services themselves.   Just our interal service model stuff 
> that holds all the metadata.  Basically, when creating a new service, we 
> need to calculate the metadata.   We should cache that if possible.
>
> Dan
>
>
>   
>> On Tue, Mar 4, 2008 at 4:48 AM, Daniel Kulp <dk...@apache.org> wrote:
>>     
>>> Christopher,
>>>
>>> We cannot just "reuse" the Service model objects as they are
>>> completely modifiable at runtime. For example, one proxy could be
>>> reconfigured with new address or have additional interceptors added
>>> or similar.  Those shouldn't affect others.
>>>
>>> On option that propably would make sense is to add a fast "clone"
>>> functionality to the entire service model so we could cache one, and
>>> then clone it whenever one is really needed.   All the individual
>>> versions could be modified and not affect the original.   However,
>>> doing that would be quite a bit of work as there are a LOT of
>>> classes that would need to be updated to support that.
>>>
>>> Patches towards that end would be great.   :-)
>>>
>>> Dan
>>>
>>> On Monday 03 March 2008, Christopher Cheng wrote:
>>>       
>>>> wsdl is indeed cached in WSDLManagerImpl.definitionsMap
>>>>
>>>> After reading the codes, I have some questions. My workstation is
>>>> a PentiumD 3GHz with 1.5GB RAM
>>>>
>>>> In the class
>>>> "org.apache.cxf.service.factory.ReflectionServiceFactoryBean.build
>>>> Serv iceFromWSDL(String url)",
>>>> "setService(factory.create());" takes 3 seconds
>>>> "getDataBinding().initialize(getService());" takes 2 seconds
>>>>
>>>> These 2 methods are called even in 2nd calls. Can you also cache
>>>> the services perhaps using jakarta commons-pool? or eh-cache?
>>>>
>>>> By the way, I found that the wsdl is put into the definitionMap
>>>> twice if " WSDLManagerImpl.getDefinition(URL url)" is called.
>>>> First in "getDefintion(URL url)" at line 147 and second in
>>>> "loadDefinition(String url)" at line 201.
>>>>
>>>>
>>>> On Mon, Mar 3, 2008 at 4:22 PM, Christopher Cheng <
>>>>
>>>> christopher.sw.cheng@gmail.com> wrote:
>>>>         
>>>>> wsdl is indeed cached in WSDLManagerImpl.definitionsMap
>>>>>
>>>>> After reading the codes, I have some questions. My workstation
>>>>> is a PentiumD 3GHz with 1.5GB RAM
>>>>>
>>>>> In the class "
>>>>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buil
>>>>> dSer viceFromWSDL(String url)",
>>>>> "setService(factory.create());" takes 3 seconds
>>>>> "getDataBinding().initialize(getService());" takes 2 seconds
>>>>>
>>>>> These 2 methods are called even in 2nd calls. Can you also cache
>>>>> the services perhaps using jakarta commons-pool? or eh-cache?
>>>>>
>>>>> By the way, I found that the wsdl is put into the definitionMap
>>>>> twice if " WSDLManagerImpl.getDefinition(URL url)" is called.
>>>>> First in "getDefintion(URL url)" at line 147 and second in
>>>>> "loadDefinition(String url)" at line 201.
>>>>>
>>>>>
>>>>>
>>>>> On Mon, Mar 3, 2008 at 9:43 AM, Willem Jiang
>>>>> <wi...@gmail.com>
>>>>>
>>>>> wrote:
>>>>>           
>>>>>> Hi,
>>>>>>
>>>>>> I just went through the code, we really cache the WSDL
>>>>>> definition in CXF.
>>>>>> Could you send your test case and wsdl file to me ? I may need
>>>>>> to trace it for more information.
>>>>>>
>>>>>> Regards,
>>>>>>
>>>>>> Willem
>>>>>>
>>>>>> Christopher Cheng wrote:
>>>>>>             
>>>>>>> I think the issue is still there. I used a for loop to
>>>>>>> execute the
>>>>>>>               
>>>>>> same
>>>>>>
>>>>>>             
>>>>>>> call, all takes approximately the same time to create
>>>>>>> service. I guess
>>>>>>>               
>>>>>> that
>>>>>>
>>>>>>             
>>>>>>> the service itself is not cached.
>>>>>>>
>>>>>>> On Sun, Mar 2, 2008 at 11:43 AM, Willem Jiang
>>>>>>> <wi...@gmail.com>
>>>>>>>
>>>>>>> wrote:
>>>>>>>               
>>>>>>>> Here is the JIRA[1] which describe the same thing that you
>>>>>>>> want. I don't know if it was really resolved, could you try
>>>>>>>> the latest released CXF 2.0.4 for it.
>>>>>>>>
>>>>>>>> If the issue is still there, please let me know , I will
>>>>>>>> put it to my next week todo list.
>>>>>>>>
>>>>>>>> [1]https://issues.apache.org/jira/browse/CXF-699
>>>>>>>> [2]http://cwiki.apache.org/CXF/download.html
>>>>>>>>
>>>>>>>> Willem.
>>>>>>>>
>>>>>>>> Christopher Cheng wrote:
>>>>>>>>                 
>>>>>>>>> I am migrating from Axis1.2 to CXF 2.0.3
>>>>>>>>>
>>>>>>>>> I understand that it will take a long time to build for
>>>>>>>>> the first
>>>>>>>>>                   
>>>>>> time.
>>>>>>
>>>>>>             
>>>>>>>> What
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> I am wondering is that why it takes so long for the second
>>>>>>>>> and third
>>>>>>>>>                   
>>>>>>>> time?
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> Is there any caching of services? Axis does not seem to
>>>>>>>>> have this
>>>>>>>>>                   
>>>>>> issue.
>>>>>>
>>>>>>             
>>>>>>>>> Christopher Cheng wrote:
>>>>>>>>>                   
>>>>>>>>>> Attached is the log
>>>>>>>>>>
>>>>>>>>>> ----- Original Message -----
>>>>>>>>>> From: "Willem Jiang" <wi...@gmail.com>
>>>>>>>>>> To: <cx...@incubator.apache.org>
>>>>>>>>>> Sent: Saturday, March 01, 2008 8:53 PM
>>>>>>>>>> Subject: Re: service caching?
>>>>>>>>>>
>>>>>>>>>>                     
>>>>>>>>>>> Hi
>>>>>>>>>>>
>>>>>>>>>>> Could you set the logger level to FINE ?
>>>>>>>>>>> So we can get more information about the service
>>>>>>>>>>> publishing.
>>>>>>>>>>>
>>>>>>>>>>> Willem.
>>>>>>>>>>>
>>>>>>>>>>> Christopher Cheng wrote:
>>>>>>>>>>>                       
>>>>>>>>>>>> When I call the service as a client, it takes 5 seconds
>>>>>>>>>>>> to load.
>>>>>>>>>>>>                         
>>>>>> I am
>>>>>>
>>>>>>             
>>>>>>>>>>>> not
>>>>>>>>>>>> sure whether it takes 5 seconds to create the service
>>>>>>>>>>>> or it takes
>>>>>>>>>>>>                         
>>>>>> 5
>>>>>>
>>>>>>             
>>>>>>>>>>>> seconds
>>>>>>>>>>>> to look up for ciper filters. I am wondering if the
>>>>>>>>>>>> services are cached...
>>>>>>>>>>>>  Feb 29, 2008 2:14:42 PM
>>>>>>>>>>>> org.apache.cxf.service.factory.ReflectionServiceFactory
>>>>>>>>>>>> Bean buildServiceFromWSDL
>>>>>>>>>>>> INFO: Creating Service
>>>>>>>>>>>> {https://webservices.sabre.com/websvc}OTA_HotelAvailSer
>>>>>>>>>>>> vice<https://webservices.sabre.com/websvc%7DOTA_HotelAva
>>>>>>>>>>>> ilService>
>>>>>>>>>>>> <https://webservices.sabre.com/websvc%7DOTA_HotelAvailS
>>>>>>>>>>>> ervic e>
>>>>>>>>>>>>                         
>>>>>> <https://webservices.sabre.com/websvc%7DOTA_HotelAvailService>
>>>>>> from
>>>>>>             
>>> WSDL:
>>>       
>>>>>>>>>>>> file:/C:/Java/abacus-webconnect-1.14.0.rc1
>>>>>>>>>>>>                         
>>>>>>>> /wsdl/OTA_HotelAvailLLS1.4.1RQ.wsdl
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
>>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils getCiphersuites
>>>>>>>>>>>> INFO: The cipher suites have not been configured,
>>>>>>>>>>>> falling back to
>>>>>>>>>>>>                         
>>>>>>>> cipher
>>>>>>>>
>>>>>>>>                 
>>>>>>>>>>>> suite filters.
>>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
>>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils
>>>>>>>>>>>> getCiphersFromList INFO: The cipher suites have been
>>>>>>>>>>>> set to
>>>>>>>>>>>>                         
>>>>>> SSL_RSA_WITH_RC4_128_MD5,
>>>>>>
>>>>>>             
>>>>>>>>>>>> SSL_RSA_WITH_RC4_128_SHA, SSL_RSA_WITH_DES_CBC_SHA,
>>>>>>>>>>>> SSL_DHE_RSA_WITH_DES_CBC_SHA,
>>>>>>>>>>>> SSL_DHE_DSS_WITH_DES_CBC_SHA,
>>>>>>>>>>>> SSL_RSA_EXPORT_WITH_RC4_40_MD5,
>>>>>>>>>>>>                         
>>>>>> SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
>>>>>>
>>>>>>             
>>>>>>>>>>>> SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
>>>>>>>>>>>> SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,
>>>>>>>>>>>> SSL_RSA_WITH_NULL_MD5, SSL_RSA_WITH_NULL_SHA,
>>>>>>>>>>>> SSL_DH_anon_WITH_RC4_128_MD5,
>>>>>>>>>>>> TLS_DH_anon_WITH_AES_128_CBC_SHA,
>>>>>>>>>>>>                         
>>>>>> SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,
>>>>>>
>>>>>>             
>>>>>>>>>>>> SSL_DH_anon_WITH_DES_CBC_SHA,
>>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,
>>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA,
>>>>>>>>>>>> TLS_KRB5_WITH_DES_CBC_SHA, TLS_KRB5_WITH_DES_CBC_MD5,
>>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
>>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
>>>>>>>>>>>>                         
>>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
>>>>>>
>>>>>>             
>>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5.  Feb 29, 2008
>>>>>>>>>>>> 2:14:48 PM
>>>>>>>>>>>>                         
>>>>>> org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallba
>>>>>> ckon Close
>>>>>>
>>>>>>             
>>>>>>>>>>>>  I have put this in my cxf.xml as in
>>>>>>>>>>>> http://cwiki.apache.org/CXF20DOC/client-http-transport.
>>>>>>>>>>>> html , but
>>>>>>>>>>>>                         
>>>>>> it
>>>>>>
>>>>>>             
>>>>>>>>>>>> doesn't
>>>>>>>>>>>> help... <http:conduit name="*.http-conduit">
>>>>>>>>>>>>             <http:tlsClientParameters
>>>>>>>>>>>> secureSocketProtocol="SSL"> <sec:cipherSuitesFilter>
>>>>>>>>>>>>                 <!-- these filters ensure that a
>>>>>>>>>>>> ciphersuite with export-suitable or null encryption is
>>>>>>>>>>>> used, but exclude anonymous Diffie-Hellman key change
>>>>>>>>>>>>                         
>>>>>> as
>>>>>>
>>>>>>             
>>>>>>>>>>>>                 this is vulnerable to man-in-the-middle
>>>>>>>>>>>> attacks
>>>>>>>>>>>>                         
>>>>>> -->
>>>>>>
>>>>>>             
>>>>>>>>>>>>                 <sec:include>.*_EXPORT_.*</sec:include>
>>>>>>>>>>>>                
>>>>>>>>>>>> <sec:include>.*_EXPORT1024_.*</sec:include>
>>>>>>>>>>>> <sec:include>.*_WITH_DES_.*</sec:include>
>>>>>>>>>>>> <sec:include>.*_WITH_NULL_.*</sec:include>
>>>>>>>>>>>> <sec:exclude>.*_DH_anon_.*</sec:exclude>
>>>>>>>>>>>> </sec:cipherSuitesFilter>
>>>>>>>>>>>>         </http:tlsClientParameters>
>>>>>>>>>>>> </http:conduit>
>>>>>>>>>>>>                         
>>>>>>>>>>  http://www.nabble.com/file/p15773252/cxf.log cxf.log
>>>>>>>>>>                     
>>> --
>>> J. Daniel Kulp
>>> Principal Engineer, IONA
>>> dkulp@apache.org
>>> http://www.dankulp.com/blog
>>>       
>
>
>
>   


Re: service caching

Posted by Daniel Kulp <dk...@apache.org>.
On Tuesday 04 March 2008, Christopher Cheng wrote:
> I haven't read the codes of Axis, but I have been using it for 2 years
> and it doesn't have this problem.
> Having an overhead for 5-8 seconds is not an option for a production
> system in term of performance
>
> What you are saying is that all the services must implement Clonable
> interface?

No, not the services themselves.   Just our interal service model stuff 
that holds all the metadata.  Basically, when creating a new service, we 
need to calculate the metadata.   We should cache that if possible.

Dan


>
> On Tue, Mar 4, 2008 at 4:48 AM, Daniel Kulp <dk...@apache.org> wrote:
> > Christopher,
> >
> > We cannot just "reuse" the Service model objects as they are
> > completely modifiable at runtime. For example, one proxy could be
> > reconfigured with new address or have additional interceptors added
> > or similar.  Those shouldn't affect others.
> >
> > On option that propably would make sense is to add a fast "clone"
> > functionality to the entire service model so we could cache one, and
> > then clone it whenever one is really needed.   All the individual
> > versions could be modified and not affect the original.   However,
> > doing that would be quite a bit of work as there are a LOT of
> > classes that would need to be updated to support that.
> >
> > Patches towards that end would be great.   :-)
> >
> > Dan
> >
> > On Monday 03 March 2008, Christopher Cheng wrote:
> > > wsdl is indeed cached in WSDLManagerImpl.definitionsMap
> > >
> > > After reading the codes, I have some questions. My workstation is
> > > a PentiumD 3GHz with 1.5GB RAM
> > >
> > > In the class
> > > "org.apache.cxf.service.factory.ReflectionServiceFactoryBean.build
> > >Serv iceFromWSDL(String url)",
> > > "setService(factory.create());" takes 3 seconds
> > > "getDataBinding().initialize(getService());" takes 2 seconds
> > >
> > > These 2 methods are called even in 2nd calls. Can you also cache
> > > the services perhaps using jakarta commons-pool? or eh-cache?
> > >
> > > By the way, I found that the wsdl is put into the definitionMap
> > > twice if " WSDLManagerImpl.getDefinition(URL url)" is called.
> > > First in "getDefintion(URL url)" at line 147 and second in
> > > "loadDefinition(String url)" at line 201.
> > >
> > >
> > > On Mon, Mar 3, 2008 at 4:22 PM, Christopher Cheng <
> > >
> > > christopher.sw.cheng@gmail.com> wrote:
> > > > wsdl is indeed cached in WSDLManagerImpl.definitionsMap
> > > >
> > > > After reading the codes, I have some questions. My workstation
> > > > is a PentiumD 3GHz with 1.5GB RAM
> > > >
> > > > In the class "
> > > > org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buil
> > > >dSer viceFromWSDL(String url)",
> > > > "setService(factory.create());" takes 3 seconds
> > > > "getDataBinding().initialize(getService());" takes 2 seconds
> > > >
> > > > These 2 methods are called even in 2nd calls. Can you also cache
> > > > the services perhaps using jakarta commons-pool? or eh-cache?
> > > >
> > > > By the way, I found that the wsdl is put into the definitionMap
> > > > twice if " WSDLManagerImpl.getDefinition(URL url)" is called.
> > > > First in "getDefintion(URL url)" at line 147 and second in
> > > > "loadDefinition(String url)" at line 201.
> > > >
> > > >
> > > >
> > > > On Mon, Mar 3, 2008 at 9:43 AM, Willem Jiang
> > > > <wi...@gmail.com>
> > > >
> > > > wrote:
> > > > > Hi,
> > > > >
> > > > > I just went through the code, we really cache the WSDL
> > > > > definition in CXF.
> > > > > Could you send your test case and wsdl file to me ? I may need
> > > > > to trace it for more information.
> > > > >
> > > > > Regards,
> > > > >
> > > > > Willem
> > > > >
> > > > > Christopher Cheng wrote:
> > > > > > I think the issue is still there. I used a for loop to
> > > > > > execute the
> > > > >
> > > > > same
> > > > >
> > > > > > call, all takes approximately the same time to create
> > > > > > service. I guess
> > > > >
> > > > > that
> > > > >
> > > > > > the service itself is not cached.
> > > > > >
> > > > > > On Sun, Mar 2, 2008 at 11:43 AM, Willem Jiang
> > > > > > <wi...@gmail.com>
> > > > > >
> > > > > > wrote:
> > > > > >> Here is the JIRA[1] which describe the same thing that you
> > > > > >> want. I don't know if it was really resolved, could you try
> > > > > >> the latest released CXF 2.0.4 for it.
> > > > > >>
> > > > > >> If the issue is still there, please let me know , I will
> > > > > >> put it to my next week todo list.
> > > > > >>
> > > > > >> [1]https://issues.apache.org/jira/browse/CXF-699
> > > > > >> [2]http://cwiki.apache.org/CXF/download.html
> > > > > >>
> > > > > >> Willem.
> > > > > >>
> > > > > >> Christopher Cheng wrote:
> > > > > >>> I am migrating from Axis1.2 to CXF 2.0.3
> > > > > >>>
> > > > > >>> I understand that it will take a long time to build for
> > > > > >>> the first
> > > > >
> > > > > time.
> > > > >
> > > > > >> What
> > > > > >>
> > > > > >>> I am wondering is that why it takes so long for the second
> > > > > >>> and third
> > > > > >>
> > > > > >> time?
> > > > > >>
> > > > > >>> Is there any caching of services? Axis does not seem to
> > > > > >>> have this
> > > > >
> > > > > issue.
> > > > >
> > > > > >>> Christopher Cheng wrote:
> > > > > >>>> Attached is the log
> > > > > >>>>
> > > > > >>>> ----- Original Message -----
> > > > > >>>> From: "Willem Jiang" <wi...@gmail.com>
> > > > > >>>> To: <cx...@incubator.apache.org>
> > > > > >>>> Sent: Saturday, March 01, 2008 8:53 PM
> > > > > >>>> Subject: Re: service caching?
> > > > > >>>>
> > > > > >>>>> Hi
> > > > > >>>>>
> > > > > >>>>> Could you set the logger level to FINE ?
> > > > > >>>>> So we can get more information about the service
> > > > > >>>>> publishing.
> > > > > >>>>>
> > > > > >>>>> Willem.
> > > > > >>>>>
> > > > > >>>>> Christopher Cheng wrote:
> > > > > >>>>>> When I call the service as a client, it takes 5 seconds
> > > > > >>>>>> to load.
> > > > >
> > > > > I am
> > > > >
> > > > > >>>>>> not
> > > > > >>>>>> sure whether it takes 5 seconds to create the service
> > > > > >>>>>> or it takes
> > > > >
> > > > > 5
> > > > >
> > > > > >>>>>> seconds
> > > > > >>>>>> to look up for ciper filters. I am wondering if the
> > > > > >>>>>> services are cached...
> > > > > >>>>>>  Feb 29, 2008 2:14:42 PM
> > > > > >>>>>> org.apache.cxf.service.factory.ReflectionServiceFactory
> > > > > >>>>>>Bean buildServiceFromWSDL
> > > > > >>>>>> INFO: Creating Service
> > > > > >>>>>> {https://webservices.sabre.com/websvc}OTA_HotelAvailSer
> > > > > >>>>>>vice<https://webservices.sabre.com/websvc%7DOTA_HotelAva
> > > > > >>>>>>ilService>
> > > > > >>>>>> <https://webservices.sabre.com/websvc%7DOTA_HotelAvailS
> > > > > >>>>>>ervic e>
> > > > >
> > > > > <https://webservices.sabre.com/websvc%7DOTA_HotelAvailService>
> > > > >from
> >
> > WSDL:
> > > > > >>>>>> file:/C:/Java/abacus-webconnect-1.14.0.rc1
> > > > > >>
> > > > > >> /wsdl/OTA_HotelAvailLLS1.4.1RQ.wsdl
> > > > > >>
> > > > > >>>>>> Feb 29, 2008 2:14:47 PM
> > > > > >>>>>> org.apache.cxf.transport.https.SSLUtils getCiphersuites
> > > > > >>>>>> INFO: The cipher suites have not been configured,
> > > > > >>>>>> falling back to
> > > > > >>
> > > > > >> cipher
> > > > > >>
> > > > > >>>>>> suite filters.
> > > > > >>>>>> Feb 29, 2008 2:14:47 PM
> > > > > >>>>>> org.apache.cxf.transport.https.SSLUtils
> > > > > >>>>>> getCiphersFromList INFO: The cipher suites have been
> > > > > >>>>>> set to
> > > > >
> > > > > SSL_RSA_WITH_RC4_128_MD5,
> > > > >
> > > > > >>>>>> SSL_RSA_WITH_RC4_128_SHA, SSL_RSA_WITH_DES_CBC_SHA,
> > > > > >>>>>> SSL_DHE_RSA_WITH_DES_CBC_SHA,
> > > > > >>>>>> SSL_DHE_DSS_WITH_DES_CBC_SHA,
> > > > > >>>>>> SSL_RSA_EXPORT_WITH_RC4_40_MD5,
> > > > >
> > > > > SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > > >
> > > > > >>>>>> SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > > > >>>>>> SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,
> > > > > >>>>>> SSL_RSA_WITH_NULL_MD5, SSL_RSA_WITH_NULL_SHA,
> > > > > >>>>>> SSL_DH_anon_WITH_RC4_128_MD5,
> > > > > >>>>>> TLS_DH_anon_WITH_AES_128_CBC_SHA,
> > > > >
> > > > > SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,
> > > > >
> > > > > >>>>>> SSL_DH_anon_WITH_DES_CBC_SHA,
> > > > > >>>>>> SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,
> > > > > >>>>>> SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA,
> > > > > >>>>>> TLS_KRB5_WITH_DES_CBC_SHA, TLS_KRB5_WITH_DES_CBC_MD5,
> > > > > >>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
> > > > > >>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
> > > > >
> > > > > TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
> > > > >
> > > > > >>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5.  Feb 29, 2008
> > > > > >>>>>> 2:14:48 PM
> > > > >
> > > > > org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallba
> > > > >ckon Close
> > > > >
> > > > > >>>>>>  I have put this in my cxf.xml as in
> > > > > >>>>>> http://cwiki.apache.org/CXF20DOC/client-http-transport.
> > > > > >>>>>>html , but
> > > > >
> > > > > it
> > > > >
> > > > > >>>>>> doesn't
> > > > > >>>>>> help... <http:conduit name="*.http-conduit">
> > > > > >>>>>>             <http:tlsClientParameters
> > > > > >>>>>> secureSocketProtocol="SSL"> <sec:cipherSuitesFilter>
> > > > > >>>>>>                 <!-- these filters ensure that a
> > > > > >>>>>> ciphersuite with export-suitable or null encryption is
> > > > > >>>>>> used, but exclude anonymous Diffie-Hellman key change
> > > > >
> > > > > as
> > > > >
> > > > > >>>>>>                 this is vulnerable to man-in-the-middle
> > > > > >>>>>> attacks
> > > > >
> > > > > -->
> > > > >
> > > > > >>>>>>                 <sec:include>.*_EXPORT_.*</sec:include>
> > > > > >>>>>>                
> > > > > >>>>>> <sec:include>.*_EXPORT1024_.*</sec:include>
> > > > > >>>>>> <sec:include>.*_WITH_DES_.*</sec:include>
> > > > > >>>>>> <sec:include>.*_WITH_NULL_.*</sec:include>
> > > > > >>>>>> <sec:exclude>.*_DH_anon_.*</sec:exclude>
> > > > > >>>>>> </sec:cipherSuitesFilter>
> > > > > >>>>>>         </http:tlsClientParameters>
> > > > > >>>>>> </http:conduit>
> > > > > >>>>
> > > > > >>>>  http://www.nabble.com/file/p15773252/cxf.log cxf.log
> >
> > --
> > J. Daniel Kulp
> > Principal Engineer, IONA
> > dkulp@apache.org
> > http://www.dankulp.com/blog



-- 
J. Daniel Kulp
Principal Engineer, IONA
dkulp@apache.org
http://www.dankulp.com/blog

Re: service caching

Posted by Christopher Cheng <ch...@gmail.com>.
I haven't read the codes of Axis, but I have been using it for 2 years and
it doesn't have this problem.
Having an overhead for 5-8 seconds is not an option for a production system
in term of performance

What you are saying is that all the services must implement Clonable
interface?

On Tue, Mar 4, 2008 at 4:48 AM, Daniel Kulp <dk...@apache.org> wrote:

>
> Christopher,
>
> We cannot just "reuse" the Service model objects as they are completely
> modifiable at runtime. For example, one proxy could be reconfigured with
> new address or have additional interceptors added or similar.  Those
> shouldn't affect others.
>
> On option that propably would make sense is to add a fast "clone"
> functionality to the entire service model so we could cache one, and
> then clone it whenever one is really needed.   All the individual
> versions could be modified and not affect the original.   However, doing
> that would be quite a bit of work as there are a LOT of classes that
> would need to be updated to support that.
>
> Patches towards that end would be great.   :-)
>
> Dan
>
>
> On Monday 03 March 2008, Christopher Cheng wrote:
> > wsdl is indeed cached in WSDLManagerImpl.definitionsMap
> >
> > After reading the codes, I have some questions. My workstation is a
> > PentiumD 3GHz with 1.5GB RAM
> >
> > In the class
> > "org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServ
> >iceFromWSDL(String url)",
> > "setService(factory.create());" takes 3 seconds
> > "getDataBinding().initialize(getService());" takes 2 seconds
> >
> > These 2 methods are called even in 2nd calls. Can you also cache the
> > services perhaps using jakarta commons-pool? or eh-cache?
> >
> > By the way, I found that the wsdl is put into the definitionMap twice
> > if " WSDLManagerImpl.getDefinition(URL url)" is called. First in
> > "getDefintion(URL url)" at line 147 and second in
> > "loadDefinition(String url)" at line 201.
> >
> >
> > On Mon, Mar 3, 2008 at 4:22 PM, Christopher Cheng <
> >
> > christopher.sw.cheng@gmail.com> wrote:
> > > wsdl is indeed cached in WSDLManagerImpl.definitionsMap
> > >
> > > After reading the codes, I have some questions. My workstation is a
> > > PentiumD 3GHz with 1.5GB RAM
> > >
> > > In the class "
> > > org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildSer
> > >viceFromWSDL(String url)",
> > > "setService(factory.create());" takes 3 seconds
> > > "getDataBinding().initialize(getService());" takes 2 seconds
> > >
> > > These 2 methods are called even in 2nd calls. Can you also cache the
> > > services perhaps using jakarta commons-pool? or eh-cache?
> > >
> > > By the way, I found that the wsdl is put into the definitionMap
> > > twice if " WSDLManagerImpl.getDefinition(URL url)" is called. First
> > > in "getDefintion(URL url)" at line 147 and second in
> > > "loadDefinition(String url)" at line 201.
> > >
> > >
> > >
> > > On Mon, Mar 3, 2008 at 9:43 AM, Willem Jiang
> > > <wi...@gmail.com>
> > >
> > > wrote:
> > > > Hi,
> > > >
> > > > I just went through the code, we really cache the WSDL definition
> > > > in CXF.
> > > > Could you send your test case and wsdl file to me ? I may need to
> > > > trace it for more information.
> > > >
> > > > Regards,
> > > >
> > > > Willem
> > > >
> > > > Christopher Cheng wrote:
> > > > > I think the issue is still there. I used a for loop to execute
> > > > > the
> > > >
> > > > same
> > > >
> > > > > call, all takes approximately the same time to create service. I
> > > > > guess
> > > >
> > > > that
> > > >
> > > > > the service itself is not cached.
> > > > >
> > > > > On Sun, Mar 2, 2008 at 11:43 AM, Willem Jiang
> > > > > <wi...@gmail.com>
> > > > >
> > > > > wrote:
> > > > >> Here is the JIRA[1] which describe the same thing that you
> > > > >> want. I don't know if it was really resolved, could you try the
> > > > >> latest released CXF 2.0.4 for it.
> > > > >>
> > > > >> If the issue is still there, please let me know , I will put it
> > > > >> to my next week todo list.
> > > > >>
> > > > >> [1]https://issues.apache.org/jira/browse/CXF-699
> > > > >> [2]http://cwiki.apache.org/CXF/download.html
> > > > >>
> > > > >> Willem.
> > > > >>
> > > > >> Christopher Cheng wrote:
> > > > >>> I am migrating from Axis1.2 to CXF 2.0.3
> > > > >>>
> > > > >>> I understand that it will take a long time to build for the
> > > > >>> first
> > > >
> > > > time.
> > > >
> > > > >> What
> > > > >>
> > > > >>> I am wondering is that why it takes so long for the second and
> > > > >>> third
> > > > >>
> > > > >> time?
> > > > >>
> > > > >>> Is there any caching of services? Axis does not seem to have
> > > > >>> this
> > > >
> > > > issue.
> > > >
> > > > >>> Christopher Cheng wrote:
> > > > >>>> Attached is the log
> > > > >>>>
> > > > >>>> ----- Original Message -----
> > > > >>>> From: "Willem Jiang" <wi...@gmail.com>
> > > > >>>> To: <cx...@incubator.apache.org>
> > > > >>>> Sent: Saturday, March 01, 2008 8:53 PM
> > > > >>>> Subject: Re: service caching?
> > > > >>>>
> > > > >>>>> Hi
> > > > >>>>>
> > > > >>>>> Could you set the logger level to FINE ?
> > > > >>>>> So we can get more information about the service publishing.
> > > > >>>>>
> > > > >>>>> Willem.
> > > > >>>>>
> > > > >>>>> Christopher Cheng wrote:
> > > > >>>>>> When I call the service as a client, it takes 5 seconds to
> > > > >>>>>> load.
> > > >
> > > > I am
> > > >
> > > > >>>>>> not
> > > > >>>>>> sure whether it takes 5 seconds to create the service or it
> > > > >>>>>> takes
> > > >
> > > > 5
> > > >
> > > > >>>>>> seconds
> > > > >>>>>> to look up for ciper filters. I am wondering if the
> > > > >>>>>> services are cached...
> > > > >>>>>>  Feb 29, 2008 2:14:42 PM
> > > > >>>>>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean
> > > > >>>>>> buildServiceFromWSDL
> > > > >>>>>> INFO: Creating Service
> > > > >>>>>> {https://webservices.sabre.com/websvc}OTA_HotelAvailService<https://webservices.sabre.com/websvc%7DOTA_HotelAvailService>
> > > > >>>>>><https://webservices.sabre.com/websvc%7DOTA_HotelAvailServic
> > > > >>>>>>e>
> > > >
> > > > <https://webservices.sabre.com/websvc%7DOTA_HotelAvailService>from
> WSDL:
> > > > >>>>>> file:/C:/Java/abacus-webconnect-1.14.0.rc1
> > > > >>
> > > > >> /wsdl/OTA_HotelAvailLLS1.4.1RQ.wsdl
> > > > >>
> > > > >>>>>> Feb 29, 2008 2:14:47 PM
> > > > >>>>>> org.apache.cxf.transport.https.SSLUtils getCiphersuites
> > > > >>>>>> INFO: The cipher suites have not been configured, falling
> > > > >>>>>> back to
> > > > >>
> > > > >> cipher
> > > > >>
> > > > >>>>>> suite filters.
> > > > >>>>>> Feb 29, 2008 2:14:47 PM
> > > > >>>>>> org.apache.cxf.transport.https.SSLUtils getCiphersFromList
> > > > >>>>>> INFO: The cipher suites have been set to
> > > >
> > > > SSL_RSA_WITH_RC4_128_MD5,
> > > >
> > > > >>>>>> SSL_RSA_WITH_RC4_128_SHA, SSL_RSA_WITH_DES_CBC_SHA,
> > > > >>>>>> SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA,
> > > > >>>>>> SSL_RSA_EXPORT_WITH_RC4_40_MD5,
> > > >
> > > > SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > >
> > > > >>>>>> SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > > >>>>>> SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,
> > > > >>>>>> SSL_RSA_WITH_NULL_MD5, SSL_RSA_WITH_NULL_SHA,
> > > > >>>>>> SSL_DH_anon_WITH_RC4_128_MD5,
> > > > >>>>>> TLS_DH_anon_WITH_AES_128_CBC_SHA,
> > > >
> > > > SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,
> > > >
> > > > >>>>>> SSL_DH_anon_WITH_DES_CBC_SHA,
> > > > >>>>>> SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,
> > > > >>>>>> SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA,
> > > > >>>>>> TLS_KRB5_WITH_DES_CBC_SHA, TLS_KRB5_WITH_DES_CBC_MD5,
> > > > >>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
> > > > >>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
> > > >
> > > > TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
> > > >
> > > > >>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5.  Feb 29, 2008 2:14:48
> > > > >>>>>> PM
> > > >
> > > > org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallbackon
> > > >Close
> > > >
> > > > >>>>>>  I have put this in my cxf.xml as in
> > > > >>>>>> http://cwiki.apache.org/CXF20DOC/client-http-transport.html
> > > > >>>>>>, but
> > > >
> > > > it
> > > >
> > > > >>>>>> doesn't
> > > > >>>>>> help... <http:conduit name="*.http-conduit">
> > > > >>>>>>             <http:tlsClientParameters
> > > > >>>>>> secureSocketProtocol="SSL"> <sec:cipherSuitesFilter>
> > > > >>>>>>                 <!-- these filters ensure that a
> > > > >>>>>> ciphersuite with export-suitable or null encryption is
> > > > >>>>>> used, but exclude anonymous Diffie-Hellman key change
> > > >
> > > > as
> > > >
> > > > >>>>>>                 this is vulnerable to man-in-the-middle
> > > > >>>>>> attacks
> > > >
> > > > -->
> > > >
> > > > >>>>>>                 <sec:include>.*_EXPORT_.*</sec:include>
> > > > >>>>>>                 <sec:include>.*_EXPORT1024_.*</sec:include>
> > > > >>>>>>                 <sec:include>.*_WITH_DES_.*</sec:include>
> > > > >>>>>>                 <sec:include>.*_WITH_NULL_.*</sec:include>
> > > > >>>>>>                 <sec:exclude>.*_DH_anon_.*</sec:exclude>
> > > > >>>>>>             </sec:cipherSuitesFilter>
> > > > >>>>>>         </http:tlsClientParameters>
> > > > >>>>>> </http:conduit>
> > > > >>>>
> > > > >>>>  http://www.nabble.com/file/p15773252/cxf.log cxf.log
>
>
>
> --
> J. Daniel Kulp
> Principal Engineer, IONA
> dkulp@apache.org
> http://www.dankulp.com/blog
>

Re: service caching

Posted by Daniel Kulp <dk...@apache.org>.
Christopher,

We cannot just "reuse" the Service model objects as they are completely 
modifiable at runtime. For example, one proxy could be reconfigured with 
new address or have additional interceptors added or similar.  Those 
shouldn't affect others.

On option that propably would make sense is to add a fast "clone" 
functionality to the entire service model so we could cache one, and 
then clone it whenever one is really needed.   All the individual 
versions could be modified and not affect the original.   However, doing 
that would be quite a bit of work as there are a LOT of classes that 
would need to be updated to support that.

Patches towards that end would be great.   :-)

Dan


On Monday 03 March 2008, Christopher Cheng wrote:
> wsdl is indeed cached in WSDLManagerImpl.definitionsMap
>
> After reading the codes, I have some questions. My workstation is a
> PentiumD 3GHz with 1.5GB RAM
>
> In the class
> "org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServ
>iceFromWSDL(String url)",
> "setService(factory.create());" takes 3 seconds
> "getDataBinding().initialize(getService());" takes 2 seconds
>
> These 2 methods are called even in 2nd calls. Can you also cache the
> services perhaps using jakarta commons-pool? or eh-cache?
>
> By the way, I found that the wsdl is put into the definitionMap twice
> if " WSDLManagerImpl.getDefinition(URL url)" is called. First in
> "getDefintion(URL url)" at line 147 and second in
> "loadDefinition(String url)" at line 201.
>
>
> On Mon, Mar 3, 2008 at 4:22 PM, Christopher Cheng <
>
> christopher.sw.cheng@gmail.com> wrote:
> > wsdl is indeed cached in WSDLManagerImpl.definitionsMap
> >
> > After reading the codes, I have some questions. My workstation is a
> > PentiumD 3GHz with 1.5GB RAM
> >
> > In the class "
> > org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildSer
> >viceFromWSDL(String url)",
> > "setService(factory.create());" takes 3 seconds
> > "getDataBinding().initialize(getService());" takes 2 seconds
> >
> > These 2 methods are called even in 2nd calls. Can you also cache the
> > services perhaps using jakarta commons-pool? or eh-cache?
> >
> > By the way, I found that the wsdl is put into the definitionMap
> > twice if " WSDLManagerImpl.getDefinition(URL url)" is called. First
> > in "getDefintion(URL url)" at line 147 and second in
> > "loadDefinition(String url)" at line 201.
> >
> >
> >
> > On Mon, Mar 3, 2008 at 9:43 AM, Willem Jiang
> > <wi...@gmail.com>
> >
> > wrote:
> > > Hi,
> > >
> > > I just went through the code, we really cache the WSDL definition
> > > in CXF.
> > > Could you send your test case and wsdl file to me ? I may need to
> > > trace it for more information.
> > >
> > > Regards,
> > >
> > > Willem
> > >
> > > Christopher Cheng wrote:
> > > > I think the issue is still there. I used a for loop to execute
> > > > the
> > >
> > > same
> > >
> > > > call, all takes approximately the same time to create service. I
> > > > guess
> > >
> > > that
> > >
> > > > the service itself is not cached.
> > > >
> > > > On Sun, Mar 2, 2008 at 11:43 AM, Willem Jiang
> > > > <wi...@gmail.com>
> > > >
> > > > wrote:
> > > >> Here is the JIRA[1] which describe the same thing that you
> > > >> want. I don't know if it was really resolved, could you try the
> > > >> latest released CXF 2.0.4 for it.
> > > >>
> > > >> If the issue is still there, please let me know , I will put it
> > > >> to my next week todo list.
> > > >>
> > > >> [1]https://issues.apache.org/jira/browse/CXF-699
> > > >> [2]http://cwiki.apache.org/CXF/download.html
> > > >>
> > > >> Willem.
> > > >>
> > > >> Christopher Cheng wrote:
> > > >>> I am migrating from Axis1.2 to CXF 2.0.3
> > > >>>
> > > >>> I understand that it will take a long time to build for the
> > > >>> first
> > >
> > > time.
> > >
> > > >> What
> > > >>
> > > >>> I am wondering is that why it takes so long for the second and
> > > >>> third
> > > >>
> > > >> time?
> > > >>
> > > >>> Is there any caching of services? Axis does not seem to have
> > > >>> this
> > >
> > > issue.
> > >
> > > >>> Christopher Cheng wrote:
> > > >>>> Attached is the log
> > > >>>>
> > > >>>> ----- Original Message -----
> > > >>>> From: "Willem Jiang" <wi...@gmail.com>
> > > >>>> To: <cx...@incubator.apache.org>
> > > >>>> Sent: Saturday, March 01, 2008 8:53 PM
> > > >>>> Subject: Re: service caching?
> > > >>>>
> > > >>>>> Hi
> > > >>>>>
> > > >>>>> Could you set the logger level to FINE ?
> > > >>>>> So we can get more information about the service publishing.
> > > >>>>>
> > > >>>>> Willem.
> > > >>>>>
> > > >>>>> Christopher Cheng wrote:
> > > >>>>>> When I call the service as a client, it takes 5 seconds to
> > > >>>>>> load.
> > >
> > > I am
> > >
> > > >>>>>> not
> > > >>>>>> sure whether it takes 5 seconds to create the service or it
> > > >>>>>> takes
> > >
> > > 5
> > >
> > > >>>>>> seconds
> > > >>>>>> to look up for ciper filters. I am wondering if the
> > > >>>>>> services are cached...
> > > >>>>>>  Feb 29, 2008 2:14:42 PM
> > > >>>>>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean
> > > >>>>>> buildServiceFromWSDL
> > > >>>>>> INFO: Creating Service
> > > >>>>>> {https://webservices.sabre.com/websvc}OTA_HotelAvailService
> > > >>>>>><https://webservices.sabre.com/websvc%7DOTA_HotelAvailServic
> > > >>>>>>e>
> > >
> > > <https://webservices.sabre.com/websvc%7DOTA_HotelAvailService>from 
WSDL:
> > > >>>>>> file:/C:/Java/abacus-webconnect-1.14.0.rc1
> > > >>
> > > >> /wsdl/OTA_HotelAvailLLS1.4.1RQ.wsdl
> > > >>
> > > >>>>>> Feb 29, 2008 2:14:47 PM
> > > >>>>>> org.apache.cxf.transport.https.SSLUtils getCiphersuites
> > > >>>>>> INFO: The cipher suites have not been configured, falling
> > > >>>>>> back to
> > > >>
> > > >> cipher
> > > >>
> > > >>>>>> suite filters.
> > > >>>>>> Feb 29, 2008 2:14:47 PM
> > > >>>>>> org.apache.cxf.transport.https.SSLUtils getCiphersFromList
> > > >>>>>> INFO: The cipher suites have been set to
> > >
> > > SSL_RSA_WITH_RC4_128_MD5,
> > >
> > > >>>>>> SSL_RSA_WITH_RC4_128_SHA, SSL_RSA_WITH_DES_CBC_SHA,
> > > >>>>>> SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA,
> > > >>>>>> SSL_RSA_EXPORT_WITH_RC4_40_MD5,
> > >
> > > SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > >
> > > >>>>>> SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > >>>>>> SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,
> > > >>>>>> SSL_RSA_WITH_NULL_MD5, SSL_RSA_WITH_NULL_SHA,
> > > >>>>>> SSL_DH_anon_WITH_RC4_128_MD5,
> > > >>>>>> TLS_DH_anon_WITH_AES_128_CBC_SHA,
> > >
> > > SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,
> > >
> > > >>>>>> SSL_DH_anon_WITH_DES_CBC_SHA,
> > > >>>>>> SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,
> > > >>>>>> SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA,
> > > >>>>>> TLS_KRB5_WITH_DES_CBC_SHA, TLS_KRB5_WITH_DES_CBC_MD5,
> > > >>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
> > > >>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
> > >
> > > TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
> > >
> > > >>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5.  Feb 29, 2008 2:14:48
> > > >>>>>> PM
> > >
> > > org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallbackon
> > >Close
> > >
> > > >>>>>>  I have put this in my cxf.xml as in
> > > >>>>>> http://cwiki.apache.org/CXF20DOC/client-http-transport.html
> > > >>>>>>, but
> > >
> > > it
> > >
> > > >>>>>> doesn't
> > > >>>>>> help... <http:conduit name="*.http-conduit">
> > > >>>>>>             <http:tlsClientParameters
> > > >>>>>> secureSocketProtocol="SSL"> <sec:cipherSuitesFilter>
> > > >>>>>>                 <!-- these filters ensure that a
> > > >>>>>> ciphersuite with export-suitable or null encryption is
> > > >>>>>> used, but exclude anonymous Diffie-Hellman key change
> > >
> > > as
> > >
> > > >>>>>>                 this is vulnerable to man-in-the-middle
> > > >>>>>> attacks
> > >
> > > -->
> > >
> > > >>>>>>                 <sec:include>.*_EXPORT_.*</sec:include>
> > > >>>>>>                 <sec:include>.*_EXPORT1024_.*</sec:include>
> > > >>>>>>                 <sec:include>.*_WITH_DES_.*</sec:include>
> > > >>>>>>                 <sec:include>.*_WITH_NULL_.*</sec:include>
> > > >>>>>>                 <sec:exclude>.*_DH_anon_.*</sec:exclude>
> > > >>>>>>             </sec:cipherSuitesFilter>
> > > >>>>>>         </http:tlsClientParameters>
> > > >>>>>> </http:conduit>
> > > >>>>
> > > >>>>  http://www.nabble.com/file/p15773252/cxf.log cxf.log



-- 
J. Daniel Kulp
Principal Engineer, IONA
dkulp@apache.org
http://www.dankulp.com/blog

Re: service caching

Posted by Willem Jiang <wi...@gmail.com>.
Yes,  create the service and initialize the data binding take lots of time.

Since CXF build a new service and data binding for each endpoint , I 
think we could cached the service object with the service name. This 
feature is useful for a big WSDL with one service and several ports.

Any thought?

For the WSDLManagerImpl.getDefinition(), one put is taking the URL as the KEY and the other put is using the url.toString() as the Key.


Willem.

Christopher Cheng wrote:
> wsdl is indeed cached in WSDLManagerImpl.definitionsMap
>
> After reading the codes, I have some questions. My workstation is a PentiumD
> 3GHz with 1.5GB RAM
>
> In the class "org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(String
> url)",
> "setService(factory.create());" takes 3 seconds
> "getDataBinding().initialize(getService());" takes 2 seconds
>
> These 2 methods are called even in 2nd calls. Can you also cache the
> services perhaps using jakarta commons-pool? or eh-cache?
>
> By the way, I found that the wsdl is put into the definitionMap twice if "
> WSDLManagerImpl.getDefinition(URL url)" is called. First in
> "getDefintion(URL url)" at line 147 and second in "loadDefinition(String
> url)" at line 201.
>
>
> On Mon, Mar 3, 2008 at 4:22 PM, Christopher Cheng <
> christopher.sw.cheng@gmail.com> wrote:
>
>   
>> wsdl is indeed cached in WSDLManagerImpl.definitionsMap
>>
>> After reading the codes, I have some questions. My workstation is a
>> PentiumD 3GHz with 1.5GB RAM
>>
>> In the class "
>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(String
>> url)",
>> "setService(factory.create());" takes 3 seconds
>> "getDataBinding().initialize(getService());" takes 2 seconds
>>
>> These 2 methods are called even in 2nd calls. Can you also cache the
>> services perhaps using jakarta commons-pool? or eh-cache?
>>
>> By the way, I found that the wsdl is put into the definitionMap twice if "
>> WSDLManagerImpl.getDefinition(URL url)" is called. First in
>> "getDefintion(URL url)" at line 147 and second in "loadDefinition(String
>> url)" at line 201.
>>
>>
>>
>> On Mon, Mar 3, 2008 at 9:43 AM, Willem Jiang <wi...@gmail.com>
>> wrote:
>>
>>     
>>> Hi,
>>>
>>> I just went through the code, we really cache the WSDL definition in
>>> CXF.
>>> Could you send your test case and wsdl file to me ? I may need to trace
>>> it for more information.
>>>
>>> Regards,
>>>
>>> Willem
>>> Christopher Cheng wrote:
>>>       
>>>> I think the issue is still there. I used a for loop to execute the
>>>>         
>>> same
>>>       
>>>> call, all takes approximately the same time to create service. I guess
>>>>         
>>> that
>>>       
>>>> the service itself is not cached.
>>>>
>>>> On Sun, Mar 2, 2008 at 11:43 AM, Willem Jiang <wi...@gmail.com>
>>>> wrote:
>>>>
>>>>
>>>>         
>>>>> Here is the JIRA[1] which describe the same thing that you want.
>>>>> I don't know if it was really resolved, could you try the latest
>>>>> released CXF 2.0.4 for it.
>>>>>
>>>>> If the issue is still there, please let me know , I will put it to my
>>>>> next week todo list.
>>>>>
>>>>> [1]https://issues.apache.org/jira/browse/CXF-699
>>>>> [2]http://cwiki.apache.org/CXF/download.html
>>>>>
>>>>> Willem.
>>>>>
>>>>> Christopher Cheng wrote:
>>>>>
>>>>>           
>>>>>> I am migrating from Axis1.2 to CXF 2.0.3
>>>>>>
>>>>>> I understand that it will take a long time to build for the first
>>>>>>             
>>> time.
>>>       
>>>>> What
>>>>>
>>>>>           
>>>>>> I am wondering is that why it takes so long for the second and third
>>>>>>
>>>>>>             
>>>>> time?
>>>>>
>>>>>           
>>>>>> Is there any caching of services? Axis does not seem to have this
>>>>>>             
>>> issue.
>>>       
>>>>>>
>>>>>> Christopher Cheng wrote:
>>>>>>
>>>>>>
>>>>>>             
>>>>>>> Attached is the log
>>>>>>>
>>>>>>> ----- Original Message -----
>>>>>>> From: "Willem Jiang" <wi...@gmail.com>
>>>>>>> To: <cx...@incubator.apache.org>
>>>>>>> Sent: Saturday, March 01, 2008 8:53 PM
>>>>>>> Subject: Re: service caching?
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>               
>>>>>>>> Hi
>>>>>>>>
>>>>>>>> Could you set the logger level to FINE ?
>>>>>>>> So we can get more information about the service publishing.
>>>>>>>>
>>>>>>>> Willem.
>>>>>>>>
>>>>>>>> Christopher Cheng wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>>>> When I call the service as a client, it takes 5 seconds to load.
>>>>>>>>>                   
>>> I am
>>>       
>>>>>>>>> not
>>>>>>>>> sure whether it takes 5 seconds to create the service or it takes
>>>>>>>>>                   
>>> 5
>>>       
>>>>>>>>> seconds
>>>>>>>>> to look up for ciper filters. I am wondering if the services are
>>>>>>>>> cached...
>>>>>>>>>  Feb 29, 2008 2:14:42 PM
>>>>>>>>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean
>>>>>>>>> buildServiceFromWSDL
>>>>>>>>> INFO: Creating Service
>>>>>>>>> {https://webservices.sabre.com/websvc}OTA_HotelAvailService<https://webservices.sabre.com/websvc%7DOTA_HotelAvailService>
>>>>>>>>>                   
>>> <https://webservices.sabre.com/websvc%7DOTA_HotelAvailService>from WSDL:
>>>       
>>>>>>>>> file:/C:/Java/abacus-webconnect-1.14.0.rc1
>>>>>>>>>
>>>>>>>>>                   
>>>>> /wsdl/OTA_HotelAvailLLS1.4.1RQ.wsdl
>>>>>
>>>>>           
>>>>>>>>> Feb 29, 2008 2:14:47 PM org.apache.cxf.transport.https.SSLUtils
>>>>>>>>> getCiphersuites
>>>>>>>>> INFO: The cipher suites have not been configured, falling back to
>>>>>>>>>
>>>>>>>>>                   
>>>>> cipher
>>>>>
>>>>>           
>>>>>>>>> suite filters.
>>>>>>>>> Feb 29, 2008 2:14:47 PM org.apache.cxf.transport.https.SSLUtils
>>>>>>>>> getCiphersFromList
>>>>>>>>> INFO: The cipher suites have been set to
>>>>>>>>>                   
>>> SSL_RSA_WITH_RC4_128_MD5,
>>>       
>>>>>>>>> SSL_RSA_WITH_RC4_128_SHA, SSL_RSA_WITH_DES_CBC_SHA,
>>>>>>>>> SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA,
>>>>>>>>> SSL_RSA_EXPORT_WITH_RC4_40_MD5,
>>>>>>>>>                   
>>> SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
>>>       
>>>>>>>>> SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
>>>>>>>>> SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, SSL_RSA_WITH_NULL_MD5,
>>>>>>>>> SSL_RSA_WITH_NULL_SHA, SSL_DH_anon_WITH_RC4_128_MD5,
>>>>>>>>> TLS_DH_anon_WITH_AES_128_CBC_SHA,
>>>>>>>>>                   
>>> SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,
>>>       
>>>>>>>>> SSL_DH_anon_WITH_DES_CBC_SHA, SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,
>>>>>>>>> SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA, TLS_KRB5_WITH_DES_CBC_SHA,
>>>>>>>>> TLS_KRB5_WITH_DES_CBC_MD5, TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
>>>>>>>>>                   
>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
>>>       
>>>>>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5.  Feb 29, 2008 2:14:48 PM
>>>>>>>>>
>>>>>>>>>                   
>>> org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallbackonClose
>>>       
>>>>>>>>>  I have put this in my cxf.xml as in
>>>>>>>>> http://cwiki.apache.org/CXF20DOC/client-http-transport.html, but
>>>>>>>>>                   
>>> it
>>>       
>>>>>>>>> doesn't
>>>>>>>>> help... <http:conduit name="*.http-conduit">
>>>>>>>>>             <http:tlsClientParameters secureSocketProtocol="SSL">
>>>>>>>>>             <sec:cipherSuitesFilter>
>>>>>>>>>                 <!-- these filters ensure that a ciphersuite with
>>>>>>>>>                 export-suitable or null encryption is used,
>>>>>>>>>                 but exclude anonymous Diffie-Hellman key change
>>>>>>>>>                   
>>> as
>>>       
>>>>>>>>>                 this is vulnerable to man-in-the-middle attacks
>>>>>>>>>                   
>>> -->
>>>       
>>>>>>>>>                 <sec:include>.*_EXPORT_.*</sec:include>
>>>>>>>>>                 <sec:include>.*_EXPORT1024_.*</sec:include>
>>>>>>>>>                 <sec:include>.*_WITH_DES_.*</sec:include>
>>>>>>>>>                 <sec:include>.*_WITH_NULL_.*</sec:include>
>>>>>>>>>                 <sec:exclude>.*_DH_anon_.*</sec:exclude>
>>>>>>>>>             </sec:cipherSuitesFilter>
>>>>>>>>>         </http:tlsClientParameters>
>>>>>>>>> </http:conduit>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>                   
>>>>>>>  http://www.nabble.com/file/p15773252/cxf.log cxf.log
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>               
>>>>         
>>>       
>
>   


Re: service caching

Posted by Christopher Cheng <ch...@gmail.com>.
wsdl is indeed cached in WSDLManagerImpl.definitionsMap

After reading the codes, I have some questions. My workstation is a PentiumD
3GHz with 1.5GB RAM

In the class "org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(String
url)",
"setService(factory.create());" takes 3 seconds
"getDataBinding().initialize(getService());" takes 2 seconds

These 2 methods are called even in 2nd calls. Can you also cache the
services perhaps using jakarta commons-pool? or eh-cache?

By the way, I found that the wsdl is put into the definitionMap twice if "
WSDLManagerImpl.getDefinition(URL url)" is called. First in
"getDefintion(URL url)" at line 147 and second in "loadDefinition(String
url)" at line 201.


On Mon, Mar 3, 2008 at 4:22 PM, Christopher Cheng <
christopher.sw.cheng@gmail.com> wrote:

> wsdl is indeed cached in WSDLManagerImpl.definitionsMap
>
> After reading the codes, I have some questions. My workstation is a
> PentiumD 3GHz with 1.5GB RAM
>
> In the class "
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(String
> url)",
> "setService(factory.create());" takes 3 seconds
> "getDataBinding().initialize(getService());" takes 2 seconds
>
> These 2 methods are called even in 2nd calls. Can you also cache the
> services perhaps using jakarta commons-pool? or eh-cache?
>
> By the way, I found that the wsdl is put into the definitionMap twice if "
> WSDLManagerImpl.getDefinition(URL url)" is called. First in
> "getDefintion(URL url)" at line 147 and second in "loadDefinition(String
> url)" at line 201.
>
>
>
> On Mon, Mar 3, 2008 at 9:43 AM, Willem Jiang <wi...@gmail.com>
> wrote:
>
> > Hi,
> >
> > I just went through the code, we really cache the WSDL definition in
> > CXF.
> > Could you send your test case and wsdl file to me ? I may need to trace
> > it for more information.
> >
> > Regards,
> >
> > Willem
> > Christopher Cheng wrote:
> > > I think the issue is still there. I used a for loop to execute the
> > same
> > > call, all takes approximately the same time to create service. I guess
> > that
> > > the service itself is not cached.
> > >
> > > On Sun, Mar 2, 2008 at 11:43 AM, Willem Jiang <wi...@gmail.com>
> > > wrote:
> > >
> > >
> > >> Here is the JIRA[1] which describe the same thing that you want.
> > >> I don't know if it was really resolved, could you try the latest
> > >> released CXF 2.0.4 for it.
> > >>
> > >> If the issue is still there, please let me know , I will put it to my
> > >> next week todo list.
> > >>
> > >> [1]https://issues.apache.org/jira/browse/CXF-699
> > >> [2]http://cwiki.apache.org/CXF/download.html
> > >>
> > >> Willem.
> > >>
> > >> Christopher Cheng wrote:
> > >>
> > >>> I am migrating from Axis1.2 to CXF 2.0.3
> > >>>
> > >>> I understand that it will take a long time to build for the first
> > time.
> > >>>
> > >> What
> > >>
> > >>> I am wondering is that why it takes so long for the second and third
> > >>>
> > >> time?
> > >>
> > >>> Is there any caching of services? Axis does not seem to have this
> > issue.
> > >>>
> > >>>
> > >>>
> > >>> Christopher Cheng wrote:
> > >>>
> > >>>
> > >>>> Attached is the log
> > >>>>
> > >>>> ----- Original Message -----
> > >>>> From: "Willem Jiang" <wi...@gmail.com>
> > >>>> To: <cx...@incubator.apache.org>
> > >>>> Sent: Saturday, March 01, 2008 8:53 PM
> > >>>> Subject: Re: service caching?
> > >>>>
> > >>>>
> > >>>>
> > >>>>
> > >>>>> Hi
> > >>>>>
> > >>>>> Could you set the logger level to FINE ?
> > >>>>> So we can get more information about the service publishing.
> > >>>>>
> > >>>>> Willem.
> > >>>>>
> > >>>>> Christopher Cheng wrote:
> > >>>>>
> > >>>>>
> > >>>>>> When I call the service as a client, it takes 5 seconds to load.
> > I am
> > >>>>>> not
> > >>>>>> sure whether it takes 5 seconds to create the service or it takes
> > 5
> > >>>>>> seconds
> > >>>>>> to look up for ciper filters. I am wondering if the services are
> > >>>>>> cached...
> > >>>>>>  Feb 29, 2008 2:14:42 PM
> > >>>>>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean
> > >>>>>> buildServiceFromWSDL
> > >>>>>> INFO: Creating Service
> > >>>>>> {https://webservices.sabre.com/websvc}OTA_HotelAvailService<https://webservices.sabre.com/websvc%7DOTA_HotelAvailService>
> > <https://webservices.sabre.com/websvc%7DOTA_HotelAvailService>from WSDL:
> > >>>>>> file:/C:/Java/abacus-webconnect-1.14.0.rc1
> > >>>>>>
> > >> /wsdl/OTA_HotelAvailLLS1.4.1RQ.wsdl
> > >>
> > >>>>>> Feb 29, 2008 2:14:47 PM org.apache.cxf.transport.https.SSLUtils
> > >>>>>> getCiphersuites
> > >>>>>> INFO: The cipher suites have not been configured, falling back to
> > >>>>>>
> > >> cipher
> > >>
> > >>>>>> suite filters.
> > >>>>>> Feb 29, 2008 2:14:47 PM org.apache.cxf.transport.https.SSLUtils
> > >>>>>> getCiphersFromList
> > >>>>>> INFO: The cipher suites have been set to
> > SSL_RSA_WITH_RC4_128_MD5,
> > >>>>>> SSL_RSA_WITH_RC4_128_SHA, SSL_RSA_WITH_DES_CBC_SHA,
> > >>>>>> SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA,
> > >>>>>> SSL_RSA_EXPORT_WITH_RC4_40_MD5,
> > SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > >>>>>> SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > >>>>>> SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, SSL_RSA_WITH_NULL_MD5,
> > >>>>>> SSL_RSA_WITH_NULL_SHA, SSL_DH_anon_WITH_RC4_128_MD5,
> > >>>>>> TLS_DH_anon_WITH_AES_128_CBC_SHA,
> > SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,
> > >>>>>> SSL_DH_anon_WITH_DES_CBC_SHA, SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,
> > >>>>>> SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA, TLS_KRB5_WITH_DES_CBC_SHA,
> > >>>>>> TLS_KRB5_WITH_DES_CBC_MD5, TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
> > >>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
> > TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
> > >>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5.  Feb 29, 2008 2:14:48 PM
> > >>>>>>
> > org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallbackonClose
> > >>>>>>  I have put this in my cxf.xml as in
> > >>>>>> http://cwiki.apache.org/CXF20DOC/client-http-transport.html, but
> > it
> > >>>>>> doesn't
> > >>>>>> help... <http:conduit name="*.http-conduit">
> > >>>>>>             <http:tlsClientParameters secureSocketProtocol="SSL">
> > >>>>>>             <sec:cipherSuitesFilter>
> > >>>>>>                 <!-- these filters ensure that a ciphersuite with
> > >>>>>>                 export-suitable or null encryption is used,
> > >>>>>>                 but exclude anonymous Diffie-Hellman key change
> > as
> > >>>>>>                 this is vulnerable to man-in-the-middle attacks
> > -->
> > >>>>>>                 <sec:include>.*_EXPORT_.*</sec:include>
> > >>>>>>                 <sec:include>.*_EXPORT1024_.*</sec:include>
> > >>>>>>                 <sec:include>.*_WITH_DES_.*</sec:include>
> > >>>>>>                 <sec:include>.*_WITH_NULL_.*</sec:include>
> > >>>>>>                 <sec:exclude>.*_DH_anon_.*</sec:exclude>
> > >>>>>>             </sec:cipherSuitesFilter>
> > >>>>>>         </http:tlsClientParameters>
> > >>>>>> </http:conduit>
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>  http://www.nabble.com/file/p15773252/cxf.log cxf.log
> > >>>>
> > >>>>
> > >>>>
> > >>>
> > >>
> > >
> > >
> >
> >
>

Re: service caching

Posted by Christopher Cheng <ch...@gmail.com>.
I think the issue is still there. I used a for loop to execute the same
call, all takes approximately the same time to create service. I guess that
the service itself is not cached.

On Sun, Mar 2, 2008 at 11:43 AM, Willem Jiang <wi...@gmail.com>
wrote:

> Here is the JIRA[1] which describe the same thing that you want.
> I don't know if it was really resolved, could you try the latest
> released CXF 2.0.4 for it.
>
> If the issue is still there, please let me know , I will put it to my
> next week todo list.
>
> [1]https://issues.apache.org/jira/browse/CXF-699
> [2]http://cwiki.apache.org/CXF/download.html
>
> Willem.
>
> Christopher Cheng wrote:
> > I am migrating from Axis1.2 to CXF 2.0.3
> >
> > I understand that it will take a long time to build for the first time.
> What
> > I am wondering is that why it takes so long for the second and third
> time?
> > Is there any caching of services? Axis does not seem to have this issue.
> >
> >
> >
> > Christopher Cheng wrote:
> >
> >> Attached is the log
> >>
> >> ----- Original Message -----
> >> From: "Willem Jiang" <wi...@gmail.com>
> >> To: <cx...@incubator.apache.org>
> >> Sent: Saturday, March 01, 2008 8:53 PM
> >> Subject: Re: service caching?
> >>
> >>
> >>
> >>> Hi
> >>>
> >>> Could you set the logger level to FINE ?
> >>> So we can get more information about the service publishing.
> >>>
> >>> Willem.
> >>>
> >>> Christopher Cheng wrote:
> >>>
> >>>> When I call the service as a client, it takes 5 seconds to load. I am
> >>>> not
> >>>> sure whether it takes 5 seconds to create the service or it takes 5
> >>>> seconds
> >>>> to look up for ciper filters. I am wondering if the services are
> >>>> cached...
> >>>>  Feb 29, 2008 2:14:42 PM
> >>>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean
> >>>> buildServiceFromWSDL
> >>>> INFO: Creating Service
> >>>> {https://webservices.sabre.com/websvc}OTA_HotelAvailService<https://webservices.sabre.com/websvc%7DOTA_HotelAvailService>from WSDL:
> >>>> file:/C:/Java/abacus-webconnect-1.14.0.rc1
> /wsdl/OTA_HotelAvailLLS1.4.1RQ.wsdl
> >>>> Feb 29, 2008 2:14:47 PM org.apache.cxf.transport.https.SSLUtils
> >>>> getCiphersuites
> >>>> INFO: The cipher suites have not been configured, falling back to
> cipher
> >>>> suite filters.
> >>>> Feb 29, 2008 2:14:47 PM org.apache.cxf.transport.https.SSLUtils
> >>>> getCiphersFromList
> >>>> INFO: The cipher suites have been set to SSL_RSA_WITH_RC4_128_MD5,
> >>>> SSL_RSA_WITH_RC4_128_SHA, SSL_RSA_WITH_DES_CBC_SHA,
> >>>> SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA,
> >>>> SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
> >>>> SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
> >>>> SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, SSL_RSA_WITH_NULL_MD5,
> >>>> SSL_RSA_WITH_NULL_SHA, SSL_DH_anon_WITH_RC4_128_MD5,
> >>>> TLS_DH_anon_WITH_AES_128_CBC_SHA, SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,
> >>>> SSL_DH_anon_WITH_DES_CBC_SHA, SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,
> >>>> SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA, TLS_KRB5_WITH_DES_CBC_SHA,
> >>>> TLS_KRB5_WITH_DES_CBC_MD5, TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
> >>>> TLS_KRB5_EXPORT_WITH_RC4_40_MD5, TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
> >>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5.  Feb 29, 2008 2:14:48 PM
> >>>> org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallbackonClose
> >>>>  I have put this in my cxf.xml as in
> >>>> http://cwiki.apache.org/CXF20DOC/client-http-transport.html, but it
> >>>> doesn't
> >>>> help... <http:conduit name="*.http-conduit">
> >>>>             <http:tlsClientParameters secureSocketProtocol="SSL">
> >>>>             <sec:cipherSuitesFilter>
> >>>>                 <!-- these filters ensure that a ciphersuite with
> >>>>                 export-suitable or null encryption is used,
> >>>>                 but exclude anonymous Diffie-Hellman key change as
> >>>>                 this is vulnerable to man-in-the-middle attacks -->
> >>>>                 <sec:include>.*_EXPORT_.*</sec:include>
> >>>>                 <sec:include>.*_EXPORT1024_.*</sec:include>
> >>>>                 <sec:include>.*_WITH_DES_.*</sec:include>
> >>>>                 <sec:include>.*_WITH_NULL_.*</sec:include>
> >>>>                 <sec:exclude>.*_DH_anon_.*</sec:exclude>
> >>>>             </sec:cipherSuitesFilter>
> >>>>         </http:tlsClientParameters>
> >>>> </http:conduit>
> >>>>
> >>>>
> >>>
> >>  http://www.nabble.com/file/p15773252/cxf.log cxf.log
> >>
> >>
> >
> >
>
>

Re: service caching

Posted by Willem Jiang <wi...@gmail.com>.
Here is the JIRA[1] which describe the same thing that you want.
I don't know if it was really resolved, could you try the latest 
released CXF 2.0.4 for it.

If the issue is still there, please let me know , I will put it to my 
next week todo list.

[1]https://issues.apache.org/jira/browse/CXF-699
[2]http://cwiki.apache.org/CXF/download.html

Willem.

Christopher Cheng wrote:
> I am migrating from Axis1.2 to CXF 2.0.3
>
> I understand that it will take a long time to build for the first time. What
> I am wondering is that why it takes so long for the second and third time?
> Is there any caching of services? Axis does not seem to have this issue.
>
>
>
> Christopher Cheng wrote:
>   
>> Attached is the log
>>
>> ----- Original Message ----- 
>> From: "Willem Jiang" <wi...@gmail.com>
>> To: <cx...@incubator.apache.org>
>> Sent: Saturday, March 01, 2008 8:53 PM
>> Subject: Re: service caching?
>>
>>
>>     
>>> Hi
>>>
>>> Could you set the logger level to FINE ?
>>> So we can get more information about the service publishing.
>>>
>>> Willem.
>>>
>>> Christopher Cheng wrote:
>>>       
>>>> When I call the service as a client, it takes 5 seconds to load. I am
>>>> not
>>>> sure whether it takes 5 seconds to create the service or it takes 5 
>>>> seconds
>>>> to look up for ciper filters. I am wondering if the services are 
>>>> cached...
>>>>  Feb 29, 2008 2:14:42 PM
>>>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean
>>>> buildServiceFromWSDL
>>>> INFO: Creating Service
>>>> {https://webservices.sabre.com/websvc}OTA_HotelAvailService from WSDL:
>>>> file:/C:/Java/abacus-webconnect-1.14.0.rc1/wsdl/OTA_HotelAvailLLS1.4.1RQ.wsdl
>>>> Feb 29, 2008 2:14:47 PM org.apache.cxf.transport.https.SSLUtils
>>>> getCiphersuites
>>>> INFO: The cipher suites have not been configured, falling back to cipher
>>>> suite filters.
>>>> Feb 29, 2008 2:14:47 PM org.apache.cxf.transport.https.SSLUtils
>>>> getCiphersFromList
>>>> INFO: The cipher suites have been set to SSL_RSA_WITH_RC4_128_MD5,
>>>> SSL_RSA_WITH_RC4_128_SHA, SSL_RSA_WITH_DES_CBC_SHA,
>>>> SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA,
>>>> SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
>>>> SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
>>>> SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, SSL_RSA_WITH_NULL_MD5,
>>>> SSL_RSA_WITH_NULL_SHA, SSL_DH_anon_WITH_RC4_128_MD5,
>>>> TLS_DH_anon_WITH_AES_128_CBC_SHA, SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,
>>>> SSL_DH_anon_WITH_DES_CBC_SHA, SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,
>>>> SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA, TLS_KRB5_WITH_DES_CBC_SHA,
>>>> TLS_KRB5_WITH_DES_CBC_MD5, TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
>>>> TLS_KRB5_EXPORT_WITH_RC4_40_MD5, TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5.  Feb 29, 2008 2:14:48 PM
>>>> org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallback onClose
>>>>  I have put this in my cxf.xml as in
>>>> http://cwiki.apache.org/CXF20DOC/client-http-transport.html, but it 
>>>> doesn't
>>>> help... <http:conduit name="*.http-conduit">
>>>>             <http:tlsClientParameters secureSocketProtocol="SSL">
>>>>             <sec:cipherSuitesFilter>
>>>>                 <!-- these filters ensure that a ciphersuite with
>>>>                 export-suitable or null encryption is used,
>>>>                 but exclude anonymous Diffie-Hellman key change as
>>>>                 this is vulnerable to man-in-the-middle attacks -->
>>>>                 <sec:include>.*_EXPORT_.*</sec:include>
>>>>                 <sec:include>.*_EXPORT1024_.*</sec:include>
>>>>                 <sec:include>.*_WITH_DES_.*</sec:include>
>>>>                 <sec:include>.*_WITH_NULL_.*</sec:include>
>>>>                 <sec:exclude>.*_DH_anon_.*</sec:exclude>
>>>>             </sec:cipherSuitesFilter>
>>>>         </http:tlsClientParameters>
>>>> </http:conduit>
>>>>
>>>>         
>>>       
>>  http://www.nabble.com/file/p15773252/cxf.log cxf.log 
>>
>>     
>
>   


Re: service caching

Posted by Christopher Cheng <ch...@gmail.com>.
I am migrating from Axis1.2 to CXF 2.0.3

I understand that it will take a long time to build for the first time. What
I am wondering is that why it takes so long for the second and third time?
Is there any caching of services? Axis does not seem to have this issue.



Christopher Cheng wrote:
> 
> Attached is the log
> 
> ----- Original Message ----- 
> From: "Willem Jiang" <wi...@gmail.com>
> To: <cx...@incubator.apache.org>
> Sent: Saturday, March 01, 2008 8:53 PM
> Subject: Re: service caching?
> 
> 
>> Hi
>>
>> Could you set the logger level to FINE ?
>> So we can get more information about the service publishing.
>>
>> Willem.
>>
>> Christopher Cheng wrote:
>>> When I call the service as a client, it takes 5 seconds to load. I am
>>> not
>>> sure whether it takes 5 seconds to create the service or it takes 5 
>>> seconds
>>> to look up for ciper filters. I am wondering if the services are 
>>> cached...
>>>  Feb 29, 2008 2:14:42 PM
>>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean
>>> buildServiceFromWSDL
>>> INFO: Creating Service
>>> {https://webservices.sabre.com/websvc}OTA_HotelAvailService from WSDL:
>>> file:/C:/Java/abacus-webconnect-1.14.0.rc1/wsdl/OTA_HotelAvailLLS1.4.1RQ.wsdl
>>> Feb 29, 2008 2:14:47 PM org.apache.cxf.transport.https.SSLUtils
>>> getCiphersuites
>>> INFO: The cipher suites have not been configured, falling back to cipher
>>> suite filters.
>>> Feb 29, 2008 2:14:47 PM org.apache.cxf.transport.https.SSLUtils
>>> getCiphersFromList
>>> INFO: The cipher suites have been set to SSL_RSA_WITH_RC4_128_MD5,
>>> SSL_RSA_WITH_RC4_128_SHA, SSL_RSA_WITH_DES_CBC_SHA,
>>> SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA,
>>> SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
>>> SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
>>> SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, SSL_RSA_WITH_NULL_MD5,
>>> SSL_RSA_WITH_NULL_SHA, SSL_DH_anon_WITH_RC4_128_MD5,
>>> TLS_DH_anon_WITH_AES_128_CBC_SHA, SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,
>>> SSL_DH_anon_WITH_DES_CBC_SHA, SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,
>>> SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA, TLS_KRB5_WITH_DES_CBC_SHA,
>>> TLS_KRB5_WITH_DES_CBC_MD5, TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
>>> TLS_KRB5_EXPORT_WITH_RC4_40_MD5, TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5.  Feb 29, 2008 2:14:48 PM
>>> org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallback onClose
>>>  I have put this in my cxf.xml as in
>>> http://cwiki.apache.org/CXF20DOC/client-http-transport.html, but it 
>>> doesn't
>>> help... <http:conduit name="*.http-conduit">
>>>             <http:tlsClientParameters secureSocketProtocol="SSL">
>>>             <sec:cipherSuitesFilter>
>>>                 <!-- these filters ensure that a ciphersuite with
>>>                 export-suitable or null encryption is used,
>>>                 but exclude anonymous Diffie-Hellman key change as
>>>                 this is vulnerable to man-in-the-middle attacks -->
>>>                 <sec:include>.*_EXPORT_.*</sec:include>
>>>                 <sec:include>.*_EXPORT1024_.*</sec:include>
>>>                 <sec:include>.*_WITH_DES_.*</sec:include>
>>>                 <sec:include>.*_WITH_NULL_.*</sec:include>
>>>                 <sec:exclude>.*_DH_anon_.*</sec:exclude>
>>>             </sec:cipherSuitesFilter>
>>>         </http:tlsClientParameters>
>>> </http:conduit>
>>>
>>
>> 
>  http://www.nabble.com/file/p15773252/cxf.log cxf.log 
> 

-- 
View this message in context: http://www.nabble.com/Re%3A-service-caching-tp15773252p15783998.html
Sent from the cxf-user mailing list archive at Nabble.com.


Re: service caching

Posted by Willem Jiang <wi...@gmail.com>.
Hi Christopher,

I just went through the log and found that you have a lager type classes 
to load, you must have a big WSDL to initiate.
It make sense  if  the wsdl  is  very big ,  since  CXF  will take some 
time to build a service mode for the publishing.
You can turn on the time on the log to verify it , and let me know if I 
am wrong ;)

BTW, can you tell me which vision of CXF are you using?

Willem

Christopher Cheng wrote:
> - creating port for portName
> - endpoint reference:
> - endpoint interface:
> - Could not find a definition for bean with id
> {https://webservices.sabre.com/websvc}OTA_HotelAvailPortType.jaxws-client.proxyFactory
> - no injection will be performed.
> - Creating Service
> {https://webservices.sabre.com/websvc}OTA_HotelAvailService from WSDL:
> file:/C:/Java/abacus-webconnect-1.14.0.rc1/wsdl/OTA_HotelAvailLLS1.4.1RQ.wsdl
> - Created JAXBContext
> "jar:file:/C:/Java/apache-cxf-2.0.3-incubator/lib/jaxb-impl-2.0.5.jar!/com/sun/xml/bind/v2/runtime/JAXBContextImpl.class
> Build-Id: 2.0.5
> Classes known to this context:
>   [B
>   boolean
>   byte
>   char
>   com.sabre.webservices.sabrexml._2003._07.GuaranteeType
>   com.sabre.webservices.sabrexml._2003._07.GuaranteeType$Comments
>   com.sabre.webservices.sabrexml._2003._07.GuaranteeType$Comments$Comment
>  
> com.sabre.webservices.sabrexml._2003._07.GuaranteeType$Comments$Comment$Text
>   com.sabre.webservices.sabrexml._2003._07.GuaranteeType$Deadline
>  
> com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteeDescription
>  
> com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteeDescription$Text
>   com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted
>  
> com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted$GuaranteeAccepted
>  
> com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted$GuaranteeAccepted$PaymentCard
>  
> com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted$GuaranteeAccepted$PaymentCard$Address
>  
> com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted$GuaranteeAccepted$PaymentCard$Address$CountryName
>  
> com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted$GuaranteeAccepted$PaymentCard$Address$StateProv
>  
> com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted$GuaranteeAccepted$PaymentCard$Address$StreetNmbr
>  
> com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted$GuaranteeAccepted$PaymentCard$CardIssuerName
>   com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType
>   com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion
>  
> com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$Address
>  
> com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$Address$CountryName
>  
> com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$Award
>  
> com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$HotelRef
>  
> com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$Radius
>  
> com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$TPAExtensions
>  
> com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$TPAExtensions$AirportTransportation
>  
> com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$TPAExtensions$Bedding
>  
> com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$TPAExtensions$FireSafetyApproved
>  
> com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$TPAExtensions$GeoCodeOnly
>  
> com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$TPAExtensions$PropertyType
>  
> com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$TPAExtensions$SpecialQualifier
>  
> com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$Telephone
>   com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$AvailRequestSegments
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$AvailRequestSegments$AvailRequestSegment
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$AvailRequestSegments$AvailRequestSegment$RateRange
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$AvailRequestSegments$AvailRequestSegment$StayDateRange
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$AvailRequestSegments$TPAExtensions
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$AvailRequestSegments$TPAExtensions$AdditionalAvail
>   com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$POS
>   com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$POS$Source
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$POS$Source$BookingChannel
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$POS$Source$BookingChannel$CompanyName
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$POS$Source$Position
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$POS$Source$RequestorID
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$POS$Source$RequestorID$CompanyName
>   com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$TPAExtensions
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$TPAExtensions$MessagingDetails
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$TPAExtensions$MessagingDetails$MDRSubset
>   com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS
>   com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Areas
>   com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Areas$Area
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Areas$Area$AreaDescription
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Areas$Area$AreaDescription$Text
>   com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Address
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Address$CountryName
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Address$StateProv
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Address$StreetNmbr
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Award
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$CodeRef
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$HotelAmenity
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$HotelRef
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Position
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Radius
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Telephone
>   com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Errors
>   com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Errors$Error
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Errors$Error$ErrorInfo
>   com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$POS
>   com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$POS$Source
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$POS$Source$BookingChannel
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$POS$Source$BookingChannel$CompanyName
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$POS$Source$Position
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$POS$Source$RequestorID
>  
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$POS$Source$RequestorID$CompanyName
>   com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$RoomStays
>   com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$TPAExtensions
>   com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Warnings
>   com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Warnings$Warning
>   com.sabre.webservices.sabrexml._2003._07.PaymentsType
>   com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments
>  
> com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment
>  
> com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment$PaymentCard
>  
> com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment$PaymentCard$Address
>  
> com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment$PaymentCard$Address$CountryName
>  
> com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment$PaymentCard$Address$StateProv
>  
> com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment$PaymentCard$Address$StreetNmbr
>  
> com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment$PaymentCard$Address$TPAExtensions
>  
> com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment$PaymentCard$CardIssuerName
>   com.sabre.webservices.sabrexml._2003._07.PaymentsType$AmountPercent
>   com.sabre.webservices.sabrexml._2003._07.PaymentsType$Deadline
>   com.sabre.webservices.sabrexml._2003._07.PaymentsType$PaymentDescription
>  
> com.sabre.webservices.sabrexml._2003._07.PaymentsType$PaymentDescription$Text
>   com.sabre.webservices.sabrexml._2003._07.ProfilesType
>   com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer
>   com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$CustLoyalty
>   com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$PaymentForm
>  
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$PaymentForm$PaymentCard
>  
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$PaymentForm$PaymentCard$TPAExtensions
>  
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$PaymentForm$PaymentCard$TPAExtensions$Guarantee
>  
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$PaymentForm$PaymentCard$TPAExtensions$Guarantee$PersonName
>  
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$TPAExtensions
>  
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$TPAExtensions$CorporateID
>  
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$TPAExtensions$IDNumber
>  
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$TPAExtensions$NameSelect
>   com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo
>   com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile
>  
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile$Agreements
>  
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile$Agreements$CommissionInfo
>  
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile$Customer
>  
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile$Customer$CustLoyalty
>  
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile$Customer$TPAExtensions
>  
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile$Customer$TPAExtensions$CorporateID
>  
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile$Customer$TPAExtensions$IDNumber
>   com.sabre.webservices.sabrexml._2003._07.RatePlanCandidatesType
>  
> com.sabre.webservices.sabrexml._2003._07.RatePlanCandidatesType$RatePlanCandidate
>  
> com.sabre.webservices.sabrexml._2003._07.RatePlanCandidatesType$TPAExtensions
>  
> com.sabre.webservices.sabrexml._2003._07.RatePlanCandidatesType$TPAExtensions$PromotionalSpot
>   com.sabre.webservices.sabrexml._2003._07.RoomStayCandidatesType
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayCandidatesType$RoomStayCandidate
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayCandidatesType$RoomStayCandidate$GuestCounts
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayCandidatesType$RoomStayCandidate$GuestCounts$GuestCount
>   com.sabre.webservices.sabrexml._2003._07.RoomStayType
>   com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$Address
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$Address$CountryName
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$Address$StateProv
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$Address$StreetNmbr
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$Address$TPAExtensions
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$Award
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$ContactNumbers
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$ContactNumbers$ContactNumber
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$ContactNumbers$TPAExtensions
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$ContactNumbers$TPAExtensions$FaxNumber
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$Position
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$AdditionalData
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$AdditionalInfo
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$AdditionalInfo$CancelPolicy
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$AdditionalInfo$Commission
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$AdditionalInfo$CreditCard
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$AdditionalInfo$NonCommission
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$AdditionalInfo$RoomLocation
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$DCAvailParticipant
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$DCSellParticipant
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$RequestFail
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$UnAvail
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$Distance
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$Line
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$LocationDescription
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$LocationDescription$DCAvailParticipant
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$LocationDescription$RequestFail
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$LocationDescription$UnAvail
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$MaxRate
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$MinRate
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$VendorMessages
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$VendorMessages$VendorMessage
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$VendorMessages$VendorMessage$SubSection
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$VendorMessages$VendorMessage$SubSection$Paragraph
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$VendorMessages$VendorMessage$SubSection$Paragraph$Text
>   com.sabre.webservices.sabrexml._2003._07.RoomStayType$CancelPenalties
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$CancelPenalties$CancelPenalty
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$CancelPenalties$CancelPenalty$AmountPercent
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$CancelPenalties$CancelPenalty$Deadline
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$CancelPenalties$CancelPenalty$PenaltyDescription
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$CancelPenalties$CancelPenalty$PenaltyDescription$Text
>   com.sabre.webservices.sabrexml._2003._07.RoomStayType$DepositPayments
>   com.sabre.webservices.sabrexml._2003._07.RoomStayType$Discount
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$Discount$DiscountReason
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$Discount$DiscountReason$Text
>   com.sabre.webservices.sabrexml._2003._07.RoomStayType$GuestCounts
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$GuestCounts$GuestCount
>   com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans
>   com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$AdditionalDetails
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$AdditionalDetails$AdditionalDetail
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$AdditionalDetails$AdditionalDetail$DetailDescription
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$AdditionalDetails$AdditionalDetail$DetailDescription$Text
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$CancelPenalties
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$CancelPenalties$CancelPenalty
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$CancelPenalties$CancelPenalty$AmountPercent
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$CancelPenalties$CancelPenalty$Deadline
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$CancelPenalties$CancelPenalty$PenaltyDescription
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$CancelPenalties$CancelPenalty$PenaltyDescription$Text
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$Comment
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$Comment$Text
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$CommissionPayableAmount
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$CommissionableAmount
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$FlatCommission
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$PrepaidAmount
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$UniqueID
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$UniqueID$CompanyName
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$MealsIncluded
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$RatePlanDescription
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$RatePlanDescription$Text
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$RatePlanInclusions
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$RatePlanInclusions$RatePlanInclusionDesciption
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$RatePlanInclusions$RatePlanInclusionDesciption$Text
>   com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates
>   com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Features
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Features$Feature
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Features$Feature$Description
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Features$Feature$Description$Text
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$AdditionalGuestAmounts
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$AdditionalGuestAmounts$AdditionalGuestAmount
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$AdditionalGuestAmounts$AdditionalGuestAmount$AddlGuestAmtDescription
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$AdditionalGuestAmounts$AdditionalGuestAmount$AddlGuestAmtDescription$Text
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$AdditionalGuestAmounts$AdditionalGuestAmount$Amount
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Base
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$CancelPolicies
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$CancelPolicies$CancelPenalty
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$CancelPolicies$CancelPenalty$AmountPercent
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$CancelPolicies$CancelPenalty$Deadline
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$CancelPolicies$CancelPenalty$PenaltyDescription
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$CancelPolicies$CancelPenalty$PenaltyDescription$Text
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Discount
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Discount$DiscountReason
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Discount$DiscountReason$Text
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Fees
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Fees$Fee
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Fees$Fee$Description
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Fees$Fee$Description$Text
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$BankAcct
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$DirectBill
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$DirectBill$Address
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$DirectBill$Address$CountryName
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$DirectBill$Address$StateProv
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$DirectBill$Address$StreetNmbr
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$DirectBill$Address$TPAExtensions
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$DirectBill$CompanyName
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$LoyaltyRedemption
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$MiscChargeOrder
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$PaymentCard
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$PaymentCard$Address
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$PaymentCard$Address$CountryName
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$PaymentCard$Address$StateProv
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$PaymentCard$Address$StreetNmbr
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$PaymentCard$Address$TPAExtensions
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$PaymentCard$CardIssuerName
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$Voucher
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AmountPercent
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$Deadline
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$PaymentDescription
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$PaymentDescription$Text
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$RateDescription
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$RateDescription$Text
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$TPAExtensions
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$TPAExtensions$RateConversion
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$TPAExtensions$RatePerNight
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$TPAExtensions$RoomTypeCode
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Total
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$TPAExtensions
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$TPAExtensions$RateChange
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$RoomRateDescription
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$TPAExtensions
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$TPAExtensions$ContractualRate
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$TPAExtensions$NegotiatedRate
>   com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes
>   com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$AdditionalDetails
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$AdditionalDetails$AdditionalDetail
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$AdditionalDetails$AdditionalDetail$DetailDescription
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$AdditionalDetails$AdditionalDetail$DetailDescription$Text
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$Amenities
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$Amenities$Amenity
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$RoomDescription
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$RoomDescription$Text
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$TPAExtensions
>   com.sabre.webservices.sabrexml._2003._07.RoomStayType$TimeSpan
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$TimeSpan$DateWindowRange
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$TimeSpan$EndDateWindow
>  
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$TimeSpan$StartDateWindow
>   com.sabre.webservices.sabrexml._2003._07.RoomStayType$Total
>   com.sabre.webservices.sabrexml._2003._07.TaxesType
>   com.sabre.webservices.sabrexml._2003._07.TaxesType$Tax
>   com.sabre.webservices.sabrexml._2003._07.TaxesType$Tax$TaxDescription
>   com.sabre.webservices.sabrexml._2003._07.TaxesType$Tax$TaxDescription$Text
>   com.sun.xml.bind.api.CompositeStructure
>   double
>   float
>   int
>   java.awt.Image
>   java.io.File
>   java.lang.Boolean
>   java.lang.Byte
>   java.lang.Character
>   java.lang.Class
>   java.lang.Double
>   java.lang.Float
>   java.lang.Integer
>   java.lang.Long
>   java.lang.Object
>   java.lang.Short
>   java.lang.String
>   java.lang.Void
>   java.math.BigDecimal
>   java.math.BigInteger
>   java.net.URI
>   java.net.URL
>   java.util.Calendar
>   java.util.Date
>   java.util.GregorianCalendar
>   java.util.UUID
>   javax.activation.DataHandler
>   javax.xml.bind.JAXBElement
>   javax.xml.datatype.Duration
>   javax.xml.datatype.XMLGregorianCalendar
>   javax.xml.namespace.QName
>   javax.xml.transform.Source
>   long
>   org.ebxml.namespaces.messageheader.AckRequested
>   org.ebxml.namespaces.messageheader.Acknowledgment
>   org.ebxml.namespaces.messageheader.Description
>   org.ebxml.namespaces.messageheader.Error
>   org.ebxml.namespaces.messageheader.ErrorList
>   org.ebxml.namespaces.messageheader.From
>   org.ebxml.namespaces.messageheader.Manifest
>   org.ebxml.namespaces.messageheader.MessageData
>   org.ebxml.namespaces.messageheader.MessageHeader
>   org.ebxml.namespaces.messageheader.MessageOrder
>   org.ebxml.namespaces.messageheader.MessageStatusType
>   org.ebxml.namespaces.messageheader.PartyId
>   org.ebxml.namespaces.messageheader.Reference
>   org.ebxml.namespaces.messageheader.Schema
>   org.ebxml.namespaces.messageheader.SequenceNumberType
>   org.ebxml.namespaces.messageheader.Service
>   org.ebxml.namespaces.messageheader.SeverityType
>   org.ebxml.namespaces.messageheader.StatusRequest
>   org.ebxml.namespaces.messageheader.StatusResponse
>   org.ebxml.namespaces.messageheader.StatusType
>   org.ebxml.namespaces.messageheader.SyncReply
>   org.ebxml.namespaces.messageheader.To
>   org.xmlsoap.schemas.ws._2002._12.secext.Security
>   org.xmlsoap.schemas.ws._2002._12.secext.Security$UsernameToken
>   short
>   void
> " with classes [class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$AdditionalInfo$Commission,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$Award,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$VendorMessages$VendorMessage$SubSection,
> class com.sabre.webservices.sabrexml._2003._07.RoomStayType$TimeSpan, class
> com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment$PaymentCard$Address$TPAExtensions,
> class
> com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted$GuaranteeAccepted$PaymentCard$Address$StateProv,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$AdditionalDetails$AdditionalDetail,
> class org.ebxml.namespaces.messageheader.PartyId, class
> com.sabre.webservices.sabrexml._2003._07.PaymentsType$Deadline, class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$MiscChargeOrder,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment,
> class com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType,
> class
> com.sabre.webservices.sabrexml._2003._07.TaxesType$Tax$TaxDescription$Text,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$Discount$DiscountReason,
> class
> com.sabre.webservices.sabrexml._2003._07.RatePlanCandidatesType$TPAExtensions,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Address,
> class
> com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment$PaymentCard,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$MinRate,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$LocationDescription$RequestFail,
> class com.sabre.webservices.sabrexml._2003._07.RatePlanCandidatesType, class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$LocationDescription,
> class com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ, class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$Comment,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$HotelRef,
> class
> com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$GuestCounts$GuestCount,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$PaymentDescription,
> class
> com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$Award,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Features$Feature$Description,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$POS$Source$Position,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$TPAExtensions,
> class
> com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$TPAExtensions,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$CancelPenalties$CancelPenalty$PenaltyDescription$Text,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$Address$TPAExtensions,
> class com.sabre.webservices.sabrexml._2003._07.RoomStayType$DepositPayments,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$CodeRef,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$CancelPenalties,
> class com.sabre.webservices.sabrexml._2003._07.GuaranteeType$Deadline, class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Fees$Fee,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Fees$Fee$Description,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$VendorMessages$VendorMessage$SubSection$Paragraph,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$UnAvail,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$PrepaidAmount,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$DirectBill$Address$StateProv,
> class com.sabre.webservices.sabrexml._2003._07.GuaranteeType, class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$TPAExtensions$RateConversion,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$UniqueID,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$TPAExtensions$NegotiatedRate,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo,
> class
> com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType,
> class
> com.sabre.webservices.sabrexml._2003._07.RatePlanCandidatesType$TPAExtensions$PromotionalSpot,
> class com.sabre.webservices.sabrexml._2003._07.PaymentsType$AmountPercent,
> class org.xmlsoap.schemas.ws._2002._12.secext.Security$UsernameToken, class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Warnings$Warning,
> class
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$PaymentForm$PaymentCard$TPAExtensions,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$Comment$Text,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$Address,
> class
> com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted$GuaranteeAccepted$PaymentCard$CardIssuerName,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$DCSellParticipant,
> class com.sabre.webservices.sabrexml._2003._07.TaxesType, class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$ContactNumbers,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$CommissionableAmount,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$AdditionalGuestAmounts$AdditionalGuestAmount,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Discount$DiscountReason,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$AdditionalDetails,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$RoomRateDescription,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$Deadline,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$Discount$DiscountReason$Text,
> class com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Warnings,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$POS$Source$RequestorID$CompanyName,
> class
> com.sabre.webservices.sabrexml._2003._07.PaymentsType$PaymentDescription$Text,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$CancelPenalties$CancelPenalty$Deadline,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$CancelPenalties$CancelPenalty$PenaltyDescription,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$TPAExtensions,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission,
> class
> com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$HotelRef,
> class
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$PaymentForm$PaymentCard$TPAExtensions$Guarantee,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Areas$Area$AreaDescription$Text,
> class
> com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$Telephone,
> class
> com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$AdditionalDetails,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$CancelPenalties$CancelPenalty,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$VendorMessages$VendorMessage,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$AdditionalDetails$AdditionalDetail$DetailDescription,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect,
> class com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Areas, class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$CancelPenalties, class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Discount$DiscountReason$Text,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Features,
> class javax.xml.datatype.XMLGregorianCalendar, class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$PaymentDescription$Text,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Total,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$POS$Source$BookingChannel,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$PaymentCard$CardIssuerName,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$PaymentCard$Address$CountryName,
> class com.sabre.webservices.sabrexml._2003._07.RoomStayType$Total, class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Errors$Error, class
> com.sabre.webservices.sabrexml._2003._07.ObjectFactory, class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$CancelPenalties$CancelPenalty$AmountPercent,
> class javax.xml.datatype.Duration, class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$POS$Source$BookingChannel,
> class org.ebxml.namespaces.messageheader.MessageHeader, class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$RatePlanInclusions$RatePlanInclusionDesciption$Text,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$TimeSpan$StartDateWindow,
> class org.ebxml.namespaces.messageheader.ObjectFactory, class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$POS$Source$RequestorID$CompanyName,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$CancelPolicies$CancelPenalty,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$CancelPenalties$CancelPenalty$PenaltyDescription$Text,
> class org.xmlsoap.schemas.ws._2002._12.secext.ObjectFactory, class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$DirectBill$Address$StreetNmbr,
> class
> com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteeDescription$Text,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$CommissionPayableAmount,
> class com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$POS, class
> com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted$GuaranteeAccepted$PaymentCard,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Address$StreetNmbr,
> class
> com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment$PaymentCard$Address$StreetNmbr,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$DirectBill$Address,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$DirectBill$CompanyName,
> class org.ebxml.namespaces.messageheader.MessageData, class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$AvailRequestSegments$AvailRequestSegment,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$AdditionalInfo$NonCommission,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$CancelPolicies,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$POS$Source$Position,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$RatePlanInclusions,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$PaymentCard$Address$StreetNmbr,
> class org.xmlsoap.schemas.ws._2002._12.secext.Security, class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$Position,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Award,
> class
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$PaymentForm$PaymentCard,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayCandidatesType$RoomStayCandidate,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$Address$StateProv,
> class
> com.sabre.webservices.sabrexml._2003._07.GuaranteeType$Comments$Comment$Text,
> class
> com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$Radius,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$CancelPenalties$CancelPenalty$PenaltyDescription,
> class
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$CustLoyalty,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$RateDescription$Text,
> class com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$RoomStays,
> class org.ebxml.namespaces.messageheader.Service, class
> com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment$PaymentCard$Address,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$RoomDescription$Text,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Address$StateProv,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$LocationDescription$DCAvailParticipant,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$DCAvailParticipant,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$DirectBill$Address$CountryName,
> class com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$POS$Source,
> class
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile$Customer,
> class com.sabre.webservices.sabrexml._2003._07.RoomStayCandidatesType, class
> com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$TPAExtensions$PropertyType,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$AdditionalGuestAmounts$AdditionalGuestAmount$AddlGuestAmtDescription$Text,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$AdditionalGuestAmounts$AdditionalGuestAmount$Amount,
> class com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Errors, class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$UniqueID$CompanyName,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$POS$Source$BookingChannel$CompanyName,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Fees$Fee$Description$Text,
> class
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$TPAExtensions$IDNumber,
> class com.sabre.webservices.sabrexml._2003._07.GuaranteeType$Comments, class
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile$Customer$TPAExtensions,
> class
> com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted$GuaranteeAccepted$PaymentCard$Address,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$TimeSpan$DateWindowRange,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$AdditionalInfo$CreditCard,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$AvailRequestSegments$TPAExtensions,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$TPAExtensions,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Errors$Error$ErrorInfo,
> class org.ebxml.namespaces.messageheader.To, class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Position,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$CancelPolicies$CancelPenalty$AmountPercent,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$VendorMessages,
> class com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$POS$Source,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$TPAExtensions$MessagingDetails$MDRSubset,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$AdditionalData,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Base,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$LoyaltyRedemption,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$RatePlanDescription$Text,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$Amenities,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$DirectBill,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$LocationDescription$UnAvail,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$Amenities$Amenity,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$AvailRequestSegments$AvailRequestSegment$RateRange,
> class
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile,
> class
> com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteeDescription,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$BankAcct,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$Voucher,
> class
> com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$TPAExtensions$SpecialQualifier,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$DirectBill$Address$TPAExtensions,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$Line,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$Distance,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Address$CountryName,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$AdditionalDetails$AdditionalDetail$DetailDescription$Text,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Telephone,
> class
> com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted,
> class
> com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$TPAExtensions$Bedding,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$AdditionalGuestAmounts,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AmountPercent,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$AdditionalGuestAmounts$AdditionalGuestAmount$AddlGuestAmtDescription,
> class
> com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted$GuaranteeAccepted$PaymentCard$Address$StreetNmbr,
> class
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$TPAExtensions,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$AdditionalDetails$AdditionalDetail,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$PaymentCard$Address,
> class
> com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment$PaymentCard$Address$StateProv,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$AdditionalDetails$AdditionalDetail$DetailDescription,
> class
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$TPAExtensions$CorporateID,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$AvailRequestSegments$AvailRequestSegment$StayDateRange,
> class
> com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted$GuaranteeAccepted,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayCandidatesType$RoomStayCandidate$GuestCounts,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$TPAExtensions,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment,
> class
> com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$Address,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Features$Feature$Description$Text,
> class org.ebxml.namespaces.messageheader.Description, class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans, class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$TPAExtensions$RoomTypeCode,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$AdditionalDetails$AdditionalDetail$DetailDescription$Text,
> class com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS, class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$RequestFail,
> class com.sabre.webservices.sabrexml._2003._07.TaxesType$Tax$TaxDescription,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$AdditionalInfo$RoomLocation,
> class
> com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted$GuaranteeAccepted$PaymentCard$Address$CountryName,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Areas$Area$AreaDescription,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$RoomDescription,
> class
> com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$Address$CountryName,
> class com.sabre.webservices.sabrexml._2003._07.RoomStayType, class
> com.sabre.webservices.sabrexml._2003._07.GuaranteeType$Comments$Comment,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$FlatCommission,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$TPAExtensions$MessagingDetails,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Discount,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$POS$Source$BookingChannel$CompanyName,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$HotelAmenity,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Fees,
> class
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$PaymentForm$PaymentCard$TPAExtensions$Guarantee$PersonName,
> class
> com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$TPAExtensions$AirportTransportation,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Features$Feature,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$TimeSpan$EndDateWindow,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$MaxRate,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$CancelPolicies$CancelPenalty$PenaltyDescription,
> class com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates, class
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile$Agreements,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$CancelPolicies$CancelPenalty$Deadline,
> class com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$RateDescription,
> class
> com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$TPAExtensions$GeoCodeOnly,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$TPAExtensions$RatePerNight,
> class com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$POS, class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$CancelPolicies$CancelPenalty$PenaltyDescription$Text,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$MealsIncluded,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$POS$Source$RequestorID,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$PaymentCard$Address$TPAExtensions,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Radius,
> class com.sabre.webservices.sabrexml._2003._07.RoomStayType$Discount, class
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile$Customer$CustLoyalty,
> class com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer, class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$Address$StreetNmbr,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$AvailRequestSegments,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$CancelPenalties$CancelPenalty,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$VendorMessages$VendorMessage$SubSection$Paragraph$Text,
> class org.ebxml.namespaces.messageheader.From, class
> com.sabre.webservices.sabrexml._2003._07.RatePlanCandidatesType$RatePlanCandidate,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$ContactNumbers$ContactNumber,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$AvailRequestSegments$TPAExtensions$AdditionalAvail,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayCandidatesType$RoomStayCandidate$GuestCounts$GuestCount,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate,
> class
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$TPAExtensions$NameSelect,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$Address$CountryName,
> class
> com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$TPAExtensions$FireSafetyApproved,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$TPAExtensions$RateChange,
> class
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile$Agreements$CommissionInfo,
> class
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$POS$Source$RequestorID,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$AdditionalInfo$CancelPolicy,
> class
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$PaymentForm,
> class com.sabre.webservices.sabrexml._2003._07.PaymentsType, class
> com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment$PaymentCard$Address$CountryName,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$TPAExtensions,
> class
> com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment$PaymentCard$CardIssuerName,
> class
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile$Customer$TPAExtensions$IDNumber,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$AdditionalInfo,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$ContactNumbers$TPAExtensions,
> class
> com.sabre.webservices.sabrexml._2003._07.PaymentsType$PaymentDescription,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$RatePlanDescription,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$TPAExtensions$ContractualRate,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$ContactNumbers$TPAExtensions$FaxNumber,
> class com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Areas$Area,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$CancelPenalties$CancelPenalty$Deadline,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$TPAExtensions,
> class com.sabre.webservices.sabrexml._2003._07.TaxesType$Tax, class
> com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile$Customer$TPAExtensions$CorporateID,
> class com.sabre.webservices.sabrexml._2003._07.ProfilesType, class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$PaymentCard,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$PaymentCard$Address$StateProv,
> class com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$CancelPenalties$CancelPenalty$AmountPercent,
> class
> com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$RatePlanInclusions$RatePlanInclusionDesciption,
> class com.sabre.webservices.sabrexml._2003._07.RoomStayType$GuestCounts,
> class com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes].
> - Could not find a definition for bean with id
> {https://webservices.sabre.com/websvc}OTA_HotelAvailService - no injection
> will be performed.
> - Could not find a definition for bean with id
> {https://webservices.sabre.com/websvc}OTA_HotelAvailPortType.endpoint - no
> injection will be performed.
> - building handler chain
> - Checking for HandlerChain annotation on
> com.sabre.webservices.websvc.OTAHotelAvailService
> - no HandlerChain annotation on class
> com.sabre.webservices.websvc.OTAHotelAvailService
> - created proxy
> - Invoke, operation info: [BindingOperationInfo:
> {https://webservices.sabre.com/websvc}OTA_HotelAvailRQ], params:
> [Ljava.lang.Object;@2e9c76
> - set requestContext to message be{RequestMethod=public abstract
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS
> com.sabre.webservices.websvc.OTAHotelAvailPortType.otaHotelAvailRQ(javax.xml.ws.Holder,javax.xml.ws.Holder,com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ),
> javax.xml.ws.service.endpoint.address=https://webservices.sabre.com/websvc,
> java.lang.reflect.Method=public abstract
> com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS
> com.sabre.webservices.websvc.OTAHotelAvailPortType.otaHotelAvailRQ(javax.xml.ws.Holder,javax.xml.ws.Holder,com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ),
> org.apache.cxf.jaxws.context.WrappedMessageContext.SCOPES={javax.xml.ws.service.endpoint.address=APPLICATION},
> org.apache.cxf.message.Message.ENDPOINT_ADDRESS=https://webservices.sabre.com/websvc}
> - Interceptors contributed by bus:
> [org.apache.cxf.interceptor.LoggingOutInterceptor@6798eb]
> - Interceptors contributed by endpoint:
> [org.apache.cxf.interceptor.MessageSenderInterceptor@220711,
> org.apache.cxf.jaxws.interceptors.SwAOutInterceptor@1fe28a7,
> org.apache.cxf.jaxws.handler.logical.LogicalHandlerOutInterceptor@11f2041,
> org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor@7e942f,
> org.apache.cxf.jaxws.interceptors.HolderOutInterceptor@32a325,
> org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor@74ece8]
> - Interceptors contributed by client: []
> - Interceptors contributed by binding:
> [org.apache.cxf.binding.soap.interceptor.SoapActionOutInterceptor@6da8eb,
> org.apache.cxf.interceptor.AttachmentOutInterceptor@16d079a,
> org.apache.cxf.interceptor.StaxOutInterceptor@10e468f,
> org.apache.cxf.binding.soap.interceptor.SoapHeaderOutFilterInterceptor@3a78ad,
> org.apache.cxf.interceptor.BareOutInterceptor@c8d62f,
> org.apache.cxf.binding.soap.interceptor.SoapPreProtocolOutInterceptor@165d118,
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor@18297fe]
> - Adding interceptor org.apache.cxf.interceptor.LoggingOutInterceptor@6798eb
> to phase pre-stream
> - Adding interceptor
> org.apache.cxf.interceptor.MessageSenderInterceptor@220711 to phase
> prepare-send
> - Adding interceptor
> org.apache.cxf.jaxws.interceptors.SwAOutInterceptor@1fe28a7 to phase
> pre-logical
> - Adding interceptor
> org.apache.cxf.jaxws.handler.logical.LogicalHandlerOutInterceptor@11f2041 to
> phase pre-marshal
> - Adding interceptor
> org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor@7e942f to phase
> pre-logical
> - Adding interceptor
> org.apache.cxf.jaxws.interceptors.HolderOutInterceptor@32a325 to phase
> pre-logical
> - Adding interceptor
> org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor@74ece8 to phase
> pre-protocol
> - Adding interceptor
> org.apache.cxf.binding.soap.interceptor.SoapActionOutInterceptor@6da8eb to
> phase post-logical
> - Adding interceptor
> org.apache.cxf.interceptor.AttachmentOutInterceptor@16d079a to phase
> pre-stream
> - Adding interceptor org.apache.cxf.interceptor.StaxOutInterceptor@10e468f
> to phase pre-stream
> - Adding interceptor
> org.apache.cxf.binding.soap.interceptor.SoapHeaderOutFilterInterceptor@3a78ad
> to phase pre-logical
> - Adding interceptor org.apache.cxf.interceptor.BareOutInterceptor@c8d62f to
> phase marshal
> - Adding interceptor
> org.apache.cxf.binding.soap.interceptor.SoapPreProtocolOutInterceptor@165d118
> to phase pre-stream
> - Adding interceptor
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor@18297fe to phase
> write
> - Conduit
> '{https://webservices.sabre.com/websvc}OTA_HotelAvailPortType.http-conduit'
> has been (re) configured for TLS keyManagers nulltrustManagers
> nullsecureRandom null
> - Successfully performed injection.
> - Could not find a definition for bean with id
> {https://webservices.sabre.com/websvc}OTA_HotelAvailPortType.http-conduit -
> no injection will be performed.
> - No Trust Decider configured for Conduit
> '{https://webservices.sabre.com/websvc}OTA_HotelAvailPortType.http-conduit'
> - No Basic Auth Supplier configured for Conduit
> '{https://webservices.sabre.com/websvc}OTA_HotelAvailPortType.http-conduit'
> - Conduit
> '{https://webservices.sabre.com/websvc}OTA_HotelAvailPortType.http-conduit'
> has been configured for TLS keyManagers nulltrustManagers nullsecureRandom
> null
> - registering incoming observer: org.apache.cxf.endpoint.ClientImpl@c8aeb3
> - Chain org.apache.cxf.phase.PhaseInterceptorChain@1459c6f was created.
> Current flow:
>   pre-logical [HolderOutInterceptor, SwAOutInterceptor,
> WrapperClassOutInterceptor, SoapHeaderOutFilterInterceptor]
>   post-logical [SoapActionOutInterceptor]
>   prepare-send [MessageSenderInterceptor]
>   pre-stream [LoggingOutInterceptor, SoapPreProtocolOutInterceptor,
> AttachmentOutInterceptor, StaxOutInterceptor]
>   pre-protocol [SOAPHandlerInterceptor]
>   write [SoapOutInterceptor]
>   pre-marshal [LogicalHandlerOutInterceptor]
>   marshal [BareOutInterceptor]
>
> - Invoking handleMessage on interceptor
> org.apache.cxf.jaxws.interceptors.HolderOutInterceptor@32a325
> - op: [OperationInfo:
> {https://webservices.sabre.com/websvc}OTA_HotelAvailRQ]
> - op.hasOutput(): true
> - op.getOutput().size(): 3
> - Invoking handleMessage on interceptor
> org.apache.cxf.jaxws.interceptors.SwAOutInterceptor@1fe28a7
> - Invoking handleMessage on interceptor
> org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor@7e942f
> - Invoking handleMessage on interceptor
> org.apache.cxf.binding.soap.interceptor.SoapHeaderOutFilterInterceptor@3a78ad
> - Invoking handleMessage on interceptor
> org.apache.cxf.binding.soap.interceptor.SoapActionOutInterceptor@6da8eb
> - Invoking handleMessage on interceptor
> org.apache.cxf.interceptor.MessageSenderInterceptor@220711
> - The cipher suites have not been configured, falling back to cipher suite
> filters.
> - Ciphersuite include filter: .*_EXPORT_.*
> - Ciphersuite include filter: .*_EXPORT1024_.*
> - Ciphersuite include filter: .*_WITH_DES_.*
> - Ciphersuite include filter: .*_WITH_NULL_.*
> - Ciphersuite exclude filter: .*_DH_anon_.*
> - The SSL_RSA_WITH_RC4_128_MD5 cipher suite is excluded by the filter.
> - The SSL_RSA_WITH_RC4_128_SHA cipher suite is excluded by the filter.
> - The TLS_RSA_WITH_AES_128_CBC_SHA cipher suite is excluded by the filter.
> - The TLS_DHE_RSA_WITH_AES_128_CBC_SHA cipher suite is excluded by the
> filter.
> - The TLS_DHE_DSS_WITH_AES_128_CBC_SHA cipher suite is excluded by the
> filter.
> - The SSL_RSA_WITH_3DES_EDE_CBC_SHA cipher suite is excluded by the filter.
> - The SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA cipher suite is excluded by the
> filter.
> - The SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA cipher suite is excluded by the
> filter.
> - The SSL_RSA_WITH_DES_CBC_SHA cipher suite is included by the filter.
> - The SSL_DHE_RSA_WITH_DES_CBC_SHA cipher suite is included by the filter.
> - The SSL_DHE_DSS_WITH_DES_CBC_SHA cipher suite is included by the filter.
> - The SSL_RSA_EXPORT_WITH_RC4_40_MD5 cipher suite is included by the filter.
> - The SSL_RSA_EXPORT_WITH_DES40_CBC_SHA cipher suite is included by the
> filter.
> - The SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA cipher suite is included by the
> filter.
> - The SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA cipher suite is included by the
> filter.
> - The SSL_RSA_WITH_NULL_MD5 cipher suite is included by the filter.
> - The SSL_RSA_WITH_NULL_SHA cipher suite is included by the filter.
> - The SSL_DH_anon_WITH_RC4_128_MD5 cipher suite is excluded by the filter.
> - The TLS_DH_anon_WITH_AES_128_CBC_SHA cipher suite is excluded by the
> filter.
> - The SSL_DH_anon_WITH_3DES_EDE_CBC_SHA cipher suite is excluded by the
> filter.
> - The SSL_DH_anon_WITH_DES_CBC_SHA cipher suite is excluded by the filter.
> - The SSL_DH_anon_EXPORT_WITH_RC4_40_MD5 cipher suite is excluded by the
> filter.
> - The SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA cipher suite is excluded by the
> filter.
> - The TLS_KRB5_WITH_RC4_128_SHA cipher suite is excluded by the filter.
> - The TLS_KRB5_WITH_RC4_128_MD5 cipher suite is excluded by the filter.
> - The TLS_KRB5_WITH_3DES_EDE_CBC_SHA cipher suite is excluded by the filter.
> - The TLS_KRB5_WITH_3DES_EDE_CBC_MD5 cipher suite is excluded by the filter.
> - The TLS_KRB5_WITH_DES_CBC_SHA cipher suite is included by the filter.
> - The TLS_KRB5_WITH_DES_CBC_MD5 cipher suite is included by the filter.
> - The TLS_KRB5_EXPORT_WITH_RC4_40_SHA cipher suite is included by the
> filter.
> - The TLS_KRB5_EXPORT_WITH_RC4_40_MD5 cipher suite is included by the
> filter.
> - The TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA cipher suite is included by the
> filter.
> - The TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5 cipher suite is included by the
> filter.
> - The enabled cipher suites have been filtered down to
> [SSL_RSA_WITH_DES_CBC_SHA, SSL_DHE_RSA_WITH_DES_CBC_SHA,
> SSL_DHE_DSS_WITH_DES_CBC_SHA, SSL_RSA_EXPORT_WITH_RC4_40_MD5,
> SSL_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
> SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, SSL_RSA_WITH_NULL_MD5,
> SSL_RSA_WITH_NULL_SHA, TLS_KRB5_WITH_DES_CBC_SHA, TLS_KRB5_WITH_DES_CBC_MD5,
> TLS_KRB5_EXPORT_WITH_RC4_40_SHA, TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
> TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA, TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5].
> - The excluded cipher suites have been filtered down to
> [SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA,
> TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
> TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA,
> SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA,
> SSL_DH_anon_WITH_RC4_128_MD5, TLS_DH_anon_WITH_AES_128_CBC_SHA,
> SSL_DH_anon_WITH_3DES_EDE_CBC_SHA, SSL_DH_anon_WITH_DES_CBC_SHA,
> SSL_DH_anon_EXPORT_WITH_RC4_40_MD5, SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA,
> TLS_KRB5_WITH_RC4_128_SHA, TLS_KRB5_WITH_RC4_128_MD5,
> TLS_KRB5_WITH_3DES_EDE_CBC_SHA, TLS_KRB5_WITH_3DES_EDE_CBC_MD5].  
> - The cipher suites have been set to SSL_RSA_WITH_DES_CBC_SHA,
> SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA,
> SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
> SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
> SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, SSL_RSA_WITH_NULL_MD5,
> SSL_RSA_WITH_NULL_SHA, TLS_KRB5_WITH_DES_CBC_SHA, TLS_KRB5_WITH_DES_CBC_MD5,
> TLS_KRB5_EXPORT_WITH_RC4_40_SHA, TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
> TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA, TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5.  
> - Adding interceptor
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor@1216f5a
> to phase prepare-send-ending
> - Chain org.apache.cxf.phase.PhaseInterceptorChain@1459c6f was modified.
> Current flow:
>   pre-logical [HolderOutInterceptor, SwAOutInterceptor,
> WrapperClassOutInterceptor, SoapHeaderOutFilterInterceptor]
>   post-logical [SoapActionOutInterceptor]
>   prepare-send [MessageSenderInterceptor]
>   pre-stream [LoggingOutInterceptor, SoapPreProtocolOutInterceptor,
> AttachmentOutInterceptor, StaxOutInterceptor]
>   pre-protocol [SOAPHandlerInterceptor]
>   write [SoapOutInterceptor]
>   pre-marshal [LogicalHandlerOutInterceptor]
>   marshal [BareOutInterceptor]
>   prepare-send-ending [MessageSenderEndingInterceptor]
>
> - Invoking handleMessage on interceptor
> org.apache.cxf.interceptor.LoggingOutInterceptor@6798eb
> - Invoking handleMessage on interceptor
> org.apache.cxf.binding.soap.interceptor.SoapPreProtocolOutInterceptor@165d118
> - Invoking handleMessage on interceptor
> org.apache.cxf.interceptor.AttachmentOutInterceptor@16d079a
> - Invoking handleMessage on interceptor
> org.apache.cxf.interceptor.StaxOutInterceptor@10e468f
> - Adding interceptor
> org.apache.cxf.interceptor.StaxOutInterceptor$StaxOutEndingInterceptor@159d10
> to phase pre-stream-ending
> - Chain org.apache.cxf.phase.PhaseInterceptorChain@1459c6f was modified.
> Current flow:
>   pre-logical [HolderOutInterceptor, SwAOutInterceptor,
> WrapperClassOutInterceptor, SoapHeaderOutFilterInterceptor]
>   post-logical [SoapActionOutInterceptor]
>   prepare-send [MessageSenderInterceptor]
>   pre-stream [LoggingOutInterceptor, SoapPreProtocolOutInterceptor,
> AttachmentOutInterceptor, StaxOutInterceptor]
>   pre-protocol [SOAPHandlerInterceptor]
>   write [SoapOutInterceptor]
>   pre-marshal [LogicalHandlerOutInterceptor]
>   marshal [BareOutInterceptor]
>   pre-stream-ending [StaxOutEndingInterceptor]
>   prepare-send-ending [MessageSenderEndingInterceptor]
>
> - Invoking handleMessage on interceptor
> org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor@74ece8
> - invoker for chain size: 0
> - Invoking handleMessage on interceptor
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor@18297fe
> - Adding interceptor
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor$SoapOutEndingInterceptor@197507c
> to phase write-ending
> - Chain org.apache.cxf.phase.PhaseInterceptorChain@1459c6f was modified.
> Current flow:
>   pre-logical [HolderOutInterceptor, SwAOutInterceptor,
> WrapperClassOutInterceptor, SoapHeaderOutFilterInterceptor]
>   post-logical [SoapActionOutInterceptor]
>   prepare-send [MessageSenderInterceptor]
>   pre-stream [LoggingOutInterceptor, SoapPreProtocolOutInterceptor,
> AttachmentOutInterceptor, StaxOutInterceptor]
>   pre-protocol [SOAPHandlerInterceptor]
>   write [SoapOutInterceptor]
>   pre-marshal [LogicalHandlerOutInterceptor]
>   marshal [BareOutInterceptor]
>   write-ending [SoapOutEndingInterceptor]
>   pre-stream-ending [StaxOutEndingInterceptor]
>   prepare-send-ending [MessageSenderEndingInterceptor]
>
> - Invoking handleMessage on interceptor
> org.apache.cxf.jaxws.handler.logical.LogicalHandlerOutInterceptor@11f2041
> - Invoking handleMessage on interceptor
> org.apache.cxf.interceptor.BareOutInterceptor@c8d62f
> - Sending POST Message with Headers to https://webservices.sabre.com/websvc
> Conduit
> :{https://webservices.sabre.com/websvc}OTA_HotelAvailPortType.http-conduit
> Content-Type: text/xml; charset=UTF-8
>
> - SOAPAction: "OTA"
> - Accept: *
> - No Trust Decider for Conduit
> '{https://webservices.sabre.com/websvc}OTA_HotelAvailPortType.http-conduit'.
> An afirmative Trust Decision is assumed.
> - Invoking handleMessage on interceptor
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor$SoapOutEndingInterceptor@197507c
> - Invoking handleMessage on interceptor
> org.apache.cxf.interceptor.StaxOutInterceptor$StaxOutEndingInterceptor@159d10
> - Invoking handleMessage on interceptor
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor@1216f5a
>   


Re: service caching

Posted by Christopher Cheng <ma...@skywidetech.com>.
- creating port for portName
- endpoint reference:
- endpoint interface:
- Could not find a definition for bean with id
{https://webservices.sabre.com/websvc}OTA_HotelAvailPortType.jaxws-client.proxyFactory
- no injection will be performed.
- Creating Service
{https://webservices.sabre.com/websvc}OTA_HotelAvailService from WSDL:
file:/C:/Java/abacus-webconnect-1.14.0.rc1/wsdl/OTA_HotelAvailLLS1.4.1RQ.wsdl
- Created JAXBContext
"jar:file:/C:/Java/apache-cxf-2.0.3-incubator/lib/jaxb-impl-2.0.5.jar!/com/sun/xml/bind/v2/runtime/JAXBContextImpl.class
Build-Id: 2.0.5
Classes known to this context:
  [B
  boolean
  byte
  char
  com.sabre.webservices.sabrexml._2003._07.GuaranteeType
  com.sabre.webservices.sabrexml._2003._07.GuaranteeType$Comments
  com.sabre.webservices.sabrexml._2003._07.GuaranteeType$Comments$Comment
 
com.sabre.webservices.sabrexml._2003._07.GuaranteeType$Comments$Comment$Text
  com.sabre.webservices.sabrexml._2003._07.GuaranteeType$Deadline
 
com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteeDescription
 
com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteeDescription$Text
  com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted
 
com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted$GuaranteeAccepted
 
com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted$GuaranteeAccepted$PaymentCard
 
com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted$GuaranteeAccepted$PaymentCard$Address
 
com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted$GuaranteeAccepted$PaymentCard$Address$CountryName
 
com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted$GuaranteeAccepted$PaymentCard$Address$StateProv
 
com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted$GuaranteeAccepted$PaymentCard$Address$StreetNmbr
 
com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted$GuaranteeAccepted$PaymentCard$CardIssuerName
  com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType
  com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion
 
com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$Address
 
com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$Address$CountryName
 
com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$Award
 
com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$HotelRef
 
com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$Radius
 
com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$TPAExtensions
 
com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$TPAExtensions$AirportTransportation
 
com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$TPAExtensions$Bedding
 
com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$TPAExtensions$FireSafetyApproved
 
com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$TPAExtensions$GeoCodeOnly
 
com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$TPAExtensions$PropertyType
 
com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$TPAExtensions$SpecialQualifier
 
com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$Telephone
  com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$AvailRequestSegments
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$AvailRequestSegments$AvailRequestSegment
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$AvailRequestSegments$AvailRequestSegment$RateRange
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$AvailRequestSegments$AvailRequestSegment$StayDateRange
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$AvailRequestSegments$TPAExtensions
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$AvailRequestSegments$TPAExtensions$AdditionalAvail
  com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$POS
  com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$POS$Source
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$POS$Source$BookingChannel
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$POS$Source$BookingChannel$CompanyName
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$POS$Source$Position
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$POS$Source$RequestorID
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$POS$Source$RequestorID$CompanyName
  com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$TPAExtensions
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$TPAExtensions$MessagingDetails
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$TPAExtensions$MessagingDetails$MDRSubset
  com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS
  com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Areas
  com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Areas$Area
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Areas$Area$AreaDescription
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Areas$Area$AreaDescription$Text
  com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Address
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Address$CountryName
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Address$StateProv
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Address$StreetNmbr
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Award
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$CodeRef
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$HotelAmenity
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$HotelRef
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Position
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Radius
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Telephone
  com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Errors
  com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Errors$Error
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Errors$Error$ErrorInfo
  com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$POS
  com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$POS$Source
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$POS$Source$BookingChannel
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$POS$Source$BookingChannel$CompanyName
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$POS$Source$Position
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$POS$Source$RequestorID
 
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$POS$Source$RequestorID$CompanyName
  com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$RoomStays
  com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$TPAExtensions
  com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Warnings
  com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Warnings$Warning
  com.sabre.webservices.sabrexml._2003._07.PaymentsType
  com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments
 
com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment
 
com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment$PaymentCard
 
com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment$PaymentCard$Address
 
com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment$PaymentCard$Address$CountryName
 
com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment$PaymentCard$Address$StateProv
 
com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment$PaymentCard$Address$StreetNmbr
 
com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment$PaymentCard$Address$TPAExtensions
 
com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment$PaymentCard$CardIssuerName
  com.sabre.webservices.sabrexml._2003._07.PaymentsType$AmountPercent
  com.sabre.webservices.sabrexml._2003._07.PaymentsType$Deadline
  com.sabre.webservices.sabrexml._2003._07.PaymentsType$PaymentDescription
 
com.sabre.webservices.sabrexml._2003._07.PaymentsType$PaymentDescription$Text
  com.sabre.webservices.sabrexml._2003._07.ProfilesType
  com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer
  com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$CustLoyalty
  com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$PaymentForm
 
com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$PaymentForm$PaymentCard
 
com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$PaymentForm$PaymentCard$TPAExtensions
 
com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$PaymentForm$PaymentCard$TPAExtensions$Guarantee
 
com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$PaymentForm$PaymentCard$TPAExtensions$Guarantee$PersonName
 
com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$TPAExtensions
 
com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$TPAExtensions$CorporateID
 
com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$TPAExtensions$IDNumber
 
com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$TPAExtensions$NameSelect
  com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo
  com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile
 
com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile$Agreements
 
com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile$Agreements$CommissionInfo
 
com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile$Customer
 
com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile$Customer$CustLoyalty
 
com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile$Customer$TPAExtensions
 
com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile$Customer$TPAExtensions$CorporateID
 
com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile$Customer$TPAExtensions$IDNumber
  com.sabre.webservices.sabrexml._2003._07.RatePlanCandidatesType
 
com.sabre.webservices.sabrexml._2003._07.RatePlanCandidatesType$RatePlanCandidate
 
com.sabre.webservices.sabrexml._2003._07.RatePlanCandidatesType$TPAExtensions
 
com.sabre.webservices.sabrexml._2003._07.RatePlanCandidatesType$TPAExtensions$PromotionalSpot
  com.sabre.webservices.sabrexml._2003._07.RoomStayCandidatesType
 
com.sabre.webservices.sabrexml._2003._07.RoomStayCandidatesType$RoomStayCandidate
 
com.sabre.webservices.sabrexml._2003._07.RoomStayCandidatesType$RoomStayCandidate$GuestCounts
 
com.sabre.webservices.sabrexml._2003._07.RoomStayCandidatesType$RoomStayCandidate$GuestCounts$GuestCount
  com.sabre.webservices.sabrexml._2003._07.RoomStayType
  com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$Address
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$Address$CountryName
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$Address$StateProv
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$Address$StreetNmbr
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$Address$TPAExtensions
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$Award
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$ContactNumbers
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$ContactNumbers$ContactNumber
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$ContactNumbers$TPAExtensions
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$ContactNumbers$TPAExtensions$FaxNumber
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$Position
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$AdditionalData
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$AdditionalInfo
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$AdditionalInfo$CancelPolicy
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$AdditionalInfo$Commission
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$AdditionalInfo$CreditCard
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$AdditionalInfo$NonCommission
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$AdditionalInfo$RoomLocation
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$DCAvailParticipant
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$DCSellParticipant
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$RequestFail
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$UnAvail
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$Distance
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$Line
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$LocationDescription
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$LocationDescription$DCAvailParticipant
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$LocationDescription$RequestFail
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$LocationDescription$UnAvail
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$MaxRate
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$MinRate
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$VendorMessages
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$VendorMessages$VendorMessage
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$VendorMessages$VendorMessage$SubSection
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$VendorMessages$VendorMessage$SubSection$Paragraph
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$VendorMessages$VendorMessage$SubSection$Paragraph$Text
  com.sabre.webservices.sabrexml._2003._07.RoomStayType$CancelPenalties
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$CancelPenalties$CancelPenalty
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$CancelPenalties$CancelPenalty$AmountPercent
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$CancelPenalties$CancelPenalty$Deadline
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$CancelPenalties$CancelPenalty$PenaltyDescription
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$CancelPenalties$CancelPenalty$PenaltyDescription$Text
  com.sabre.webservices.sabrexml._2003._07.RoomStayType$DepositPayments
  com.sabre.webservices.sabrexml._2003._07.RoomStayType$Discount
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$Discount$DiscountReason
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$Discount$DiscountReason$Text
  com.sabre.webservices.sabrexml._2003._07.RoomStayType$GuestCounts
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$GuestCounts$GuestCount
  com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans
  com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$AdditionalDetails
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$AdditionalDetails$AdditionalDetail
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$AdditionalDetails$AdditionalDetail$DetailDescription
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$AdditionalDetails$AdditionalDetail$DetailDescription$Text
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$CancelPenalties
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$CancelPenalties$CancelPenalty
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$CancelPenalties$CancelPenalty$AmountPercent
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$CancelPenalties$CancelPenalty$Deadline
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$CancelPenalties$CancelPenalty$PenaltyDescription
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$CancelPenalties$CancelPenalty$PenaltyDescription$Text
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$Comment
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$Comment$Text
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$CommissionPayableAmount
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$CommissionableAmount
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$FlatCommission
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$PrepaidAmount
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$UniqueID
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$UniqueID$CompanyName
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$MealsIncluded
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$RatePlanDescription
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$RatePlanDescription$Text
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$RatePlanInclusions
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$RatePlanInclusions$RatePlanInclusionDesciption
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$RatePlanInclusions$RatePlanInclusionDesciption$Text
  com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates
  com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Features
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Features$Feature
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Features$Feature$Description
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Features$Feature$Description$Text
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$AdditionalGuestAmounts
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$AdditionalGuestAmounts$AdditionalGuestAmount
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$AdditionalGuestAmounts$AdditionalGuestAmount$AddlGuestAmtDescription
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$AdditionalGuestAmounts$AdditionalGuestAmount$AddlGuestAmtDescription$Text
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$AdditionalGuestAmounts$AdditionalGuestAmount$Amount
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Base
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$CancelPolicies
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$CancelPolicies$CancelPenalty
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$CancelPolicies$CancelPenalty$AmountPercent
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$CancelPolicies$CancelPenalty$Deadline
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$CancelPolicies$CancelPenalty$PenaltyDescription
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$CancelPolicies$CancelPenalty$PenaltyDescription$Text
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Discount
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Discount$DiscountReason
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Discount$DiscountReason$Text
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Fees
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Fees$Fee
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Fees$Fee$Description
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Fees$Fee$Description$Text
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$BankAcct
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$DirectBill
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$DirectBill$Address
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$DirectBill$Address$CountryName
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$DirectBill$Address$StateProv
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$DirectBill$Address$StreetNmbr
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$DirectBill$Address$TPAExtensions
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$DirectBill$CompanyName
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$LoyaltyRedemption
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$MiscChargeOrder
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$PaymentCard
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$PaymentCard$Address
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$PaymentCard$Address$CountryName
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$PaymentCard$Address$StateProv
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$PaymentCard$Address$StreetNmbr
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$PaymentCard$Address$TPAExtensions
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$PaymentCard$CardIssuerName
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$Voucher
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AmountPercent
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$Deadline
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$PaymentDescription
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$PaymentDescription$Text
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$RateDescription
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$RateDescription$Text
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$TPAExtensions
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$TPAExtensions$RateConversion
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$TPAExtensions$RatePerNight
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$TPAExtensions$RoomTypeCode
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Total
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$TPAExtensions
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$TPAExtensions$RateChange
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$RoomRateDescription
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$TPAExtensions
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$TPAExtensions$ContractualRate
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$TPAExtensions$NegotiatedRate
  com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes
  com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$AdditionalDetails
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$AdditionalDetails$AdditionalDetail
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$AdditionalDetails$AdditionalDetail$DetailDescription
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$AdditionalDetails$AdditionalDetail$DetailDescription$Text
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$Amenities
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$Amenities$Amenity
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$RoomDescription
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$RoomDescription$Text
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$TPAExtensions
  com.sabre.webservices.sabrexml._2003._07.RoomStayType$TimeSpan
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$TimeSpan$DateWindowRange
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$TimeSpan$EndDateWindow
 
com.sabre.webservices.sabrexml._2003._07.RoomStayType$TimeSpan$StartDateWindow
  com.sabre.webservices.sabrexml._2003._07.RoomStayType$Total
  com.sabre.webservices.sabrexml._2003._07.TaxesType
  com.sabre.webservices.sabrexml._2003._07.TaxesType$Tax
  com.sabre.webservices.sabrexml._2003._07.TaxesType$Tax$TaxDescription
  com.sabre.webservices.sabrexml._2003._07.TaxesType$Tax$TaxDescription$Text
  com.sun.xml.bind.api.CompositeStructure
  double
  float
  int
  java.awt.Image
  java.io.File
  java.lang.Boolean
  java.lang.Byte
  java.lang.Character
  java.lang.Class
  java.lang.Double
  java.lang.Float
  java.lang.Integer
  java.lang.Long
  java.lang.Object
  java.lang.Short
  java.lang.String
  java.lang.Void
  java.math.BigDecimal
  java.math.BigInteger
  java.net.URI
  java.net.URL
  java.util.Calendar
  java.util.Date
  java.util.GregorianCalendar
  java.util.UUID
  javax.activation.DataHandler
  javax.xml.bind.JAXBElement
  javax.xml.datatype.Duration
  javax.xml.datatype.XMLGregorianCalendar
  javax.xml.namespace.QName
  javax.xml.transform.Source
  long
  org.ebxml.namespaces.messageheader.AckRequested
  org.ebxml.namespaces.messageheader.Acknowledgment
  org.ebxml.namespaces.messageheader.Description
  org.ebxml.namespaces.messageheader.Error
  org.ebxml.namespaces.messageheader.ErrorList
  org.ebxml.namespaces.messageheader.From
  org.ebxml.namespaces.messageheader.Manifest
  org.ebxml.namespaces.messageheader.MessageData
  org.ebxml.namespaces.messageheader.MessageHeader
  org.ebxml.namespaces.messageheader.MessageOrder
  org.ebxml.namespaces.messageheader.MessageStatusType
  org.ebxml.namespaces.messageheader.PartyId
  org.ebxml.namespaces.messageheader.Reference
  org.ebxml.namespaces.messageheader.Schema
  org.ebxml.namespaces.messageheader.SequenceNumberType
  org.ebxml.namespaces.messageheader.Service
  org.ebxml.namespaces.messageheader.SeverityType
  org.ebxml.namespaces.messageheader.StatusRequest
  org.ebxml.namespaces.messageheader.StatusResponse
  org.ebxml.namespaces.messageheader.StatusType
  org.ebxml.namespaces.messageheader.SyncReply
  org.ebxml.namespaces.messageheader.To
  org.xmlsoap.schemas.ws._2002._12.secext.Security
  org.xmlsoap.schemas.ws._2002._12.secext.Security$UsernameToken
  short
  void
" with classes [class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$AdditionalInfo$Commission,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$Award,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$VendorMessages$VendorMessage$SubSection,
class com.sabre.webservices.sabrexml._2003._07.RoomStayType$TimeSpan, class
com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment$PaymentCard$Address$TPAExtensions,
class
com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted$GuaranteeAccepted$PaymentCard$Address$StateProv,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$AdditionalDetails$AdditionalDetail,
class org.ebxml.namespaces.messageheader.PartyId, class
com.sabre.webservices.sabrexml._2003._07.PaymentsType$Deadline, class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$MiscChargeOrder,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment,
class com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType,
class
com.sabre.webservices.sabrexml._2003._07.TaxesType$Tax$TaxDescription$Text,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$Discount$DiscountReason,
class
com.sabre.webservices.sabrexml._2003._07.RatePlanCandidatesType$TPAExtensions,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Address,
class
com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment$PaymentCard,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$MinRate,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$LocationDescription$RequestFail,
class com.sabre.webservices.sabrexml._2003._07.RatePlanCandidatesType, class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$LocationDescription,
class com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ, class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$Comment,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$HotelRef,
class
com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$GuestCounts$GuestCount,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$PaymentDescription,
class
com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$Award,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Features$Feature$Description,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$POS$Source$Position,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$TPAExtensions,
class
com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$TPAExtensions,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$CancelPenalties$CancelPenalty$PenaltyDescription$Text,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$Address$TPAExtensions,
class com.sabre.webservices.sabrexml._2003._07.RoomStayType$DepositPayments,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$CodeRef,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$CancelPenalties,
class com.sabre.webservices.sabrexml._2003._07.GuaranteeType$Deadline, class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Fees$Fee,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Fees$Fee$Description,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$VendorMessages$VendorMessage$SubSection$Paragraph,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$UnAvail,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$PrepaidAmount,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$DirectBill$Address$StateProv,
class com.sabre.webservices.sabrexml._2003._07.GuaranteeType, class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$TPAExtensions$RateConversion,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$UniqueID,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$TPAExtensions$NegotiatedRate,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo,
class
com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType,
class
com.sabre.webservices.sabrexml._2003._07.RatePlanCandidatesType$TPAExtensions$PromotionalSpot,
class com.sabre.webservices.sabrexml._2003._07.PaymentsType$AmountPercent,
class org.xmlsoap.schemas.ws._2002._12.secext.Security$UsernameToken, class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Warnings$Warning,
class
com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$PaymentForm$PaymentCard$TPAExtensions,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$Comment$Text,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$Address,
class
com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted$GuaranteeAccepted$PaymentCard$CardIssuerName,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$DCSellParticipant,
class com.sabre.webservices.sabrexml._2003._07.TaxesType, class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$ContactNumbers,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$CommissionableAmount,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$AdditionalGuestAmounts$AdditionalGuestAmount,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Discount$DiscountReason,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$AdditionalDetails,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$RoomRateDescription,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$Deadline,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$Discount$DiscountReason$Text,
class com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Warnings,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$POS$Source$RequestorID$CompanyName,
class
com.sabre.webservices.sabrexml._2003._07.PaymentsType$PaymentDescription$Text,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$CancelPenalties$CancelPenalty$Deadline,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$CancelPenalties$CancelPenalty$PenaltyDescription,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$TPAExtensions,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission,
class
com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$HotelRef,
class
com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$PaymentForm$PaymentCard$TPAExtensions$Guarantee,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Areas$Area$AreaDescription$Text,
class
com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$Telephone,
class
com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$AdditionalDetails,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$CancelPenalties$CancelPenalty,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$VendorMessages$VendorMessage,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$AdditionalDetails$AdditionalDetail$DetailDescription,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect,
class com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Areas, class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$CancelPenalties, class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Discount$DiscountReason$Text,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Features,
class javax.xml.datatype.XMLGregorianCalendar, class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$PaymentDescription$Text,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Total,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$POS$Source$BookingChannel,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$PaymentCard$CardIssuerName,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$PaymentCard$Address$CountryName,
class com.sabre.webservices.sabrexml._2003._07.RoomStayType$Total, class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Errors$Error, class
com.sabre.webservices.sabrexml._2003._07.ObjectFactory, class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$CancelPenalties$CancelPenalty$AmountPercent,
class javax.xml.datatype.Duration, class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$POS$Source$BookingChannel,
class org.ebxml.namespaces.messageheader.MessageHeader, class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$RatePlanInclusions$RatePlanInclusionDesciption$Text,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$TimeSpan$StartDateWindow,
class org.ebxml.namespaces.messageheader.ObjectFactory, class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$POS$Source$RequestorID$CompanyName,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$CancelPolicies$CancelPenalty,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$CancelPenalties$CancelPenalty$PenaltyDescription$Text,
class org.xmlsoap.schemas.ws._2002._12.secext.ObjectFactory, class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$DirectBill$Address$StreetNmbr,
class
com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteeDescription$Text,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$CommissionPayableAmount,
class com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$POS, class
com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted$GuaranteeAccepted$PaymentCard,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Address$StreetNmbr,
class
com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment$PaymentCard$Address$StreetNmbr,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$DirectBill$Address,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$DirectBill$CompanyName,
class org.ebxml.namespaces.messageheader.MessageData, class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$AvailRequestSegments$AvailRequestSegment,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$AdditionalInfo$NonCommission,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$CancelPolicies,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$POS$Source$Position,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$RatePlanInclusions,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$PaymentCard$Address$StreetNmbr,
class org.xmlsoap.schemas.ws._2002._12.secext.Security, class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$Position,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Award,
class
com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$PaymentForm$PaymentCard,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayCandidatesType$RoomStayCandidate,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$Address$StateProv,
class
com.sabre.webservices.sabrexml._2003._07.GuaranteeType$Comments$Comment$Text,
class
com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$Radius,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$CancelPenalties$CancelPenalty$PenaltyDescription,
class
com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$CustLoyalty,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$RateDescription$Text,
class com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$RoomStays,
class org.ebxml.namespaces.messageheader.Service, class
com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment$PaymentCard$Address,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$RoomDescription$Text,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Address$StateProv,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$LocationDescription$DCAvailParticipant,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$DCAvailParticipant,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$DirectBill$Address$CountryName,
class com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$POS$Source,
class
com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile$Customer,
class com.sabre.webservices.sabrexml._2003._07.RoomStayCandidatesType, class
com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$TPAExtensions$PropertyType,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$AdditionalGuestAmounts$AdditionalGuestAmount$AddlGuestAmtDescription$Text,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$AdditionalGuestAmounts$AdditionalGuestAmount$Amount,
class com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Errors, class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$UniqueID$CompanyName,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$POS$Source$BookingChannel$CompanyName,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Fees$Fee$Description$Text,
class
com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$TPAExtensions$IDNumber,
class com.sabre.webservices.sabrexml._2003._07.GuaranteeType$Comments, class
com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile$Customer$TPAExtensions,
class
com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted$GuaranteeAccepted$PaymentCard$Address,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$TimeSpan$DateWindowRange,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$AdditionalInfo$CreditCard,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$AvailRequestSegments$TPAExtensions,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$TPAExtensions,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Errors$Error$ErrorInfo,
class org.ebxml.namespaces.messageheader.To, class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Position,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$CancelPolicies$CancelPenalty$AmountPercent,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$VendorMessages,
class com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$POS$Source,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$TPAExtensions$MessagingDetails$MDRSubset,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$AdditionalData,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Base,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$LoyaltyRedemption,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$RatePlanDescription$Text,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$Amenities,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$DirectBill,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$LocationDescription$UnAvail,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$Amenities$Amenity,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$AvailRequestSegments$AvailRequestSegment$RateRange,
class
com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile,
class
com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteeDescription,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$BankAcct,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$Voucher,
class
com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$TPAExtensions$SpecialQualifier,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$DirectBill$Address$TPAExtensions,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$Line,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$Distance,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Address$CountryName,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$AdditionalDetails$AdditionalDetail$DetailDescription$Text,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Telephone,
class
com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted,
class
com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$TPAExtensions$Bedding,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$AdditionalGuestAmounts,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AmountPercent,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$AdditionalGuestAmounts$AdditionalGuestAmount$AddlGuestAmtDescription,
class
com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted$GuaranteeAccepted$PaymentCard$Address$StreetNmbr,
class
com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$TPAExtensions,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$AdditionalDetails$AdditionalDetail,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$PaymentCard$Address,
class
com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment$PaymentCard$Address$StateProv,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$AdditionalDetails$AdditionalDetail$DetailDescription,
class
com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$TPAExtensions$CorporateID,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$AvailRequestSegments$AvailRequestSegment$StayDateRange,
class
com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted$GuaranteeAccepted,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayCandidatesType$RoomStayCandidate$GuestCounts,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$TPAExtensions,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment,
class
com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$Address,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Features$Feature$Description$Text,
class org.ebxml.namespaces.messageheader.Description, class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans, class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$TPAExtensions$RoomTypeCode,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$AdditionalDetails$AdditionalDetail$DetailDescription$Text,
class com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS, class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$RequestFail,
class com.sabre.webservices.sabrexml._2003._07.TaxesType$Tax$TaxDescription,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$AdditionalInfo$RoomLocation,
class
com.sabre.webservices.sabrexml._2003._07.GuaranteeType$GuaranteesAccepted$GuaranteeAccepted$PaymentCard$Address$CountryName,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Areas$Area$AreaDescription,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$RoomDescription,
class
com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$Address$CountryName,
class com.sabre.webservices.sabrexml._2003._07.RoomStayType, class
com.sabre.webservices.sabrexml._2003._07.GuaranteeType$Comments$Comment,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$Commission$FlatCommission,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$TPAExtensions$MessagingDetails,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Discount,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$POS$Source$BookingChannel$CompanyName,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$HotelAmenity,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$Fees,
class
com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$PaymentForm$PaymentCard$TPAExtensions$Guarantee$PersonName,
class
com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$TPAExtensions$AirportTransportation,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Features$Feature,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$TimeSpan$EndDateWindow,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$MaxRate,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$CancelPolicies$CancelPenalty$PenaltyDescription,
class com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates, class
com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile$Agreements,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$CancelPolicies$CancelPenalty$Deadline,
class com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$RateDescription,
class
com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$TPAExtensions$GeoCodeOnly,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$TPAExtensions$RatePerNight,
class com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$POS, class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$CancelPolicies$CancelPenalty$PenaltyDescription$Text,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$MealsIncluded,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$POS$Source$RequestorID,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$PaymentCard$Address$TPAExtensions,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Criteria$Criterion$Radius,
class com.sabre.webservices.sabrexml._2003._07.RoomStayType$Discount, class
com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile$Customer$CustLoyalty,
class com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer, class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$Address$StreetNmbr,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$AvailRequestSegments,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$CancelPenalties$CancelPenalty,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$VendorMessages$VendorMessage$SubSection$Paragraph$Text,
class org.ebxml.namespaces.messageheader.From, class
com.sabre.webservices.sabrexml._2003._07.RatePlanCandidatesType$RatePlanCandidate,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$ContactNumbers$ContactNumber,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$AvailRequestSegments$TPAExtensions$AdditionalAvail,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayCandidatesType$RoomStayCandidate$GuestCounts$GuestCount,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate,
class
com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$TPAExtensions$NameSelect,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$Address$CountryName,
class
com.sabre.webservices.sabrexml._2003._07.HotelSearchCriteriaType$Criterion$TPAExtensions$FireSafetyApproved,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$TPAExtensions$RateChange,
class
com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile$Agreements$CommissionInfo,
class
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ$POS$Source$RequestorID,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$AdditionalInfo$CancelPolicy,
class
com.sabre.webservices.sabrexml._2003._07.ProfilesType$Customer$PaymentForm,
class com.sabre.webservices.sabrexml._2003._07.PaymentsType, class
com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment$PaymentCard$Address$CountryName,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$TPAExtensions,
class
com.sabre.webservices.sabrexml._2003._07.PaymentsType$AcceptedPayments$AcceptedPayment$PaymentCard$CardIssuerName,
class
com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile$Customer$TPAExtensions$IDNumber,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$TPAExtensions$DirectConnect$AdditionalInfo,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$ContactNumbers$TPAExtensions,
class
com.sabre.webservices.sabrexml._2003._07.PaymentsType$PaymentDescription,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$RatePlanDescription,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$TPAExtensions$ContractualRate,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$BasicPropertyInfo$ContactNumbers$TPAExtensions$FaxNumber,
class com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS$Areas$Area,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$CancelPenalties$CancelPenalty$Deadline,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes$RoomType$TPAExtensions,
class com.sabre.webservices.sabrexml._2003._07.TaxesType$Tax, class
com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo$Profile$Customer$TPAExtensions$CorporateID,
class com.sabre.webservices.sabrexml._2003._07.ProfilesType, class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$PaymentCard,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomRates$RoomRate$Rates$Rate$PaymentPolicies$RequiredPayment$AcceptedPayments$AcceptedPayment$PaymentCard$Address$StateProv,
class com.sabre.webservices.sabrexml._2003._07.ProfilesType$ProfileInfo,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$CancelPenalties$CancelPenalty$AmountPercent,
class
com.sabre.webservices.sabrexml._2003._07.RoomStayType$RatePlans$RatePlan$RatePlanInclusions$RatePlanInclusionDesciption,
class com.sabre.webservices.sabrexml._2003._07.RoomStayType$GuestCounts,
class com.sabre.webservices.sabrexml._2003._07.RoomStayType$RoomTypes].
- Could not find a definition for bean with id
{https://webservices.sabre.com/websvc}OTA_HotelAvailService - no injection
will be performed.
- Could not find a definition for bean with id
{https://webservices.sabre.com/websvc}OTA_HotelAvailPortType.endpoint - no
injection will be performed.
- building handler chain
- Checking for HandlerChain annotation on
com.sabre.webservices.websvc.OTAHotelAvailService
- no HandlerChain annotation on class
com.sabre.webservices.websvc.OTAHotelAvailService
- created proxy
- Invoke, operation info: [BindingOperationInfo:
{https://webservices.sabre.com/websvc}OTA_HotelAvailRQ], params:
[Ljava.lang.Object;@2e9c76
- set requestContext to message be{RequestMethod=public abstract
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS
com.sabre.webservices.websvc.OTAHotelAvailPortType.otaHotelAvailRQ(javax.xml.ws.Holder,javax.xml.ws.Holder,com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ),
javax.xml.ws.service.endpoint.address=https://webservices.sabre.com/websvc,
java.lang.reflect.Method=public abstract
com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRS
com.sabre.webservices.websvc.OTAHotelAvailPortType.otaHotelAvailRQ(javax.xml.ws.Holder,javax.xml.ws.Holder,com.sabre.webservices.sabrexml._2003._07.OTAHotelAvailRQ),
org.apache.cxf.jaxws.context.WrappedMessageContext.SCOPES={javax.xml.ws.service.endpoint.address=APPLICATION},
org.apache.cxf.message.Message.ENDPOINT_ADDRESS=https://webservices.sabre.com/websvc}
- Interceptors contributed by bus:
[org.apache.cxf.interceptor.LoggingOutInterceptor@6798eb]
- Interceptors contributed by endpoint:
[org.apache.cxf.interceptor.MessageSenderInterceptor@220711,
org.apache.cxf.jaxws.interceptors.SwAOutInterceptor@1fe28a7,
org.apache.cxf.jaxws.handler.logical.LogicalHandlerOutInterceptor@11f2041,
org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor@7e942f,
org.apache.cxf.jaxws.interceptors.HolderOutInterceptor@32a325,
org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor@74ece8]
- Interceptors contributed by client: []
- Interceptors contributed by binding:
[org.apache.cxf.binding.soap.interceptor.SoapActionOutInterceptor@6da8eb,
org.apache.cxf.interceptor.AttachmentOutInterceptor@16d079a,
org.apache.cxf.interceptor.StaxOutInterceptor@10e468f,
org.apache.cxf.binding.soap.interceptor.SoapHeaderOutFilterInterceptor@3a78ad,
org.apache.cxf.interceptor.BareOutInterceptor@c8d62f,
org.apache.cxf.binding.soap.interceptor.SoapPreProtocolOutInterceptor@165d118,
org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor@18297fe]
- Adding interceptor org.apache.cxf.interceptor.LoggingOutInterceptor@6798eb
to phase pre-stream
- Adding interceptor
org.apache.cxf.interceptor.MessageSenderInterceptor@220711 to phase
prepare-send
- Adding interceptor
org.apache.cxf.jaxws.interceptors.SwAOutInterceptor@1fe28a7 to phase
pre-logical
- Adding interceptor
org.apache.cxf.jaxws.handler.logical.LogicalHandlerOutInterceptor@11f2041 to
phase pre-marshal
- Adding interceptor
org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor@7e942f to phase
pre-logical
- Adding interceptor
org.apache.cxf.jaxws.interceptors.HolderOutInterceptor@32a325 to phase
pre-logical
- Adding interceptor
org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor@74ece8 to phase
pre-protocol
- Adding interceptor
org.apache.cxf.binding.soap.interceptor.SoapActionOutInterceptor@6da8eb to
phase post-logical
- Adding interceptor
org.apache.cxf.interceptor.AttachmentOutInterceptor@16d079a to phase
pre-stream
- Adding interceptor org.apache.cxf.interceptor.StaxOutInterceptor@10e468f
to phase pre-stream
- Adding interceptor
org.apache.cxf.binding.soap.interceptor.SoapHeaderOutFilterInterceptor@3a78ad
to phase pre-logical
- Adding interceptor org.apache.cxf.interceptor.BareOutInterceptor@c8d62f to
phase marshal
- Adding interceptor
org.apache.cxf.binding.soap.interceptor.SoapPreProtocolOutInterceptor@165d118
to phase pre-stream
- Adding interceptor
org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor@18297fe to phase
write
- Conduit
'{https://webservices.sabre.com/websvc}OTA_HotelAvailPortType.http-conduit'
has been (re) configured for TLS keyManagers nulltrustManagers
nullsecureRandom null
- Successfully performed injection.
- Could not find a definition for bean with id
{https://webservices.sabre.com/websvc}OTA_HotelAvailPortType.http-conduit -
no injection will be performed.
- No Trust Decider configured for Conduit
'{https://webservices.sabre.com/websvc}OTA_HotelAvailPortType.http-conduit'
- No Basic Auth Supplier configured for Conduit
'{https://webservices.sabre.com/websvc}OTA_HotelAvailPortType.http-conduit'
- Conduit
'{https://webservices.sabre.com/websvc}OTA_HotelAvailPortType.http-conduit'
has been configured for TLS keyManagers nulltrustManagers nullsecureRandom
null
- registering incoming observer: org.apache.cxf.endpoint.ClientImpl@c8aeb3
- Chain org.apache.cxf.phase.PhaseInterceptorChain@1459c6f was created.
Current flow:
  pre-logical [HolderOutInterceptor, SwAOutInterceptor,
WrapperClassOutInterceptor, SoapHeaderOutFilterInterceptor]
  post-logical [SoapActionOutInterceptor]
  prepare-send [MessageSenderInterceptor]
  pre-stream [LoggingOutInterceptor, SoapPreProtocolOutInterceptor,
AttachmentOutInterceptor, StaxOutInterceptor]
  pre-protocol [SOAPHandlerInterceptor]
  write [SoapOutInterceptor]
  pre-marshal [LogicalHandlerOutInterceptor]
  marshal [BareOutInterceptor]

- Invoking handleMessage on interceptor
org.apache.cxf.jaxws.interceptors.HolderOutInterceptor@32a325
- op: [OperationInfo:
{https://webservices.sabre.com/websvc}OTA_HotelAvailRQ]
- op.hasOutput(): true
- op.getOutput().size(): 3
- Invoking handleMessage on interceptor
org.apache.cxf.jaxws.interceptors.SwAOutInterceptor@1fe28a7
- Invoking handleMessage on interceptor
org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor@7e942f
- Invoking handleMessage on interceptor
org.apache.cxf.binding.soap.interceptor.SoapHeaderOutFilterInterceptor@3a78ad
- Invoking handleMessage on interceptor
org.apache.cxf.binding.soap.interceptor.SoapActionOutInterceptor@6da8eb
- Invoking handleMessage on interceptor
org.apache.cxf.interceptor.MessageSenderInterceptor@220711
- The cipher suites have not been configured, falling back to cipher suite
filters.
- Ciphersuite include filter: .*_EXPORT_.*
- Ciphersuite include filter: .*_EXPORT1024_.*
- Ciphersuite include filter: .*_WITH_DES_.*
- Ciphersuite include filter: .*_WITH_NULL_.*
- Ciphersuite exclude filter: .*_DH_anon_.*
- The SSL_RSA_WITH_RC4_128_MD5 cipher suite is excluded by the filter.
- The SSL_RSA_WITH_RC4_128_SHA cipher suite is excluded by the filter.
- The TLS_RSA_WITH_AES_128_CBC_SHA cipher suite is excluded by the filter.
- The TLS_DHE_RSA_WITH_AES_128_CBC_SHA cipher suite is excluded by the
filter.
- The TLS_DHE_DSS_WITH_AES_128_CBC_SHA cipher suite is excluded by the
filter.
- The SSL_RSA_WITH_3DES_EDE_CBC_SHA cipher suite is excluded by the filter.
- The SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA cipher suite is excluded by the
filter.
- The SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA cipher suite is excluded by the
filter.
- The SSL_RSA_WITH_DES_CBC_SHA cipher suite is included by the filter.
- The SSL_DHE_RSA_WITH_DES_CBC_SHA cipher suite is included by the filter.
- The SSL_DHE_DSS_WITH_DES_CBC_SHA cipher suite is included by the filter.
- The SSL_RSA_EXPORT_WITH_RC4_40_MD5 cipher suite is included by the filter.
- The SSL_RSA_EXPORT_WITH_DES40_CBC_SHA cipher suite is included by the
filter.
- The SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA cipher suite is included by the
filter.
- The SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA cipher suite is included by the
filter.
- The SSL_RSA_WITH_NULL_MD5 cipher suite is included by the filter.
- The SSL_RSA_WITH_NULL_SHA cipher suite is included by the filter.
- The SSL_DH_anon_WITH_RC4_128_MD5 cipher suite is excluded by the filter.
- The TLS_DH_anon_WITH_AES_128_CBC_SHA cipher suite is excluded by the
filter.
- The SSL_DH_anon_WITH_3DES_EDE_CBC_SHA cipher suite is excluded by the
filter.
- The SSL_DH_anon_WITH_DES_CBC_SHA cipher suite is excluded by the filter.
- The SSL_DH_anon_EXPORT_WITH_RC4_40_MD5 cipher suite is excluded by the
filter.
- The SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA cipher suite is excluded by the
filter.
- The TLS_KRB5_WITH_RC4_128_SHA cipher suite is excluded by the filter.
- The TLS_KRB5_WITH_RC4_128_MD5 cipher suite is excluded by the filter.
- The TLS_KRB5_WITH_3DES_EDE_CBC_SHA cipher suite is excluded by the filter.
- The TLS_KRB5_WITH_3DES_EDE_CBC_MD5 cipher suite is excluded by the filter.
- The TLS_KRB5_WITH_DES_CBC_SHA cipher suite is included by the filter.
- The TLS_KRB5_WITH_DES_CBC_MD5 cipher suite is included by the filter.
- The TLS_KRB5_EXPORT_WITH_RC4_40_SHA cipher suite is included by the
filter.
- The TLS_KRB5_EXPORT_WITH_RC4_40_MD5 cipher suite is included by the
filter.
- The TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA cipher suite is included by the
filter.
- The TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5 cipher suite is included by the
filter.
- The enabled cipher suites have been filtered down to
[SSL_RSA_WITH_DES_CBC_SHA, SSL_DHE_RSA_WITH_DES_CBC_SHA,
SSL_DHE_DSS_WITH_DES_CBC_SHA, SSL_RSA_EXPORT_WITH_RC4_40_MD5,
SSL_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, SSL_RSA_WITH_NULL_MD5,
SSL_RSA_WITH_NULL_SHA, TLS_KRB5_WITH_DES_CBC_SHA, TLS_KRB5_WITH_DES_CBC_MD5,
TLS_KRB5_EXPORT_WITH_RC4_40_SHA, TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA, TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5].
- The excluded cipher suites have been filtered down to
[SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA,
TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA,
SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA,
SSL_DH_anon_WITH_RC4_128_MD5, TLS_DH_anon_WITH_AES_128_CBC_SHA,
SSL_DH_anon_WITH_3DES_EDE_CBC_SHA, SSL_DH_anon_WITH_DES_CBC_SHA,
SSL_DH_anon_EXPORT_WITH_RC4_40_MD5, SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA,
TLS_KRB5_WITH_RC4_128_SHA, TLS_KRB5_WITH_RC4_128_MD5,
TLS_KRB5_WITH_3DES_EDE_CBC_SHA, TLS_KRB5_WITH_3DES_EDE_CBC_MD5].  
- The cipher suites have been set to SSL_RSA_WITH_DES_CBC_SHA,
SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA,
SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, SSL_RSA_WITH_NULL_MD5,
SSL_RSA_WITH_NULL_SHA, TLS_KRB5_WITH_DES_CBC_SHA, TLS_KRB5_WITH_DES_CBC_MD5,
TLS_KRB5_EXPORT_WITH_RC4_40_SHA, TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA, TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5.  
- Adding interceptor
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor@1216f5a
to phase prepare-send-ending
- Chain org.apache.cxf.phase.PhaseInterceptorChain@1459c6f was modified.
Current flow:
  pre-logical [HolderOutInterceptor, SwAOutInterceptor,
WrapperClassOutInterceptor, SoapHeaderOutFilterInterceptor]
  post-logical [SoapActionOutInterceptor]
  prepare-send [MessageSenderInterceptor]
  pre-stream [LoggingOutInterceptor, SoapPreProtocolOutInterceptor,
AttachmentOutInterceptor, StaxOutInterceptor]
  pre-protocol [SOAPHandlerInterceptor]
  write [SoapOutInterceptor]
  pre-marshal [LogicalHandlerOutInterceptor]
  marshal [BareOutInterceptor]
  prepare-send-ending [MessageSenderEndingInterceptor]

- Invoking handleMessage on interceptor
org.apache.cxf.interceptor.LoggingOutInterceptor@6798eb
- Invoking handleMessage on interceptor
org.apache.cxf.binding.soap.interceptor.SoapPreProtocolOutInterceptor@165d118
- Invoking handleMessage on interceptor
org.apache.cxf.interceptor.AttachmentOutInterceptor@16d079a
- Invoking handleMessage on interceptor
org.apache.cxf.interceptor.StaxOutInterceptor@10e468f
- Adding interceptor
org.apache.cxf.interceptor.StaxOutInterceptor$StaxOutEndingInterceptor@159d10
to phase pre-stream-ending
- Chain org.apache.cxf.phase.PhaseInterceptorChain@1459c6f was modified.
Current flow:
  pre-logical [HolderOutInterceptor, SwAOutInterceptor,
WrapperClassOutInterceptor, SoapHeaderOutFilterInterceptor]
  post-logical [SoapActionOutInterceptor]
  prepare-send [MessageSenderInterceptor]
  pre-stream [LoggingOutInterceptor, SoapPreProtocolOutInterceptor,
AttachmentOutInterceptor, StaxOutInterceptor]
  pre-protocol [SOAPHandlerInterceptor]
  write [SoapOutInterceptor]
  pre-marshal [LogicalHandlerOutInterceptor]
  marshal [BareOutInterceptor]
  pre-stream-ending [StaxOutEndingInterceptor]
  prepare-send-ending [MessageSenderEndingInterceptor]

- Invoking handleMessage on interceptor
org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor@74ece8
- invoker for chain size: 0
- Invoking handleMessage on interceptor
org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor@18297fe
- Adding interceptor
org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor$SoapOutEndingInterceptor@197507c
to phase write-ending
- Chain org.apache.cxf.phase.PhaseInterceptorChain@1459c6f was modified.
Current flow:
  pre-logical [HolderOutInterceptor, SwAOutInterceptor,
WrapperClassOutInterceptor, SoapHeaderOutFilterInterceptor]
  post-logical [SoapActionOutInterceptor]
  prepare-send [MessageSenderInterceptor]
  pre-stream [LoggingOutInterceptor, SoapPreProtocolOutInterceptor,
AttachmentOutInterceptor, StaxOutInterceptor]
  pre-protocol [SOAPHandlerInterceptor]
  write [SoapOutInterceptor]
  pre-marshal [LogicalHandlerOutInterceptor]
  marshal [BareOutInterceptor]
  write-ending [SoapOutEndingInterceptor]
  pre-stream-ending [StaxOutEndingInterceptor]
  prepare-send-ending [MessageSenderEndingInterceptor]

- Invoking handleMessage on interceptor
org.apache.cxf.jaxws.handler.logical.LogicalHandlerOutInterceptor@11f2041
- Invoking handleMessage on interceptor
org.apache.cxf.interceptor.BareOutInterceptor@c8d62f
- Sending POST Message with Headers to https://webservices.sabre.com/websvc
Conduit
:{https://webservices.sabre.com/websvc}OTA_HotelAvailPortType.http-conduit
Content-Type: text/xml; charset=UTF-8

- SOAPAction: "OTA"
- Accept: *
- No Trust Decider for Conduit
'{https://webservices.sabre.com/websvc}OTA_HotelAvailPortType.http-conduit'.
An afirmative Trust Decision is assumed.
- Invoking handleMessage on interceptor
org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor$SoapOutEndingInterceptor@197507c
- Invoking handleMessage on interceptor
org.apache.cxf.interceptor.StaxOutInterceptor$StaxOutEndingInterceptor@159d10
- Invoking handleMessage on interceptor
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor@1216f5a
-- 
View this message in context: http://www.nabble.com/Re%3A-service-caching-tp15773252p15773254.html
Sent from the cxf-user mailing list archive at Nabble.com.