cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Kulp <dk...@apache.org>
Subject Re: CXF Aegis Problem
Date Mon, 05 Jan 2009 17:47:39 GMT
On Friday 19 December 2008 11:57:51 am Andrew.K wrote:
> I used 2.1.3 before. Now I'm using 2.1.4-SNAPSHOT. As I see, this bug was
> fixed in this version.
>
> But, I have another question :-) Can I get the name of service method,
> which was called from client, in interceptor. I want to write this name in
> server log. I use server inInterceptor for some other purposes and, I
> think, it would be great to write this information in log file from this
> interceptor. But I can't find how to do this

From the interceptor (if it's late in the phase chain, user_logical would be 
best), you should be able to do something like:
msg.getExchange().get(BindingOperationInfo.class).getName();
to get the name of the operation being invoked.

Dan


>
> Thanks
>
> Benson Margulies-4 wrote:
> > We made a recent fix in this area. What version did you hit this with?
> >
> > On Wed, Dec 17, 2008 at 10:35 AM, Andrew.K <Intel123@ukr.net> wrote:
> >> Sorry, I done a mistake. I get this exception when when server is
> >> returned me
> >> an object with sortable collection in it. For exemple, class School with
> >>  Set<SChoolClass> classes=new HashSet<SchoolClass>(); in it.
> >>
> >> Do I still need post a test case with a JIRA or, maybe, I did some
> >> mistakes
> >> in configuration?
> >>
> >> Benson Margulies-4 wrote:
> >>> Can you post a test case with a JIRA?
> >>>
> >>> On Tue, Dec 16, 2008 at 12:21 PM, Andrew.K <Intel123@ukr.net> wrote:
> >>>> Hi all,
> >>>>
> >>>> I trying migrate from xfire to cxf. But, I have some problems with
> >>>> migrating
> >>>> application functionality.  When I try to call any service method,
> >>>> which
> >>>> return array of custom objects, I get an exception:
> >>>>
> >>>> org.apache.cxf.interceptor.Fault: $Proxy37 cannot be cast to
> >>>> java.lang.Comparable
> >>>>        at
> >>>> org.apache.cxf.aegis.databinding.XMLStreamDataReader.read(XMLStreamDat
> >>>>aReader.java:49) at
> >>>> org.apache.cxf.aegis.databinding.XMLStreamDataReader.read(XMLStreamDat
> >>>>aReader.java:34) at
> >>>> org.apache.cxf.interceptor.DocLiteralInInterceptor.getPara(DocLiteralI
> >>>>nInterceptor.java:235) at
> >>>> org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLi
> >>>>teralInInterceptor.java:120) at
> >>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
> >>>>rChain.java:220) at
> >>>> org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:633)
> >>>> at
> >>>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRe
> >>>>sponseInternal(HTTPConduit.java:2064) at
> >>>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRe
> >>>>sponse(HTTPConduit.java:1942) at
> >>>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HT
> >>>>TPConduit.java:1867) at
> >>>> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66
> >>>>) at
> >>>> org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:595)
> >>>>        at
> >>>> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndin
> >>>>gInterceptor.handleMessage(MessageSenderInterceptor.java:62) at
> >>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
> >>>>rChain.java:220) at
> >>>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:466)
> >>>>        at
> >>>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:299)
> >>>>        at
> >>>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:251)
> >>>>        at
> >>>> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
> >>>>        at
> >>>> org.apache.cxf.frontend.ClientProxy.invoke(ClientProxy.java:68)
> >>>>        at $Proxy32.getContentDB(Unknown Source)
> >>>>
> >>>> There is client intialization:
> >>>>
> >>>> ClientProxyFactoryBean factory = new ClientProxyFactoryBean();
> >>>> AegisDatabinding aegis = new AegisDatabinding();
> >>>> AegisContext context = new AegisContext();
> >>>> Set<String> rootClasses = new HashSet<String>();
> >>>> rootClasses.add(Comparable.class.getName());
> >>>> context.setRootClassNames(rootClasses);
> >>>> context.setWriteXsiTypes(true);
> >>>> context.setMtomEnabled(true);
> >>>> aegis.setAegisContext(context);
> >>>> factory.setDataBinding(aegis);
> >>>> factory.setAddress(serviceURL);
> >>>> factory.setServiceClass(LHSSAdminService.class);
> >>>> List<Interceptor> interceptors = new ArrayList<Interceptor>();
> >>>> interceptors.add(new ClientOutInterceptor());
> >>>> factory.setOutInterceptors(interceptors);
> >>>> client = (AdminService) factory.create();
> >>>>
> >>>> Does anybody know how fix this issue?
> >>>>
> >>>> Thanks
> >>>>
> >>>>
> >>>> --
> >>>> View this message in context:
> >>>> http://www.nabble.com/CXF-Aegis-Problem-tp21037536p21037536.html
> >>>> Sent from the cxf-user mailing list archive at Nabble.com.
> >>
> >> --
> >> View this message in context:
> >> http://www.nabble.com/CXF-Aegis-Problem-tp21037536p21054567.html
> >> Sent from the cxf-user mailing list archive at Nabble.com.



-- 
Daniel Kulp
dkulp@apache.org
http://dankulp.com/blog

Mime
View raw message