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 <[email protected]> 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 <[email protected]> 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 [email protected] http://dankulp.com/blog
