[Security & JAAS/JBoss] - JBoss Single Sign On and kerberos
by gopinats
We are currently running JBoss 4.0.0 in production. Right now we are using the JAAS api and a custom database to manage authentication. At time(JBoss 3.0) this applicaiton was concieved there was no easy way to create a single sign on among multiple war files in a ear file. So we packaged all the web application into one war in a ear file. This allowed us to have all the web components in a single sign on. It also helped us pass through the credentials to our EJBs.
We are currently in the process of upgrading to JBoss 4.3. At this time we are investigating the options around using kerberos. Our JBoss application server is running on AIX (in production).
Based on the following use case, can anyone help us identify if J SSO could be a good fit.
1. We use IE as a browser of choice in the intranet
2. We like IE to negotiate the authentication using kerberos to JBoss.
3. We have Microsoft ADS to help with the kerberos authentication.
4. We still like a way to authenticate the EJB's called by web application components automatically.
Thanks
Sekar
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4140733#4140733
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4140733
18 years
[JBoss Portal] - Web Service Client not working w/RichFaces
by adesai@atech.com
Hello there,
My WSDL Web service client is not working with RichFaces. The same code is working with MyFaces app.
I'm getting the following error:
| 14:03:47,734 FATAL [application] /jsp/result.xhtml @17,68 action="#{echo.callWSDL}": javax.xml.ws.WebServiceException: Unable to load Provid
| er: org.jboss.ws.core.jaxws.spi.ProviderImpl
| javax.faces.el.EvaluationException: /jsp/result.xhtml @17,68 action="#{echo.callWSDL}": javax.xml.ws.WebServiceException: Unable to load Pro
| vider: org.jboss.ws.core.jaxws.spi.ProviderImpl
| at com.sun.facelets.el.LegacyMethodBinding.invoke(LegacyMethodBinding.java:73)
| at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
| at javax.faces.component.UICommand.broadcast(UICommand.java:383)
| at org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:62)
| at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:184)
| at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:162)
| at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:350)
| 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 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.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
| 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:157)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
| at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
| at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
| at java.lang.Thread.run(Thread.java:595)
| Caused by: javax.xml.ws.WebServiceException: Unable to load Provider: org.jboss.ws.core.jaxws.spi.ProviderImpl
| at javax.xml.ws.spi.Provider.provider(Provider.java:98)
| at javax.xml.ws.Service.<init>(Service.java:83)
I've following JARs in my lib:
commons-beanutils-1.7.0
commons-collections-3.2
commons-digester-1.8
commons-logging-1.0.4
explode
jsf-facelets-1.1.14
jstl-1.0
portletbridge-api-1.0.0-20080212.175852-5
portletbridge-impl-1.0.0-20080212.175852-5
richfaces-api-3.1.4.SR1
richfaces-impl-3.1.4.SR1
richfaces-ui-3.1.4.SR1
jaxb-api
jaxb-impl
jaxb-xjc
jboss-jaxrpc
jboss-jaxws
I read somewhere in the forum that I need to have following JARs as well to run the Web Service. Is that correct? Why didn't I require them with MyFaces though? Where can I find these JARs to download?
jboss-common-client.jar
jboss-common-core.jar
Thanks for your help.
-Amol
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4140731#4140731
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4140731
18 years
[JBossWS] - WS-Security and Dispatch
by esacchi
Dear Sirs:
We was working with JAXWS "Dispatch" to dynamically invoke a WS endpoint with WS-Security, and we had some problems that we
couldn't solve yet. We will appreciate your help.
When the program invokes the endpoint using the static class build with wsconsume it work properly including the security stuff but when
we use (in the same installation and with the same ws) through Dispatch dynamically the signature is not validated.
The current JBOSS config is Jboss 4.2.2. with jbossws-native-2.0.3.GA
Bellow you can see the WS and client source code and the trace errors for the server and client.
Thanks in advance and best regards
The Web Service Code
| package pkg;
|
| import java.security.Principal;
|
| import javax.annotation.Resource;
| import javax.jws.HandlerChain;
| import javax.jws.WebMethod;
| import javax.jws.WebService;
| import javax.jws.soap.SOAPBinding;
| import javax.jws.soap.SOAPBinding.Style;
| import javax.xml.ws.WebServiceContext;
| import javax.xml.ws.handler.MessageContext;
|
| import org.jboss.ws.annotation.EndpointConfig;
|
| @WebService(name = "TestEndpoint", serviceName = "TestEndpointService",
| targetNamespace = "http://org.jboss.ws/jaxws/context")
| @SOAPBinding(style = Style.DOCUMENT)
| @EndpointConfig(configName = "Standard WSSecurity Endpoint")
| public class EndpointJSE {
|
| @Resource
| WebServiceContext wsCtx;
|
| @WebMethod
| public String hello(Person p) {
| return "Hello " + p.getFirstName() + " " + p.getLastName();
| }
| }
|
| public class Person implements Serializable {
|
| private String firstName;
| private String lastName;
|
| public String getFirstName() {
| return firstName;
| }
|
| public void setFirstName(String firstName) {
| this.firstName = firstName;
| }
|
| public String getLastName() {
| return lastName;
| }
|
| public void setLastName(String lastName) {
| this.lastName = lastName;
| }
| }
|
The Client Code
| public class Test {
|
| public static void testWSWeb() {
| setSystemProperties();
| try {
| pruebaInicial();
| } catch (Exception ex) {
| ex.printStackTrace();
| }
| try {
| llamadoDinamico();
| } catch (Exception ex) {
| ex.printStackTrace();
| }
| }
|
| private static void pruebaInicial() {
| TestEndpointService service = new TestEndpointService();
| TestEndpoint port = service.getTestEndpointPort();
| BindingProvider provider = (BindingProvider) port;
|
| provider.getRequestContext()
| .put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
| "http://127.0.0.1:8888/M3_Ejemplo03_WSWeb");
|
| /*
| * Agrego handler standard para WS-Security en JBoss Alternativa
| * que le camina por arriba a los otros handlers
| */
| ((StubExt) port).setConfigName("Standard WSSecurity Client");
|
| Person p = new Person();
| p.setFirstName("Emiliano");
| p.setLastName("Sacchi");
| System.out.println(port.hello(p));
| }
|
|
| private static void llamadoDinamico() throws IOException,
| DatatypeConfigurationException {
| URL url = new URL("http://127.0.0.1:8888/M3_Ejemplo03_WSWeb?wsdl");
| URL securityURL = new File(
|
| "/home/esacchi/desarrollo/workspace/M3_Ejemplo03_WSWebClient/src/META-INF/jboss-wsse-client.xml")
| .toURL();
|
| QName serviceName = new QName("http://org.jboss.ws/jaxws/context",
| "TestEndpointService");
| Service service = Service.create(url, serviceName);
| Iterator<QName> i = service.getPorts();
|
| QName name = null;
| while (i.hasNext()) {
| name = (QName) i.next();
| System.out.println(name);
| }
|
| // service.getPort();
|
| Dispatch<Source> sourceDispatch = null;
| sourceDispatch = service.createDispatch(name, Source.class,
| Service.Mode.PAYLOAD);
|
|
| ((ConfigProvider) sourceDispatch).setSecurityConfig(securityURL
| .toExternalForm());
| ((ConfigProvider) sourceDispatch)
| .setConfigName("Standard WSSecurity Client");
|
| String request = "<ns1:hello xmlns:ns1='http://org.jboss.ws/jaxws/context'><arg0><firstName>Emiliano</firstName><lastName>Sacchi</lastName></arg0></ns1:hello>";
| System.out.println("\nInvoking xml request: " + request);
| Source result = sourceDispatch.invoke(new StreamSource(
| new StringReader(request)));
|
| System.out.println("Received xml response: " + result);
|
| Element docElement = DOMUtils.sourceToElement(result);
| Element retElement = DOMUtils.getFirstChildElement(docElement);
| String retPayload = DOMWriter.printNode(retElement, false);
| System.out.println("Received response: " + retPayload);
| }
| }
|
Client Output
pruebaInicial()
| 01-abr-2008 16:47:43 org.apache.xml.security.signature.Reference verify
| INFO: Verification successful for URI "#element-1-1207079263166-18667724"
| 01-abr-2008 16:47:43 org.apache.xml.security.signature.Reference verify
| INFO: Verification successful for URI "#timestamp"
| Hello Emiliano Sacchi
|
llamadoDinamico()
{http://org.jboss.ws/jaxws/context}TestEndpointPort
|
| Invoking xml request: <ns1:hello
| xmlns:ns1='http://org.jboss.ws/jaxws/context'><arg0><firstName>Emiliano</firstName><lastName>Sacchi</lastName></arg0></ns1:hello>
| javax.xml.ws.soap.SOAPFaultException:
| org.jboss.ws.core.CommonSOAPFaultException: Signature is invalid.
| at
| org.jboss.ws.core.jaxws.client.DispatchSOAPBinding.getReturnObject(DispatchSOAPBinding.java:165)
| at
| org.jboss.ws.core.jaxws.client.DispatchImpl.getReturnObject(DispatchImpl.java:447)
| at
| org.jboss.ws.core.jaxws.client.DispatchImpl.invokeInternalSOAP(DispatchImpl.java:249)
| at
| org.jboss.ws.core.jaxws.client.DispatchImpl.invokeInternal(DispatchImpl.java:168)
| at
| org.jboss.ws.core.jaxws.client.DispatchImpl.invoke(DispatchImpl.java:132)
| at test.Test.llamadoDinamico(Test.java:135)
| at test.Test.testWSWeb(Test.java:55)
| at test.Test.main(Test.java:39)
Server Output
pruebaInicial()
16:47:42,826 INFO [Reference] Verification successful for URI
| "#element-1-1207079261680-33340097"
| 16:47:42,827 INFO [Reference] Verification successful for URI "#timestamp"
llamadoDinamico()
16:47:47,267 WARN [Reference] Verification failed for URI
| "#element-4-1207079267194-23838383"
| 16:47:47,268 INFO [Reference] Verification successful for URI "#timestamp"
| 16:47:47,269 ERROR [WSSecurityDispatcher] Internal error occured
| handling inbound message:
| org.jboss.ws.extensions.security.exception.FailedCheckException:
| Signature is invalid.
| at
| org.jboss.ws.extensions.security.SignatureVerificationOperation.process(SignatureVerificationOperation.java:61)
| at
| org.jboss.ws.extensions.security.SecurityDecoder.decode(SecurityDecoder.java:124)
| at
| org.jboss.ws.extensions.security.SecurityDecoder.decode(SecurityDecoder.java:186)
| at
| org.jboss.ws.extensions.security.WSSecurityDispatcher.handleInbound(WSSecurityDispatcher.java:149)
| at
| org.jboss.ws.extensions.security.jaxws.WSSecurityHandler.handleInboundSecurity(WSSecurityHandler.java:78)
| at
| org.jboss.ws.extensions.security.jaxws.WSSecurityHandlerServer.handleInbound(WSSecurityHandlerServer.java:41)
| at
| org.jboss.ws.core.jaxws.handler.GenericHandler.handleMessage(GenericHandler.java:55)
| at
| org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleMessage(HandlerChainExecutor.java:295)
| at
| org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleMessage(HandlerChainExecutor.java:140)
| at
| org.jboss.ws.core.jaxws.handler.HandlerDelegateJAXWS.callRequestHandlerChain(HandlerDelegateJAXWS.java:87)
| at
| org.jboss.ws.core.server.ServiceEndpointInvoker.callRequestHandlerChain(ServiceEndpointInvoker.java:128)
| at
| org.jboss.ws.core.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:172)
| at
| org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:418)
| at
| org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:274)
| at
| org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:191)
| at
| org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:124)
| at
| org.jboss.wsf.stack.jbws.EndpointServlet.service(EndpointServlet.java:84)
| 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:127)
| at
| org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
| 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:262)
| at
| org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
| at
| org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
| at
| org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
| at java.lang.Thread.run(Thread.java:595)
| 16:47:47,270 ERROR [HandlerChainExecutor] Exception during handler
| processing
| org.jboss.ws.core.CommonSOAPFaultException: Signature is invalid.
| at
| org.jboss.ws.extensions.security.WSSecurityDispatcher.convertToFault(WSSecurityDispatcher.java:107)
| at
| org.jboss.ws.extensions.security.WSSecurityDispatcher.handleInbound(WSSecurityDispatcher.java:179)
| at
| org.jboss.ws.extensions.security.jaxws.WSSecurityHandler.handleInboundSecurity(WSSecurityHandler.java:78)
| at
| org.jboss.ws.extensions.security.jaxws.WSSecurityHandlerServer.handleInbound(WSSecurityHandlerServer.java:41)
| at
| org.jboss.ws.core.jaxws.handler.GenericHandler.handleMessage(GenericHandler.java:55)
| at
| org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleMessage(HandlerChainExecutor.java:295)
| at
| org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleMessage(HandlerChainExecutor.java:140)
| at
| org.jboss.ws.core.jaxws.handler.HandlerDelegateJAXWS.callRequestHandlerChain(HandlerDelegateJAXWS.java:87)
| at
| org.jboss.ws.core.server.ServiceEndpointInvoker.callRequestHandlerChain(ServiceEndpointInvoker.java:128)
| at
| org.jboss.ws.core.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:172)
| at
| org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:418)
| at
| org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:274)
| at
| org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:191)
| at
| org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:124)
| at
| org.jboss.wsf.stack.jbws.EndpointServlet.service(EndpointServlet.java:84)
| 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:127)
| at
| org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
| 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:262)
| at
| org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
| at
| org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
| at
| org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
| at java.lang.Thread.run(Thread.java:595)
| 16:47:47,446 ERROR [SOAPFaultHelperJAXWS] SOAP request exception
| javax.xml.ws.WebServiceException:
| org.jboss.ws.core.CommonSOAPFaultException: Signature is invalid.
| at
| org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.processHandlerFailure(HandlerChainExecutor.java:276)
| at
| org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleMessage(HandlerChainExecutor.java:155)
| at
| org.jboss.ws.core.jaxws.handler.HandlerDelegateJAXWS.callRequestHandlerChain(HandlerDelegateJAXWS.java:87)
| at
| org.jboss.ws.core.server.ServiceEndpointInvoker.callRequestHandlerChain(ServiceEndpointInvoker.java:128)
| at
| org.jboss.ws.core.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:172)
| at
| org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:418)
| at
| org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:274)
| at
| org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:191)
| at
| org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:124)
| at
| org.jboss.wsf.stack.jbws.EndpointServlet.service(EndpointServlet.java:84)
| 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:127)
| at
| org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
| 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:262)
| at
| org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
| at
| org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
| at
| org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
| at java.lang.Thread.run(Thread.java:595)
| Caused by: org.jboss.ws.core.CommonSOAPFaultException: Signature is invalid.
| at
| org.jboss.ws.extensions.security.WSSecurityDispatcher.convertToFault(WSSecurityDispatcher.java:107)
| at
| org.jboss.ws.extensions.security.WSSecurityDispatcher.handleInbound(WSSecurityDispatcher.java:179)
| at
| org.jboss.ws.extensions.security.jaxws.WSSecurityHandler.handleInboundSecurity(WSSecurityHandler.java:78)
| at
| org.jboss.ws.extensions.security.jaxws.WSSecurityHandlerServer.handleInbound(WSSecurityHandlerServer.java:41)
| at
| org.jboss.ws.core.jaxws.handler.GenericHandler.handleMessage(GenericHandler.java:55)
| at
| org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleMessage(HandlerChainExecutor.java:295)
| at
| org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleMessage(HandlerChainExecutor.java:140)
| ... 27 more
| 16:47:47,588 ERROR [SOAPFaultHelperJAXWS] SOAP request exception
| javax.xml.ws.WebServiceException:
| org.jboss.ws.core.CommonSOAPFaultException: Signature is invalid.
| at
| org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.processHandlerFailure(HandlerChainExecutor.java:276)
| at
| org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleMessage(HandlerChainExecutor.java:155)
| at
| org.jboss.ws.core.jaxws.handler.HandlerDelegateJAXWS.callRequestHandlerChain(HandlerDelegateJAXWS.java:87)
| at
| org.jboss.ws.core.server.ServiceEndpointInvoker.callRequestHandlerChain(ServiceEndpointInvoker.java:128)
| at
| org.jboss.ws.core.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:172)
| at
| org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:418)
| at
| org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:274)
| at
| org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:191)
| at
| org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:124)
| at
| org.jboss.wsf.stack.jbws.EndpointServlet.service(EndpointServlet.java:84)
| 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:127)
| at
| org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
| 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:262)
| at
| org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
| at
| org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
| at
| org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
| at java.lang.Thread.run(Thread.java:595)
| Caused by: org.jboss.ws.core.CommonSOAPFaultException: Signature is invalid.
| at
| org.jboss.ws.extensions.security.WSSecurityDispatcher.convertToFault(WSSecurityDispatcher.java:107)
| at
| org.jboss.ws.extensions.security.WSSecurityDispatcher.handleInbound(WSSecurityDispatcher.java:179)
| at
| org.jboss.ws.extensions.security.jaxws.WSSecurityHandler.handleInboundSecurity(WSSecurityHandler.java:78)
| at
| org.jboss.ws.extensions.security.jaxws.WSSecurityHandlerServer.handleInbound(WSSecurityHandlerServer.java:41)
| at
| org.jboss.ws.core.jaxws.handler.GenericHandler.handleMessage(GenericHandler.java:55)
| at
| org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleMessage(HandlerChainExecutor.java:295)
| at
| org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleMessage(HandlerChainExecutor.java:140)
| ... 27 more
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4140728#4140728
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4140728
18 years
[JBossWS] - Cyclic web services
by rcarmichael
Let's say I have a web service called getVehicle(int vehicleId) and I'm expecting it to return me a Vehicle object.
If Vehicle has a java.util.Set of Wheel objects, and the Wheel object has a reference to its owner (Vehicle), then obviously there is an issue here when trying to persist to XML because of this bidirectional relationship.
My goal is to have JBoss host this web service, and then use wsimport to create the stub files for the client to use. This part works fine, except the server throws an error when it goes to marshal the object:
Caused by: com.sun.istack.SAXException2: A cycle is detected in the object graph. This will cause infinitely deep XML: org.test.Vehicle@13c6308 -> org.test.Wheel@15880be -> org.test.Vehicle@13c6308
I have read (and hopefully understand) https://jaxb.dev.java.net/guide/Mapping_cyclic_references_to_XML.html but I don't think it applies in this case because wsimport will be creating the stubs for me.
Is there any way to get this going? I'm guessing I will have to fall back to my last resort, which is making Wheel only have a reference to the Vehicle's ID instead of the Vehicle object.
Thanks,
Ryan
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4140721#4140721
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4140721
18 years