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.