Thanks Andrew,, But i didnt bundle any of the CXF jars in my WAR file to start with,,,,
comments? On 10/17/07, Andrew Dinn <[EMAIL PROTECTED]> wrote: > > Oops, one more slip of the pasting finger! Here is the correct version > of those last three mappings > > META-INF/services/javax.xml.soap.MetaFactory > META-INF/services/javax.xml.soap.SOAPFactory > META-INF/services/javax.xml.ws.spi.Provider > > should each contain a single line, respectively, > > com.sun.xml.messaging.saaj.soap.SAAJMetaFactoryImpl > com.sun.xml.messaging.saaj.soap.SOAPFactoryImpl > org.apache.cxf.jaxws.spi.ProviderImpl > > regards, > > > Andrew Dinn > ----------- > > Andrew Dinn wrote: > > Hi shaminda, > > > > Actually, I believe I have misled you slightly. The required mapping is > > for MessageFactory, not SOAPMessage. The mapping is provided by jboss in > > file jboss-saaj.jar which provides a file called > > > > META-INF/services/javax.xml.soap.MessageFactory > > > > You need to remap this by installing a corresponding file in your .war > > file. It needs to contain the following single line of text > > > > com.sun.xml.messaging.saaj.soap.DynamicMessageFactoryImpl > > > > I also added the following resource map files to my .war file in order > > to get the bundled cxf libs to operate correctly > > > > META-INF/services/javax.xml.soap.MetaFactory > > META-INF/services/javax.xml.soap.SOAPFactory > > META-INF/services/javax.xml.ws.spi.Provider > > > > The appropriate mapping targets were, respectively, > > > > com.sun.xml.messaging.saaj.soap.SAAJMetaFactoryImpl > > com.sun.xml.messaging.saaj.soap.SAAJMetaFactoryImpl > > com.sun.xml.messaging.saaj.soap.SAAJMetaFactoryImpl > > > > regards, > > > > > > Andrew Dinn > > ----------- > > > > shaminda perera wrote: > >> Thanks Andrew and Jeff for the quick reply.. > >> > >> See below for some a more detailed stacktrace,,, if that helps.. > >> > >> .... > >> > >> 12:18:05,101 FATAL [application] > >> javax.ejb.EJBTransactionRolledbackException: > >> java.lang.UnsupportedOperationException: s > >> > >> etProperty must be overridden by all subclasses of SOAPMessage > >> > >> javax.faces.el.EvaluationException: > >> javax.ejb.EJBTransactionRolledbackException: > >> java.lang.UnsupportedOperationException > >> > >> : setProperty must be overridden by all subclasses of SOAPMessage > >> > >> at > >> javax.faces.component.MethodBindingMethodExpressionAdapter.invoke > >> (MethodBindingMethodExpressionAdapter.java:9 > >> > >> 1) > >> > >> at com.sun.faces.application.ActionListenerImpl.processAction( > >> ActionListenerImpl.java:91) > >> > >> at javax.faces.component.UICommand.broadcast(UICommand.java > :383) > >> > >> at org.ajax4jsf.component.AjaxViewRoot.processEvents( > >> AjaxViewRoot.java:186) > >> > >> at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents( > >> AjaxViewRoot.java:164) > >> > >> at org.ajax4jsf.component.AjaxViewRoot.processApplication( > >> AjaxViewRoot.java:352) > >> > >> at com.sun.faces.lifecycle.InvokeApplicationPhase.execute( > >> InvokeApplicationPhase.java:97) > >> > >> at com.sun.faces.lifecycle.LifecycleImpl.phase( > LifecycleImpl.java > >> :251) > >> > >> at > >> com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java > >> :117) > >> > >> at javax.faces.webapp.FacesServlet.service(FacesServlet.java > :244) > >> > >> at > >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( > >> ApplicationFilterChain.java:290) > >> > >> at org.apache.catalina.core.ApplicationFilterChain.doFilter( > >> ApplicationFilterChain.java:206) > >> > >> at com.company.filter.doFilter(CompanyFilter.java:26) > >> > >> at > >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( > >> ApplicationFilterChain.java:235) > >> > >> at org.apache.catalina.core.ApplicationFilterChain.doFilter( > >> ApplicationFilterChain.java:206) > >> > >> at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter( > >> SeamFilter.java:63) > >> > >> at > >> org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java > >> :57) > >> > >> at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter( > >> SeamFilter.java:49) > >> > >> at org.jboss.seam.debug.hot.HotDeployFilter.doFilter( > >> HotDeployFilter.java:60) > >> > >> at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter( > >> SeamFilter.java:49) > >> > >> at org.jboss.seam.web.RedirectFilter.doFilter( > RedirectFilter.java > >> :45) > >> > >> at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter( > >> SeamFilter.java:49) > >> > >> at > >> org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java > >> :79) > >> > >> at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter( > >> SeamFilter.java:49) > >> > >> at org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:84) > >> > >> at > >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( > >> ApplicationFilterChain.java:235) > >> > >> at org.apache.catalina.core.ApplicationFilterChain.doFilter( > >> ApplicationFilterChain.java:206) > >> > >> at > >> org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java > >> :141) > >> > >> at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281) > >> > >> at > >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( > >> ApplicationFilterChain.java:235) > >> > >> at org.apache.catalina.core.ApplicationFilterChain.doFilter( > >> ApplicationFilterChain.java:206) > >> > >> at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter( > >> ReplyHeaderFilter.java:96) > >> > >> at > >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( > >> ApplicationFilterChain.java:235) > >> > >> at org.apache.catalina.core.ApplicationFilterChain.doFilter( > >> ApplicationFilterChain.java:206) > >> > >> at org.apache.catalina.core.StandardWrapperValve.invoke( > >> StandardWrapperValve.java:230) > >> > >> at org.apache.catalina.core.StandardContextValve.invoke( > >> StandardContextValve.java:175) > >> > >> at > org.jboss.web.tomcat.security.SecurityAssociationValve.invoke( > >> SecurityAssociationValve.java:179) > >> > >> at org.apache.catalina.authenticator.AuthenticatorBase.invoke( > >> AuthenticatorBase.java:433) > >> > >> at org.jboss.web.tomcat.security.JaccContextValve.invoke( > >> JaccContextValve.java:84) > >> > >> at org.apache.catalina.core.StandardHostValve.invoke( > >> StandardHostValve.java:128) > >> > >> at org.apache.catalina.valves.ErrorReportValve.invoke( > >> ErrorReportValve.java:104) > >> > >> at > org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke( > >> CachedConnectionValve.java:157) > >> > >> at org.apache.catalina.core.StandardEngineValve.invoke( > >> StandardEngineValve.java:109) > >> > >> at org.apache.catalina.connector.CoyoteAdapter.service( > >> CoyoteAdapter.java:241) > >> > >> at org.apache.coyote.http11.Http11Processor.process( > >> Http11Processor.java:844) > >> > >> at > >> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process > ( > >> Http11Protocol.java:580) > >> > >> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run( > >> JIoEndpoint.java:447) > >> > >> at java.lang.Thread.run(Thread.java:619) > >> > >> Caused by: javax.ejb.EJBTransactionRolledbackException: > >> java.lang.UnsupportedOperationException: setProperty must be ove > >> > >> rridden by all subclasses of SOAPMessage > >> > >> at > >> org.jboss.ejb3.tx.Ejb3TxPolicy.handleInCallerTx(Ejb3TxPolicy.java > >> :87) > >> > >> at > >> org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:130) > >> > >> at org.jboss.aspects.tx.TxInterceptor$Required.invoke( > >> TxInterceptor.java:195) > >> > >> at org.jboss.aop.joinpoint.MethodInvocation.invokeNext( > >> MethodInvocation.java:101) > >> > >> at org.jboss.aspects.tx.TxPropagationInterceptor.invoke( > >> TxPropagationInterceptor.java:76) > >> > >> at org.jboss.aop.joinpoint.MethodInvocation.invokeNext( > >> MethodInvocation.java:101) > >> > >> at org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke( > >> StatefulInstanceInterceptor.java:83) > >> > >> at org.jboss.aop.joinpoint.MethodInvocation.invokeNext( > >> MethodInvocation.java:101) > >> > >> at org.jboss.aspects.security.AuthenticationInterceptor.invoke( > >> AuthenticationInterceptor.java:77) > >> > >> at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke > ( > >> Ejb3AuthenticationInterceptor.java:106) > >> > >> at org.jboss.aop.joinpoint.MethodInvocation.invokeNext( > >> MethodInvocation.java:101) > >> > >> at org.jboss.ejb3.ENCPropagationInterceptor.invoke( > >> ENCPropagationInterceptor.java:46) > >> > >> at org.jboss.aop.joinpoint.MethodInvocation.invokeNext( > >> MethodInvocation.java:101) > >> > >> at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke( > >> AsynchronousInterceptor.java:106) > >> > >> at org.jboss.aop.joinpoint.MethodInvocation.invokeNext( > >> MethodInvocation.java:101) > >> > >> at org.jboss.ejb3.stateful.StatefulContainer.localInvoke( > >> StatefulContainer.java:204) > >> > >> at org.jboss.ejb3.stateful.StatefulLocalProxy.invoke( > >> StatefulLocalProxy.java:100) > >> > >> at $Proxy232.getXXX(Unknown Source) > >> > >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >> > >> at sun.reflect.NativeMethodAccessorImpl.invoke( > >> NativeMethodAccessorImpl.java:39) > >> > >> at sun.reflect.DelegatingMethodAccessorImpl.invoke( > >> DelegatingMethodAccessorImpl.java:25) > >> > >> at java.lang.reflect.Method.invoke(Method.java:597) > >> > >> at org.jboss.seam.util.Reflections.invoke(Reflections.java:20) > >> > >> at org.jboss.seam.intercept.RootInvocationContext.proceed( > >> RootInvocationContext.java:31) > >> > >> at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed( > >> ClientSideInterceptor.java:72) > >> > >> at org.jboss.seam.intercept.SeamInvocationContext.proceed( > >> SeamInvocationContext.java:57) > >> > >> at org.jboss.seam.interceptors.RemoveInterceptor.aroundInvoke( > >> RemoveInterceptor.java:40) > >> > >> at org.jboss.seam.intercept.SeamInvocationContext.proceed( > >> SeamInvocationContext.java:69) > >> > >> at org.jboss.seam.intercept.RootInterceptor.invoke( > >> RootInterceptor.java:103) > >> > >> at org.jboss.seam.intercept.ClientSideInterceptor.invoke( > >> ClientSideInterceptor.java:50) > >> > >> at org.javassist.tmp.java.lang.Object_$$_javassist_25.getTracks > >> (Object_$$_javassist_25.java) > >> > >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >> > >> at sun.reflect.NativeMethodAccessorImpl.invoke( > >> NativeMethodAccessorImpl.java:39) > >> > >> at sun.reflect.DelegatingMethodAccessorImpl.invoke( > >> DelegatingMethodAccessorImpl.java:25) > >> > >> at java.lang.reflect.Method.invoke(Method.java:597) > >> > >> at org.apache.el.parser.AstValue.invoke(AstValue.java:131) > >> > >> at org.apache.el.MethodExpressionImpl.invoke( > >> MethodExpressionImpl.java:276) > >> > >> at com.sun.facelets.el.TagMethodExpression.invoke( > >> TagMethodExpression.java:68) > >> > >> at > >> javax.faces.component.MethodBindingMethodExpressionAdapter.invoke > >> (MethodBindingMethodExpressionAdapter.java:7 > >> > >> 7) > >> > >> ... 47 more > >> > >> Caused by: javax.xml.ws.WebServiceException: > >> java.lang.UnsupportedOperationException: setProperty must be > >> overridden by > >> > >> all subclasses of SOAPMessage > >> > >> at > >> org.jboss.ws.core.jaxws.client.ClientImpl.handleRemoteException( > >> ClientImpl.java:304) > >> > >> at > >> org.jboss.ws.core.jaxws.client.ClientImpl.invoke(ClientImpl.java > >> :242) > >> > >> at org.jboss.ws.core.jaxws.client.ClientProxy.invoke( > >> ClientProxy.java:164) > >> > >> at org.jboss.ws.core.jaxws.client.ClientProxy.invoke( > >> ClientProxy.java:150) > >> > >> at $Proxy335.findXXX(Unknown Source) > >> > >> at com.company.WebServiceAbstractPagedRepository.findByPage > >> (WebServiceAbstractPagedReposito > >> > >> ry.java:57) > >> > >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >> > >> at sun.reflect.NativeMethodAccessorImpl.invoke( > >> NativeMethodAccessorImpl.java:39) > >> > >> at sun.reflect.DelegatingMethodAccessorImpl.invoke( > >> DelegatingMethodAccessorImpl.java:25) > >> > >> at java.lang.reflect.Method.invoke(Method.java:597) > >> > >> at org.jboss.seam.util.Reflections.invoke(Reflections.java:20) > >> > >> at org.jboss.seam.intercept.RootInvocationContext.proceed( > >> RootInvocationContext.java:31) > >> > >> at org.jboss.seam.intercept.SeamInvocationContext.proceed( > >> SeamInvocationContext.java:57) > >> > >> at org.jboss.seam.interceptors.RollbackInterceptor.aroundInvoke > ( > >> RollbackInterceptor.java:34) > >> > >> at org.jboss.seam.intercept.SeamInvocationContext.proceed( > >> SeamInvocationContext.java:69) > >> > >> at > org.jboss.seam.interceptors.BijectionInterceptor.aroundInvoke( > >> BijectionInterceptor.java:47) > >> > >> at org.jboss.seam.intercept.SeamInvocationContext.proceed( > >> SeamInvocationContext.java:69) > >> > >> > >> > >> On 10/17/07, Andrew Dinn <[EMAIL PROTECTED]> wrote: > >>> Hi, > >>> > >>> This looks to me as if it is a library problem. If you have bundled up > >>> the CXF classes in a war file then this will probably be what is > >>> happening. > >>> > >>> Explanation as follows: > >>> > >>> The JBoss implementation of SOAPMessage is an abstract class which > >>> provides default implementations of get/setProperty. The > implementation > >>> is in a jar in $JBOSS_HOME/server/<servername>/deploy/jbossws.sar. The > >>> saaj jar which implements this abstract type also provides a > >>> META-INF/services file to define the SOAPMessage --> SOAPMessageImpl > >>> mapping. The file name is the fully qualified name of the SOAPMessage > >>> class and the contents of the file is a single line containing the > fully > >>> qualified name of the implementation class. The mapped version of > >>> SOAPMessageImpl in the saaj implementation jar provided by JBoss > relies > >>> upon inheriting these methods. > >>> > >>> Now, if your app bundles the cxf libs into a war file under WEBINF/lib > >>> then it will be picking up its implementation of SOAPMessage from a > CXF > >>> lib which does not provide the get/setProperty methods. However, the > >>> SOAFPFactory finder will still be trying to instantiate the JBoss > >>> SOAPMessageImpl.class because the resource lookup it employs to > identify > >>> which class to use will find the META-INF/services mapping file. You > >>> need to add META-INF/services files to your war which establish the > >>> correct mapping from the CXF saaj SOAPMessage class to the appropriate > >>> SOAPMessageImpl class in the CXF libs -- actually, I am not sure that > >>> the target for the map in CXF is called SOAPMessageImpl, perhaps Dan, > >>> Willem et al could advise. > >>> > >>> You may also find that jboswws.sar remaps several other classes which > >>> are looked up by a factory finder. You will probably need to add remap > >>> files in your war for these as well. > >>> > >>> regards, > >>> > >>> Andrew Dinn > >>> ----------- > >>> (JBoss Transactions developer) > >>> > >>> Jeff Yu wrote: > >>>> Hi, > >>>> > >>>> It seems error from your web app code, since it says: " > >>>> > >>>> java.lang.UnsupportedOperationException: s > >>>> etProperty must be overridden by all subclasses of SOAPMessage > >>>> > >>>> " > >>>> can you show more codes... > >>>> > >>>> Thanks > >>>> Jeff > >>>> > >>>> > >>>> > >>>> shaminda perera wrote: > >>>>> Hi all, > >>>>> > >>>>> This is the scenario. > >>>>> I created a WSDL and the generated the server side and client side > >>>>> code > >>>>> using the WSDL2Java tool. After that i published the Web service in > >>>>> Jetty,, > >>>>> as done by the generated server code. > >>>>> The web service is working fine when i tested it using a standalone > >>>>> client. > >>>>> > >>>>> I am having a web application which is deployed in JBoss. Now i > >>>>> need to > >>>>> access the Web service thru a client which sits in this web > >>> application. > >>>>> However, now i am now getting the following error: > >>>>> 11:05:26,030 FATAL [application] > >>>>> javax.ejb.EJBTransactionRolledbackException: > >>>>> java.lang.UnsupportedOperationException: s > >>>>> etProperty must be overridden by all subclasses of SOAPMessage > >>>>> javax.faces.el.EvaluationException: > >>>>> javax.ejb.EJBTransactionRolledbackException: > >>>>> java.lang.UnsupportedOperationException > >>>>> : setProperty must be overridden by all subclasses of SOAPMessage > >>>>> at > >>>>> javax.faces.component.MethodBindingMethodExpressionAdapter.invoke > >>>>> (MethodBindingMethodExpressionAdapter.java:9 > >>>>> 1) > >>>>> at > com.sun.faces.application.ActionListenerImpl.processAction( > >>>>> ActionListenerImpl.java:91) > >>>>> at javax.faces.component.UICommand.broadcast(UICommand.java > >>> :383) > >>>>> This comes up when i am calling the Webservice methods using the > >>>>> generated > >>>>> client side stub. > >>>>> > >>>>> This does not come when i run the Web service client in standalone. > >>>>> > >>>>> Appreciate if someone can help or give any feedback. > >>>>> > >>>>> Thanks in advance. > >>>>> > >>>>> > >>> -- > >>> JBoss, a Division of Red Hat > >>> Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod > >>> Street, Windsor, Berkshire, > >>> SI4 1TE, United Kingdom. > >>> Registered in UK and Wales under Company Registration No. 3798903 > >>> Directors: Michael Cunningham (USA), Charlie Peters (USA) and David > >>> Owens (Ireland) > >>> > >>> > >>> > >> > > > > -- > JBoss, a Division of Red Hat > Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod > Street, Windsor, Berkshire, > SI4 1TE, United Kingdom. > Registered in UK and Wales under Company Registration No. 3798903 > Directors: Michael Cunningham (USA), Charlie Peters (USA) and David > Owens (Ireland) > > >
