[jboss-user] [JBoss Web Services Users] - JBoss 5.1.0: jbossws-native-saaj.jar conflicting with saaj-i

jbosssupport do-not-reply at jboss.com
Tue Dec 1 12:41:25 EST 2009


Hello forum,

Situation:
Using a third party application (Appl1) which can be integrated into custom software. 

Appl1 uses saaj-impl.jar and saaj-api.jar (SUN original) in it's program logic. Both jars(saaj-impl.jar and saaj-api.jar) are located in server/serverDir/lib folder. Using Appl1 directly does not cause any problem!

Requirement:
Implement a WebService Application (WSAppl) using Jboss native WS-Security.

...
@EndpointConfig(configName = "Standard WSSecurity Endpoint")
@SecurityDomain("WSAppl")

WS-Sec Method is UsernameToken.
...

As you can see all WSMethods in WSAppl are secured with jbossws-native-saaj.jar, each of these method requests gets passed to Appl1.

Calling any WSMedod in WSAppl, the following Exception occurs:


  | 2009-12-01 18:03:53,794 ERROR [org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS] (http-127.0.0.1-8280-1) SOAP request exception
  | java.lang.UnsupportedOperationException: setProperty must be overridden by all subclasses of SOAPMessage
  | 	at javax.xml.soap.SOAPMessage.setProperty(Unknown Source)
  | 	at org.jboss.ws.core.soap.SOAPMessageImpl.<init>(SOAPMessageImpl.java:87)
  | 	at org.jboss.ws.core.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:215)
  | 	at org.jboss.ws.core.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:193)
  | 	at org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:455)
  | 	at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:295)
  | 	at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:205)
  | 	at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:131)
  | 	at org.jboss.wsf.common.servlet.AbstractEndpointServlet.service(AbstractEndpointServlet.java:85)
  | 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
  | 	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:235)
  | 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
  | 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
  | 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
  | 	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
  | 	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
  | 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
  | 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
  | 	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
  | 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  | 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
  | 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
  | 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
  | 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
  | 	at java.lang.Thread.run(Thread.java:595)


Assumption:
JBoss can not use 'jbossws-native-saaj.jar' for WS-Security in WSAppl and 'saaj-impl.jar' afterwards in Appl1 programm logic. 

'jbossws-native-saaj.jar' is located in JBossDir/client folder as standard (no changes to Jboss libs). 


Question:
As I can not change Appl1 Implementation to use jbossws-native-saaj.jar, is there any way to use both different implementations (JBoss native saaj for WS Security and SUN saaj in third party program logic) at the same time in the same Jboss instance?!

Thank you very much!

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4268354#4268354

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4268354



More information about the jboss-user mailing list