You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Christian Vest Hansen <ka...@gmail.com> on 2007/08/16 17:06:01 UTC
Unable to create message factory for SOAP
Hello people,
I'm writing an interceptor to do some custom WS-Secutity integration
to our single sign-on system, and my interceptor is based on the
WSS4JInInterceptor.
But alas, I'm having some trouble getting it to work.
In the constructor for my interceptor, I specify my phase and a
dependency on the SAAJInInterceptor like this:
setPhase(Phase.PRE_PROTOCOL);
getAfter().add(SAAJInInterceptor.class.getName());
And my jaxws:endpoint in my beans.xml (in an example web service)
looks like this:
<jaxws:endpoint
id="webStatServiceEndpoint"
implementor="#webStatService"
address="/WebStat"
wsdlLocation="classpath:WebStat1.0.wsdl">
<jaxws:inInterceptors>
<ref bean="casInterceptor"/>
<bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor"/>
</jaxws:inInterceptors>
</jaxws:endpoint>
That is all dandy, so I built my project (the demo web service) with
maven and deploy it on my jboss, but when I try to invoke the web
service, this happens:
16:30:39,692 ERROR [STDERR] Aug 16, 2007 4:30:39 PM
org.apache.cxf.phase.PhaseInterceptorChain doIntercept
INFO: Interceptor has thrown exception, unwinding now
org.apache.cxf.binding.soap.SoapFault: SOAPHANDLERINTERCEPTOR_EXCEPTION
at org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessage(SAAJInInterceptor.java:114)
at org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessage(SAAJInInterceptor.java:63)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:73)
at org.apache.cxf.transport.servlet.ServletDestination.doMessage(ServletDestination.java:78)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:231)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:139)
at org.apache.cxf.transport.servlet.CXFServlet.invoke(CXFServlet.java:271)
at org.apache.cxf.transport.servlet.CXFServlet.doPost(CXFServlet.java:249)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
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.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:156)
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:613)
Caused by: javax.xml.soap.SOAPException: Unable to create message
factory for SOAP: org.jboss.ws.core.soap.MessageFactoryImpl
at javax.xml.soap.MessageFactory.newInstance(Unknown Source)
at org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessage(SAAJInInterceptor.java:77)
... 28 more
So, any helpful thoughts?
--
Venlig hilsen / Kind regards,
Christian Vest Hansen.
Re: Unable to create message factory for SOAP
Posted by kdesin <ka...@gmail.com>.
Hi,
Were you able to find a solution for your problem.We are kind of stuck at
the same problem
Saludos
Kartheek
-----
Saludos
Kartheek
--
View this message in context: http://cxf.547215.n5.nabble.com/Unable-to-create-message-factory-for-SOAP-tp550508p5727146.html
Sent from the cxf-user mailing list archive at Nabble.com.
Re: Unable to create message factory for SOAP
Posted by Christian Vest Hansen <ka...@gmail.com>.
Alright, according to this:
http://forum.java.sun.com/thread.jspa?threadID=597048&messageID=3171352
It seems that the
com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl is a
working solution, and by using that MessageFactory I am indeed getting
.... a different error.
So that's where it's at for now.
2007/8/17, Christian Vest Hansen <ka...@gmail.com>:
> So I take it sun saaj should work.
>
> Then, can you explain the error I get bellow? I can see in my log that
> my web service operation was invoked successfuly, but somehow things
> go avry when the result of the operation is to be returned/transmitted
> back to the caller:
>
> 12:57:21,940 DEBUG [HandlerPipeline] Invoking handler
> org.codehaus.xfire.service.binding.PostInvocationHandler in phase
> service
> 12:57:21,941 DEBUG [HandlerPipeline] Invoking phase post-invoke
> 12:57:21,941 DEBUG [HandlerPipeline] Invoking handler
> org.codehaus.xfire.soap.handler.SoapSerializerHandler in phase
> post-invoke
> 12:57:21,941 DEBUG [HandlerPipeline] Invoking phase policy
> 12:57:21,941 DEBUG [HandlerPipeline] Invoking phase user
> 12:57:21,941 DEBUG [HandlerPipeline] Invoking phase transport
> 12:57:21,941 DEBUG [HandlerPipeline] Invoking handler
> org.codehaus.xfire.soap.handler.SoapActionOutHandler in phase
> transport
> 12:57:21,941 DEBUG [HandlerPipeline] Invoking phase send
> 12:57:21,941 DEBUG [HandlerPipeline] Invoking handler
> org.codehaus.xfire.handler.OutMessageSender in phase send
> 12:58:23,118 ERROR [STDERR] Aug 17, 2007 12:58:23 PM
> org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> java.lang.UnsupportedOperationException
> at com.sun.xml.messaging.saaj.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:70)
> at org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessage(SAAJInInterceptor.java:82)
> at org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessage(SAAJInInterceptor.java:63)
> at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
> at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:73)
> at org.apache.cxf.transport.servlet.ServletDestination.doMessage(ServletDestination.java:78)
> at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:231)
> at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:139)
> at org.apache.cxf.transport.servlet.CXFServlet.invoke(CXFServlet.java:271)
> at org.apache.cxf.transport.servlet.CXFServlet.doPost(CXFServlet.java:249)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> 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.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:156)
> 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:613)
>
>
>
>
> 2007/8/17, Liu, Jervis <jl...@iona.com>:
> > Sun's SAAJ impl should be ok. CXF has been using Sun's SAAJ as default since CXF's inception.
> >
> > > -----Original Message-----
> > > From: Christian Vest Hansen [mailto:karmazilla@gmail.com]
> > > Sent: 2007年8月17日 17:12
> > > To: cxf-user@incubator.apache.org
> > > Subject: Re: Unable to create message factory for SOAP
> > >
> > >
> > > I stuck that in a JSP file and added an import.
> > >
> > > When I run that it gives a root complaint much like the one
> > > in my previous mail:
> > >
> > > javax.xml.soap.SOAPException: Unable to create message factory for
> > > SOAP: org.jboss.ws.core.soap.MessageFactoryImpl
> > > javax.xml.soap.MessageFactory.newInstance(Unknown Source)
> > > org.apache.jsp.index_jsp._jspService(index_jsp.java:59)
> > >
> > > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> > > javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> > >
> > > org.apache.jasper.servlet.JspServletWrapper.service(JspServlet
> > > Wrapper.java:387)
> > >
> > > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet
> > > .java:320)
> > >
> > > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
> > > javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> > >
> > > org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyH
> > > eaderFilter.java:96)
> > >
> > >
> > >
> > > Another thing worth noting is that I've come upon the ability to
> > > change which implementation class should be used by
> > > MessageFactory.getInstance() using a systems property, for instance:
> > >
> > > System.setProperty("javax.xml.soap.MessageFactory",
> > > "com.sun.xml.messaging.saaj.soap.MessageFactoryImpl");
> > >
> > > Since I write the interceptor myself, I could do some hacky magic to
> > > make sure that the SAAJ interceptor got initialized with the correct
> > > MessageFactory, but in that case, which MessageFactory should I use?
> > > The SUN one above dosn't seem to quite cut it either.
> > >
> > >
> > > 2007/8/17, Liu, Jervis <jl...@iona.com>:
> > > > Not familiar with JBOSS, look likes JBOSS has its own SAAJ
> > > impl, and the exception was caused by initializing the
> > > MessageFactory. I suggest you try following code in your
> > > JBOSS env to see what happens:
> > > >
> > > > MessageFactory factory = MessageFactory.newInstance();
> > > >
> > > > Cheers,
> > > > Jervis
> > > >
> > > >
> > > > > -----Original Message-----
> > > > > From: Christian Vest Hansen [mailto:karmazilla@gmail.com]
> > > > > Sent: 2007年8月16日 23:06
> > > > > To: cxf-user@incubator.apache.org
> > > > > Cc: mdr@unwire.com
> > > > > Subject: Unable to create message factory for SOAP
> > > > >
> > > > >
> > > > > Hello people,
> > > > >
> > > > > I'm writing an interceptor to do some custom WS-Secutity
> > > integration
> > > > > to our single sign-on system, and my interceptor is based on the
> > > > > WSS4JInInterceptor.
> > > > >
> > > > > But alas, I'm having some trouble getting it to work.
> > > > >
> > > > > In the constructor for my interceptor, I specify my phase and a
> > > > > dependency on the SAAJInInterceptor like this:
> > > > >
> > > > > setPhase(Phase.PRE_PROTOCOL);
> > > > > getAfter().add(SAAJInInterceptor.class.getName());
> > > > >
> > > > > And my jaxws:endpoint in my beans.xml (in an example web service)
> > > > > looks like this:
> > > > >
> > > > > <jaxws:endpoint
> > > > > id="webStatServiceEndpoint"
> > > > > implementor="#webStatService"
> > > > > address="/WebStat"
> > > > > wsdlLocation="classpath:WebStat1.0.wsdl">
> > > > > <jaxws:inInterceptors>
> > > > > <ref bean="casInterceptor"/>
> > > > > <bean
> > > > > class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor"/>
> > > > > </jaxws:inInterceptors>
> > > > > </jaxws:endpoint>
> > > > >
> > > > > That is all dandy, so I built my project (the demo web
> > > service) with
> > > > > maven and deploy it on my jboss, but when I try to invoke the web
> > > > > service, this happens:
> > > > >
> > > > > 16:30:39,692 ERROR [STDERR] Aug 16, 2007 4:30:39 PM
> > > > > org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> > > > > INFO: Interceptor has thrown exception, unwinding now
> > > > > org.apache.cxf.binding.soap.SoapFault:
> > > > > SOAPHANDLERINTERCEPTOR_EXCEPTION
> > > > > at
> > > > > org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessa
> > > > > ge(SAAJInInterceptor.java:114)
> > > > > at
> > > > > org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessa
> > > > > ge(SAAJInInterceptor.java:63)
> > > > > at
> > > > > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIn
> > > > > terceptorChain.java:207)
> > > > > at
> > > > > org.apache.cxf.transport.ChainInitiationObserver.onMessage(Cha
> > > > > inInitiationObserver.java:73)
> > > > > at
> > > > > org.apache.cxf.transport.servlet.ServletDestination.doMessage(
> > > > > ServletDestination.java:78)
> > > > > at
> > > > > org.apache.cxf.transport.servlet.ServletController.invokeDesti
> > > > > nation(ServletController.java:231)
> > > > > at
> > > > > org.apache.cxf.transport.servlet.ServletController.invoke(Serv
> > > > > letController.java:139)
> > > > > at
> > > > > org.apache.cxf.transport.servlet.CXFServlet.invoke(CXFServlet.
> > > > > java:271)
> > > > > at
> > > > > org.apache.cxf.transport.servlet.CXFServlet.doPost(CXFServlet.
> > > > > java:249)
> > > > > at
> > > javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
> > > > > at
> > > javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> > > > > at
> > > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > > > > er(ApplicationFilterChain.java:290)
> > > > > at
> > > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > > > > cationFilterChain.java:206)
> > > > > at
> > > > > org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyH
> > > > > eaderFilter.java:96)
> > > > > at
> > > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > > > > er(ApplicationFilterChain.java:235)
> > > > > at
> > > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > > > > cationFilterChain.java:206)
> > > > > at
> > > > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> > > > > rapperValve.java:230)
> > > > > at
> > > > > org.apache.catalina.core.StandardContextValve.invoke(StandardC
> > > > > ontextValve.java:175)
> > > > > at
> > > > > org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(
> > > > > SecurityAssociationValve.java:179)
> > > > > at
> > > > > org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccCont
> > > > > extValve.java:84)
> > > > > at
> > > > > org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> > > > > Valve.java:128)
> > > > > at
> > > > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> > > > > Valve.java:104)
> > > > > at
> > > > > org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(
> > > > > CachedConnectionValve.java:156)
> > > > > at
> > > > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> > > > > gineValve.java:109)
> > > > > at
> > > > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> > > > > ter.java:241)
> > > > > at
> > > > > org.apache.coyote.http11.Http11Processor.process(Http11Process
> > > > > or.java:844)
> > > > > at
> > > > > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
> > > > > r.process(Http11Protocol.java:580)
> > > > > at
> > > > > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.
> > > > > java:447)
> > > > > at java.lang.Thread.run(Thread.java:613)
> > > > > Caused by: javax.xml.soap.SOAPException: Unable to create message
> > > > > factory for SOAP: org.jboss.ws.core.soap.MessageFactoryImpl
> > > > > at javax.xml.soap.MessageFactory.newInstance(Unknown Source)
> > > > > at
> > > > > org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessa
> > > > > ge(SAAJInInterceptor.java:77)
> > > > > ... 28 more
> > > > >
> > > > >
> > > > >
> > > > > So, any helpful thoughts?
> > > > >
> > > > > --
> > > > > Venlig hilsen / Kind regards,
> > > > > Christian Vest Hansen.
> > > > >
> > > >
> > > > ----------------------------
> > > > IONA Technologies PLC (registered in Ireland)
> > > > Registered Number: 171387
> > > > Registered Address: The IONA Building, Shelbourne Road,
> > > Dublin 4, Ireland
> > > >
> > >
> > >
> > > --
> > > Venlig hilsen / Kind regards,
> > > Christian Vest Hansen.
> > >
> >
> > ----------------------------
> > IONA Technologies PLC (registered in Ireland)
> > Registered Number: 171387
> > Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland
> >
>
>
> --
> Venlig hilsen / Kind regards,
> Christian Vest Hansen.
>
--
Venlig hilsen / Kind regards,
Christian Vest Hansen.
Re: Unable to create message factory for SOAP
Posted by Christian Vest Hansen <ka...@gmail.com>.
So I take it sun saaj should work.
Then, can you explain the error I get bellow? I can see in my log that
my web service operation was invoked successfuly, but somehow things
go avry when the result of the operation is to be returned/transmitted
back to the caller:
12:57:21,940 DEBUG [HandlerPipeline] Invoking handler
org.codehaus.xfire.service.binding.PostInvocationHandler in phase
service
12:57:21,941 DEBUG [HandlerPipeline] Invoking phase post-invoke
12:57:21,941 DEBUG [HandlerPipeline] Invoking handler
org.codehaus.xfire.soap.handler.SoapSerializerHandler in phase
post-invoke
12:57:21,941 DEBUG [HandlerPipeline] Invoking phase policy
12:57:21,941 DEBUG [HandlerPipeline] Invoking phase user
12:57:21,941 DEBUG [HandlerPipeline] Invoking phase transport
12:57:21,941 DEBUG [HandlerPipeline] Invoking handler
org.codehaus.xfire.soap.handler.SoapActionOutHandler in phase
transport
12:57:21,941 DEBUG [HandlerPipeline] Invoking phase send
12:57:21,941 DEBUG [HandlerPipeline] Invoking handler
org.codehaus.xfire.handler.OutMessageSender in phase send
12:58:23,118 ERROR [STDERR] Aug 17, 2007 12:58:23 PM
org.apache.cxf.phase.PhaseInterceptorChain doIntercept
INFO: Interceptor has thrown exception, unwinding now
java.lang.UnsupportedOperationException
at com.sun.xml.messaging.saaj.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:70)
at org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessage(SAAJInInterceptor.java:82)
at org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessage(SAAJInInterceptor.java:63)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:73)
at org.apache.cxf.transport.servlet.ServletDestination.doMessage(ServletDestination.java:78)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:231)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:139)
at org.apache.cxf.transport.servlet.CXFServlet.invoke(CXFServlet.java:271)
at org.apache.cxf.transport.servlet.CXFServlet.doPost(CXFServlet.java:249)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
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.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:156)
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:613)
2007/8/17, Liu, Jervis <jl...@iona.com>:
> Sun's SAAJ impl should be ok. CXF has been using Sun's SAAJ as default since CXF's inception.
>
> > -----Original Message-----
> > From: Christian Vest Hansen [mailto:karmazilla@gmail.com]
> > Sent: 2007年8月17日 17:12
> > To: cxf-user@incubator.apache.org
> > Subject: Re: Unable to create message factory for SOAP
> >
> >
> > I stuck that in a JSP file and added an import.
> >
> > When I run that it gives a root complaint much like the one
> > in my previous mail:
> >
> > javax.xml.soap.SOAPException: Unable to create message factory for
> > SOAP: org.jboss.ws.core.soap.MessageFactoryImpl
> > javax.xml.soap.MessageFactory.newInstance(Unknown Source)
> > org.apache.jsp.index_jsp._jspService(index_jsp.java:59)
> >
> > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> >
> > org.apache.jasper.servlet.JspServletWrapper.service(JspServlet
> > Wrapper.java:387)
> >
> > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet
> > .java:320)
> >
> > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> >
> > org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyH
> > eaderFilter.java:96)
> >
> >
> >
> > Another thing worth noting is that I've come upon the ability to
> > change which implementation class should be used by
> > MessageFactory.getInstance() using a systems property, for instance:
> >
> > System.setProperty("javax.xml.soap.MessageFactory",
> > "com.sun.xml.messaging.saaj.soap.MessageFactoryImpl");
> >
> > Since I write the interceptor myself, I could do some hacky magic to
> > make sure that the SAAJ interceptor got initialized with the correct
> > MessageFactory, but in that case, which MessageFactory should I use?
> > The SUN one above dosn't seem to quite cut it either.
> >
> >
> > 2007/8/17, Liu, Jervis <jl...@iona.com>:
> > > Not familiar with JBOSS, look likes JBOSS has its own SAAJ
> > impl, and the exception was caused by initializing the
> > MessageFactory. I suggest you try following code in your
> > JBOSS env to see what happens:
> > >
> > > MessageFactory factory = MessageFactory.newInstance();
> > >
> > > Cheers,
> > > Jervis
> > >
> > >
> > > > -----Original Message-----
> > > > From: Christian Vest Hansen [mailto:karmazilla@gmail.com]
> > > > Sent: 2007年8月16日 23:06
> > > > To: cxf-user@incubator.apache.org
> > > > Cc: mdr@unwire.com
> > > > Subject: Unable to create message factory for SOAP
> > > >
> > > >
> > > > Hello people,
> > > >
> > > > I'm writing an interceptor to do some custom WS-Secutity
> > integration
> > > > to our single sign-on system, and my interceptor is based on the
> > > > WSS4JInInterceptor.
> > > >
> > > > But alas, I'm having some trouble getting it to work.
> > > >
> > > > In the constructor for my interceptor, I specify my phase and a
> > > > dependency on the SAAJInInterceptor like this:
> > > >
> > > > setPhase(Phase.PRE_PROTOCOL);
> > > > getAfter().add(SAAJInInterceptor.class.getName());
> > > >
> > > > And my jaxws:endpoint in my beans.xml (in an example web service)
> > > > looks like this:
> > > >
> > > > <jaxws:endpoint
> > > > id="webStatServiceEndpoint"
> > > > implementor="#webStatService"
> > > > address="/WebStat"
> > > > wsdlLocation="classpath:WebStat1.0.wsdl">
> > > > <jaxws:inInterceptors>
> > > > <ref bean="casInterceptor"/>
> > > > <bean
> > > > class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor"/>
> > > > </jaxws:inInterceptors>
> > > > </jaxws:endpoint>
> > > >
> > > > That is all dandy, so I built my project (the demo web
> > service) with
> > > > maven and deploy it on my jboss, but when I try to invoke the web
> > > > service, this happens:
> > > >
> > > > 16:30:39,692 ERROR [STDERR] Aug 16, 2007 4:30:39 PM
> > > > org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> > > > INFO: Interceptor has thrown exception, unwinding now
> > > > org.apache.cxf.binding.soap.SoapFault:
> > > > SOAPHANDLERINTERCEPTOR_EXCEPTION
> > > > at
> > > > org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessa
> > > > ge(SAAJInInterceptor.java:114)
> > > > at
> > > > org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessa
> > > > ge(SAAJInInterceptor.java:63)
> > > > at
> > > > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIn
> > > > terceptorChain.java:207)
> > > > at
> > > > org.apache.cxf.transport.ChainInitiationObserver.onMessage(Cha
> > > > inInitiationObserver.java:73)
> > > > at
> > > > org.apache.cxf.transport.servlet.ServletDestination.doMessage(
> > > > ServletDestination.java:78)
> > > > at
> > > > org.apache.cxf.transport.servlet.ServletController.invokeDesti
> > > > nation(ServletController.java:231)
> > > > at
> > > > org.apache.cxf.transport.servlet.ServletController.invoke(Serv
> > > > letController.java:139)
> > > > at
> > > > org.apache.cxf.transport.servlet.CXFServlet.invoke(CXFServlet.
> > > > java:271)
> > > > at
> > > > org.apache.cxf.transport.servlet.CXFServlet.doPost(CXFServlet.
> > > > java:249)
> > > > at
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
> > > > at
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> > > > at
> > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > > > er(ApplicationFilterChain.java:290)
> > > > at
> > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > > > cationFilterChain.java:206)
> > > > at
> > > > org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyH
> > > > eaderFilter.java:96)
> > > > at
> > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > > > er(ApplicationFilterChain.java:235)
> > > > at
> > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > > > cationFilterChain.java:206)
> > > > at
> > > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> > > > rapperValve.java:230)
> > > > at
> > > > org.apache.catalina.core.StandardContextValve.invoke(StandardC
> > > > ontextValve.java:175)
> > > > at
> > > > org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(
> > > > SecurityAssociationValve.java:179)
> > > > at
> > > > org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccCont
> > > > extValve.java:84)
> > > > at
> > > > org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> > > > Valve.java:128)
> > > > at
> > > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> > > > Valve.java:104)
> > > > at
> > > > org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(
> > > > CachedConnectionValve.java:156)
> > > > at
> > > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> > > > gineValve.java:109)
> > > > at
> > > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> > > > ter.java:241)
> > > > at
> > > > org.apache.coyote.http11.Http11Processor.process(Http11Process
> > > > or.java:844)
> > > > at
> > > > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
> > > > r.process(Http11Protocol.java:580)
> > > > at
> > > > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.
> > > > java:447)
> > > > at java.lang.Thread.run(Thread.java:613)
> > > > Caused by: javax.xml.soap.SOAPException: Unable to create message
> > > > factory for SOAP: org.jboss.ws.core.soap.MessageFactoryImpl
> > > > at javax.xml.soap.MessageFactory.newInstance(Unknown Source)
> > > > at
> > > > org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessa
> > > > ge(SAAJInInterceptor.java:77)
> > > > ... 28 more
> > > >
> > > >
> > > >
> > > > So, any helpful thoughts?
> > > >
> > > > --
> > > > Venlig hilsen / Kind regards,
> > > > Christian Vest Hansen.
> > > >
> > >
> > > ----------------------------
> > > IONA Technologies PLC (registered in Ireland)
> > > Registered Number: 171387
> > > Registered Address: The IONA Building, Shelbourne Road,
> > Dublin 4, Ireland
> > >
> >
> >
> > --
> > Venlig hilsen / Kind regards,
> > Christian Vest Hansen.
> >
>
> ----------------------------
> IONA Technologies PLC (registered in Ireland)
> Registered Number: 171387
> Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland
>
--
Venlig hilsen / Kind regards,
Christian Vest Hansen.
RE: Unable to create message factory for SOAP
Posted by "Liu, Jervis" <jl...@iona.com>.
Sun's SAAJ impl should be ok. CXF has been using Sun's SAAJ as default since CXF's inception.
> -----Original Message-----
> From: Christian Vest Hansen [mailto:karmazilla@gmail.com]
> Sent: 2007年8月17日 17:12
> To: cxf-user@incubator.apache.org
> Subject: Re: Unable to create message factory for SOAP
>
>
> I stuck that in a JSP file and added an import.
>
> When I run that it gives a root complaint much like the one
> in my previous mail:
>
> javax.xml.soap.SOAPException: Unable to create message factory for
> SOAP: org.jboss.ws.core.soap.MessageFactoryImpl
> javax.xml.soap.MessageFactory.newInstance(Unknown Source)
> org.apache.jsp.index_jsp._jspService(index_jsp.java:59)
>
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>
> org.apache.jasper.servlet.JspServletWrapper.service(JspServlet
> Wrapper.java:387)
>
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet
> .java:320)
>
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>
> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyH
> eaderFilter.java:96)
>
>
>
> Another thing worth noting is that I've come upon the ability to
> change which implementation class should be used by
> MessageFactory.getInstance() using a systems property, for instance:
>
> System.setProperty("javax.xml.soap.MessageFactory",
> "com.sun.xml.messaging.saaj.soap.MessageFactoryImpl");
>
> Since I write the interceptor myself, I could do some hacky magic to
> make sure that the SAAJ interceptor got initialized with the correct
> MessageFactory, but in that case, which MessageFactory should I use?
> The SUN one above dosn't seem to quite cut it either.
>
>
> 2007/8/17, Liu, Jervis <jl...@iona.com>:
> > Not familiar with JBOSS, look likes JBOSS has its own SAAJ
> impl, and the exception was caused by initializing the
> MessageFactory. I suggest you try following code in your
> JBOSS env to see what happens:
> >
> > MessageFactory factory = MessageFactory.newInstance();
> >
> > Cheers,
> > Jervis
> >
> >
> > > -----Original Message-----
> > > From: Christian Vest Hansen [mailto:karmazilla@gmail.com]
> > > Sent: 2007年8月16日 23:06
> > > To: cxf-user@incubator.apache.org
> > > Cc: mdr@unwire.com
> > > Subject: Unable to create message factory for SOAP
> > >
> > >
> > > Hello people,
> > >
> > > I'm writing an interceptor to do some custom WS-Secutity
> integration
> > > to our single sign-on system, and my interceptor is based on the
> > > WSS4JInInterceptor.
> > >
> > > But alas, I'm having some trouble getting it to work.
> > >
> > > In the constructor for my interceptor, I specify my phase and a
> > > dependency on the SAAJInInterceptor like this:
> > >
> > > setPhase(Phase.PRE_PROTOCOL);
> > > getAfter().add(SAAJInInterceptor.class.getName());
> > >
> > > And my jaxws:endpoint in my beans.xml (in an example web service)
> > > looks like this:
> > >
> > > <jaxws:endpoint
> > > id="webStatServiceEndpoint"
> > > implementor="#webStatService"
> > > address="/WebStat"
> > > wsdlLocation="classpath:WebStat1.0.wsdl">
> > > <jaxws:inInterceptors>
> > > <ref bean="casInterceptor"/>
> > > <bean
> > > class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor"/>
> > > </jaxws:inInterceptors>
> > > </jaxws:endpoint>
> > >
> > > That is all dandy, so I built my project (the demo web
> service) with
> > > maven and deploy it on my jboss, but when I try to invoke the web
> > > service, this happens:
> > >
> > > 16:30:39,692 ERROR [STDERR] Aug 16, 2007 4:30:39 PM
> > > org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> > > INFO: Interceptor has thrown exception, unwinding now
> > > org.apache.cxf.binding.soap.SoapFault:
> > > SOAPHANDLERINTERCEPTOR_EXCEPTION
> > > at
> > > org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessa
> > > ge(SAAJInInterceptor.java:114)
> > > at
> > > org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessa
> > > ge(SAAJInInterceptor.java:63)
> > > at
> > > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIn
> > > terceptorChain.java:207)
> > > at
> > > org.apache.cxf.transport.ChainInitiationObserver.onMessage(Cha
> > > inInitiationObserver.java:73)
> > > at
> > > org.apache.cxf.transport.servlet.ServletDestination.doMessage(
> > > ServletDestination.java:78)
> > > at
> > > org.apache.cxf.transport.servlet.ServletController.invokeDesti
> > > nation(ServletController.java:231)
> > > at
> > > org.apache.cxf.transport.servlet.ServletController.invoke(Serv
> > > letController.java:139)
> > > at
> > > org.apache.cxf.transport.servlet.CXFServlet.invoke(CXFServlet.
> > > java:271)
> > > at
> > > org.apache.cxf.transport.servlet.CXFServlet.doPost(CXFServlet.
> > > java:249)
> > > at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
> > > at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> > > at
> > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > > er(ApplicationFilterChain.java:290)
> > > at
> > > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > > cationFilterChain.java:206)
> > > at
> > > org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyH
> > > eaderFilter.java:96)
> > > at
> > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > > er(ApplicationFilterChain.java:235)
> > > at
> > > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > > cationFilterChain.java:206)
> > > at
> > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> > > rapperValve.java:230)
> > > at
> > > org.apache.catalina.core.StandardContextValve.invoke(StandardC
> > > ontextValve.java:175)
> > > at
> > > org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(
> > > SecurityAssociationValve.java:179)
> > > at
> > > org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccCont
> > > extValve.java:84)
> > > at
> > > org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> > > Valve.java:128)
> > > at
> > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> > > Valve.java:104)
> > > at
> > > org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(
> > > CachedConnectionValve.java:156)
> > > at
> > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> > > gineValve.java:109)
> > > at
> > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> > > ter.java:241)
> > > at
> > > org.apache.coyote.http11.Http11Processor.process(Http11Process
> > > or.java:844)
> > > at
> > > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
> > > r.process(Http11Protocol.java:580)
> > > at
> > > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.
> > > java:447)
> > > at java.lang.Thread.run(Thread.java:613)
> > > Caused by: javax.xml.soap.SOAPException: Unable to create message
> > > factory for SOAP: org.jboss.ws.core.soap.MessageFactoryImpl
> > > at javax.xml.soap.MessageFactory.newInstance(Unknown Source)
> > > at
> > > org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessa
> > > ge(SAAJInInterceptor.java:77)
> > > ... 28 more
> > >
> > >
> > >
> > > So, any helpful thoughts?
> > >
> > > --
> > > Venlig hilsen / Kind regards,
> > > Christian Vest Hansen.
> > >
> >
> > ----------------------------
> > IONA Technologies PLC (registered in Ireland)
> > Registered Number: 171387
> > Registered Address: The IONA Building, Shelbourne Road,
> Dublin 4, Ireland
> >
>
>
> --
> Venlig hilsen / Kind regards,
> Christian Vest Hansen.
>
----------------------------
IONA Technologies PLC (registered in Ireland)
Registered Number: 171387
Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland
Re: Unable to create message factory for SOAP
Posted by Christian Vest Hansen <ka...@gmail.com>.
I stuck that in a JSP file and added an import.
When I run that it gives a root complaint much like the one in my previous mail:
javax.xml.soap.SOAPException: Unable to create message factory for
SOAP: org.jboss.ws.core.soap.MessageFactoryImpl
javax.xml.soap.MessageFactory.newInstance(Unknown Source)
org.apache.jsp.index_jsp._jspService(index_jsp.java:59)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:387)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
Another thing worth noting is that I've come upon the ability to
change which implementation class should be used by
MessageFactory.getInstance() using a systems property, for instance:
System.setProperty("javax.xml.soap.MessageFactory",
"com.sun.xml.messaging.saaj.soap.MessageFactoryImpl");
Since I write the interceptor myself, I could do some hacky magic to
make sure that the SAAJ interceptor got initialized with the correct
MessageFactory, but in that case, which MessageFactory should I use?
The SUN one above dosn't seem to quite cut it either.
2007/8/17, Liu, Jervis <jl...@iona.com>:
> Not familiar with JBOSS, look likes JBOSS has its own SAAJ impl, and the exception was caused by initializing the MessageFactory. I suggest you try following code in your JBOSS env to see what happens:
>
> MessageFactory factory = MessageFactory.newInstance();
>
> Cheers,
> Jervis
>
>
> > -----Original Message-----
> > From: Christian Vest Hansen [mailto:karmazilla@gmail.com]
> > Sent: 2007年8月16日 23:06
> > To: cxf-user@incubator.apache.org
> > Cc: mdr@unwire.com
> > Subject: Unable to create message factory for SOAP
> >
> >
> > Hello people,
> >
> > I'm writing an interceptor to do some custom WS-Secutity integration
> > to our single sign-on system, and my interceptor is based on the
> > WSS4JInInterceptor.
> >
> > But alas, I'm having some trouble getting it to work.
> >
> > In the constructor for my interceptor, I specify my phase and a
> > dependency on the SAAJInInterceptor like this:
> >
> > setPhase(Phase.PRE_PROTOCOL);
> > getAfter().add(SAAJInInterceptor.class.getName());
> >
> > And my jaxws:endpoint in my beans.xml (in an example web service)
> > looks like this:
> >
> > <jaxws:endpoint
> > id="webStatServiceEndpoint"
> > implementor="#webStatService"
> > address="/WebStat"
> > wsdlLocation="classpath:WebStat1.0.wsdl">
> > <jaxws:inInterceptors>
> > <ref bean="casInterceptor"/>
> > <bean
> > class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor"/>
> > </jaxws:inInterceptors>
> > </jaxws:endpoint>
> >
> > That is all dandy, so I built my project (the demo web service) with
> > maven and deploy it on my jboss, but when I try to invoke the web
> > service, this happens:
> >
> > 16:30:39,692 ERROR [STDERR] Aug 16, 2007 4:30:39 PM
> > org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> > INFO: Interceptor has thrown exception, unwinding now
> > org.apache.cxf.binding.soap.SoapFault:
> > SOAPHANDLERINTERCEPTOR_EXCEPTION
> > at
> > org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessa
> > ge(SAAJInInterceptor.java:114)
> > at
> > org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessa
> > ge(SAAJInInterceptor.java:63)
> > at
> > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIn
> > terceptorChain.java:207)
> > at
> > org.apache.cxf.transport.ChainInitiationObserver.onMessage(Cha
> > inInitiationObserver.java:73)
> > at
> > org.apache.cxf.transport.servlet.ServletDestination.doMessage(
> > ServletDestination.java:78)
> > at
> > org.apache.cxf.transport.servlet.ServletController.invokeDesti
> > nation(ServletController.java:231)
> > at
> > org.apache.cxf.transport.servlet.ServletController.invoke(Serv
> > letController.java:139)
> > at
> > org.apache.cxf.transport.servlet.CXFServlet.invoke(CXFServlet.
> > java:271)
> > at
> > org.apache.cxf.transport.servlet.CXFServlet.doPost(CXFServlet.
> > java:249)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> > at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > er(ApplicationFilterChain.java:290)
> > at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > cationFilterChain.java:206)
> > at
> > org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyH
> > eaderFilter.java:96)
> > at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > er(ApplicationFilterChain.java:235)
> > at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > cationFilterChain.java:206)
> > at
> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> > rapperValve.java:230)
> > at
> > org.apache.catalina.core.StandardContextValve.invoke(StandardC
> > ontextValve.java:175)
> > at
> > org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(
> > SecurityAssociationValve.java:179)
> > at
> > org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccCont
> > extValve.java:84)
> > at
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> > Valve.java:128)
> > at
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> > Valve.java:104)
> > at
> > org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(
> > CachedConnectionValve.java:156)
> > at
> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> > gineValve.java:109)
> > at
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> > ter.java:241)
> > at
> > org.apache.coyote.http11.Http11Processor.process(Http11Process
> > or.java:844)
> > at
> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
> > r.process(Http11Protocol.java:580)
> > at
> > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.
> > java:447)
> > at java.lang.Thread.run(Thread.java:613)
> > Caused by: javax.xml.soap.SOAPException: Unable to create message
> > factory for SOAP: org.jboss.ws.core.soap.MessageFactoryImpl
> > at javax.xml.soap.MessageFactory.newInstance(Unknown Source)
> > at
> > org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessa
> > ge(SAAJInInterceptor.java:77)
> > ... 28 more
> >
> >
> >
> > So, any helpful thoughts?
> >
> > --
> > Venlig hilsen / Kind regards,
> > Christian Vest Hansen.
> >
>
> ----------------------------
> IONA Technologies PLC (registered in Ireland)
> Registered Number: 171387
> Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland
>
--
Venlig hilsen / Kind regards,
Christian Vest Hansen.
RE: Unable to create message factory for SOAP
Posted by "Liu, Jervis" <jl...@iona.com>.
Not familiar with JBOSS, look likes JBOSS has its own SAAJ impl, and the exception was caused by initializing the MessageFactory. I suggest you try following code in your JBOSS env to see what happens:
MessageFactory factory = MessageFactory.newInstance();
Cheers,
Jervis
> -----Original Message-----
> From: Christian Vest Hansen [mailto:karmazilla@gmail.com]
> Sent: 2007年8月16日 23:06
> To: cxf-user@incubator.apache.org
> Cc: mdr@unwire.com
> Subject: Unable to create message factory for SOAP
>
>
> Hello people,
>
> I'm writing an interceptor to do some custom WS-Secutity integration
> to our single sign-on system, and my interceptor is based on the
> WSS4JInInterceptor.
>
> But alas, I'm having some trouble getting it to work.
>
> In the constructor for my interceptor, I specify my phase and a
> dependency on the SAAJInInterceptor like this:
>
> setPhase(Phase.PRE_PROTOCOL);
> getAfter().add(SAAJInInterceptor.class.getName());
>
> And my jaxws:endpoint in my beans.xml (in an example web service)
> looks like this:
>
> <jaxws:endpoint
> id="webStatServiceEndpoint"
> implementor="#webStatService"
> address="/WebStat"
> wsdlLocation="classpath:WebStat1.0.wsdl">
> <jaxws:inInterceptors>
> <ref bean="casInterceptor"/>
> <bean
> class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor"/>
> </jaxws:inInterceptors>
> </jaxws:endpoint>
>
> That is all dandy, so I built my project (the demo web service) with
> maven and deploy it on my jboss, but when I try to invoke the web
> service, this happens:
>
> 16:30:39,692 ERROR [STDERR] Aug 16, 2007 4:30:39 PM
> org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> org.apache.cxf.binding.soap.SoapFault:
> SOAPHANDLERINTERCEPTOR_EXCEPTION
> at
> org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessa
> ge(SAAJInInterceptor.java:114)
> at
> org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessa
> ge(SAAJInInterceptor.java:63)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIn
> terceptorChain.java:207)
> at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(Cha
> inInitiationObserver.java:73)
> at
> org.apache.cxf.transport.servlet.ServletDestination.doMessage(
> ServletDestination.java:78)
> at
> org.apache.cxf.transport.servlet.ServletController.invokeDesti
> nation(ServletController.java:231)
> at
> org.apache.cxf.transport.servlet.ServletController.invoke(Serv
> letController.java:139)
> at
> org.apache.cxf.transport.servlet.CXFServlet.invoke(CXFServlet.
> java:271)
> at
> org.apache.cxf.transport.servlet.CXFServlet.doPost(CXFServlet.
> java:249)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(ApplicationFilterChain.java:290)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilterChain.java:206)
> at
> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyH
> eaderFilter.java:96)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilterChain.java:206)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> rapperValve.java:230)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardC
> ontextValve.java:175)
> at
> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(
> SecurityAssociationValve.java:179)
> at
> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccCont
> extValve.java:84)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> Valve.java:128)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> Valve.java:104)
> at
> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(
> CachedConnectionValve.java:156)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> gineValve.java:109)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> ter.java:241)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Process
> or.java:844)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
> r.process(Http11Protocol.java:580)
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.
> java:447)
> at java.lang.Thread.run(Thread.java:613)
> Caused by: javax.xml.soap.SOAPException: Unable to create message
> factory for SOAP: org.jboss.ws.core.soap.MessageFactoryImpl
> at javax.xml.soap.MessageFactory.newInstance(Unknown Source)
> at
> org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessa
> ge(SAAJInInterceptor.java:77)
> ... 28 more
>
>
>
> So, any helpful thoughts?
>
> --
> Venlig hilsen / Kind regards,
> Christian Vest Hansen.
>
----------------------------
IONA Technologies PLC (registered in Ireland)
Registered Number: 171387
Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland