[JBossWS-Metro] - Re: JAXBException: class com.sun.xml.ws.security.opt.crypto.
by sun-certified
"sun-certified" wrote : one of my colleagues suggested that it might be worth turning off jboss' implementation of metro, and dropping in sun's metro implementation jars instead.
i hate to hijack my own thread away from the main question i asked originally. but going by the following comment from richard, it occurred to me that there might be some confusion about what i meant by "dropping in sun's metro":
"Richard Opalka" wrote : ..If you want to switch the stack, use "ant deploy-jbossXYZ" from our distros...
i'm assuming by "...our distros...", richard is talking about switching between jbossws' native, metro and cxf soap stacks.
however, my comment - which i only mentioned as a side note originally - was referring to a suggestion one of my teammates proposed as a possible solution to my original problem (JAXBException....). he suggested my problem might possibly be solved by replacing jbossws' metro jars that come bundled with the jbossws metro distribution - with the jars that come bundled with the implementation of metro distributed by sun through their glassfish project.
clearly, jbossws' metro distribution installation command won't work with sun's metro distribution. and even if it did, richard has already made it clear that the part of metro i'm interested in (wsit and ws-security) wouldn't work if i mixed distributions from different vendors:
"Richard Opalka" wrote : ...If you're using proprietary features (non J2EE standards yet) such as WS-Security, this is not portable cross different SOAP stacks....
i find that when talking about "metro", it is usually a good idea to make it clear whether you're referring to jbossws' metro or sun's glassfish metro. if there's one thing i've learned over the past several days, its: the differences between the two different distributions are significant "If you're using proprietary features".
the main difference being: one of them works; and the other one doesn't ;-)
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4224984#4224984
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4224984
15 years, 9 months
[JBossWS-Metro] - Re: RealmAuthenticator is not a valid RealmAuthenticationPro
by sun-certified
anonymous wrote : How did you install Metro? Using our "ant deploy-jbossXYZ" way, right?
|
| Try the following steps and let me know if it will work:
| * Put your RealmAuthenticator to a jar, let's say it's name is my-authenticator.jar
| * Include META-INF/services/com.sun.xml.xwss.RealmAuthenticator file to refer to your impl in my-authenticator.jar
| * Copy my-authenticator.jar to jbossws.deployer directory
|
sincere thanks for your reply, richard. much appreciated.
i installed metro with the ant deploy-jbossXXX command line in the root installation dir of the metro binary distribution (jbossws-metro-bin-dist). just like the instructions say.
i followed alessio soldano's instructions on how to configure wsit in metro pretty closely. including, having the RealmAuthenticator in the exact location in the web service's war file that those instructions prescribe.
i put my RealmAuthenicator class in a jar file (my-authenticator.jar) like you said. i also included in the jar file a META-INF/services/com.sun.xml.xwss.RealmAuthenticator file. here are the contents of that com.sun.xml.xwss.RealmAuthenticator file:
org.jboss.test.ws.jaxws.samples.wsse.RealmAuthenticator
i put that jar file into jboss-5.0.1.GA-jdk6\server\default\deployers\jbossws.deployer
to avoid ambiguity, i will make this clear: that RealmAuthenticator.class file is an entry in that jar file with the following path:
WEB-INF/classes/org/jboss/test/ws/jaxws/samples/wsse/RealmAuthenticator.class
that is the location alessio soldano's instructions say it should be in. that is the location that the RealmAuthenticator is in in the war file i referred to in my original post (the war file that cause the problem in the first place).
because you did not say specifically what the path of the RealmAuthenticator class should be in my-authenticator.jar, i also tried another jar (my-other_authenticator.jar) with the following path:
org/jboss/test/ws/jaxws/samples/wsse/RealmAuthenticator.class
with both jars: nothing happened. no message from jboss. nothing.
anonymous wrote : ...let me know if it will work...
how do you know if it "works"? should anything in particular happen? what should i do next?
thanks again for your help, richard
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4224697#4224697
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4224697
15 years, 9 months
[JBossWS-Metro] - Re: JAXBException: class com.sun.xml.ws.security.opt.crypto.
by sun-certified
anonymous wrote : You have to follow installation instructions, always!
| If you want to switch the stack, use "ant deploy-jbossXYZ" from our distros.
| The stacks are interchangeable when you're using J2EE standard libraries only i.e. JAX-WS, JWS etc.
| If you're using proprietary features (non J2EE standards yet) such as WS-Security, this is not portable cross different SOAP stacks.
thanks again richard.
i'm afraid your reply flew a little bit over my head ;-)
anonymous wrote : You have to follow installation instructions, always!
that part i understand. and totally agree with. you're right. i did follow instructions (when i could find them ;-)) they are kind of "thin on the ground" - as they say. when i first installed jbossws, i ran ant deploy-jbossXXX on the metro 3.1.0 distro as instructed here
anonymous wrote : If you want to switch the stack, use "ant deploy-jbossXYZ" from our distros.
this is where you've lost me. i think. i don't _want_ to switch the stack. i _want_ to get rid of the exception i described above. the comment i made about my colleague's suggestion about dropping in sun's metro libraries was just an aside; apologies if that threw you off the scent of the real question i need and answer to.
anonymous wrote : If you're using proprietary features (non J2EE standards yet) such as WS-Security, this is not portable cross different SOAP stacks.
please, correct me if i'm wrong: if i understand you correctly then you are confirming my previous statement in which i was referring to proprietary features such as WS-Security as "other components":
anonymous wrote : ...surely, jboss's own implementation of metro will work best with jboss' other components...
apologies if i was too vague there in that statement.
so, please can you clarify richard? are you saying that the JAXBException with the SignedInfo can be resolved by switching to a particular stack? this JAXBException on SignedInfo is happening in jbossws' metro 3.1.0 stack currently. which stack, specifically, should i switch to solve the problem?
thanks again for your help, richard
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4224664#4224664
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4224664
15 years, 9 months
[JBossWS-Metro] - Re: JAXBException: class com.sun.xml.ws.security.opt.crypto.
by richard.opalka@jboss.com
"sun-certified" wrote :
| for some reason, i'm getting: "com.sun.xml.ws.security.opt.crypto.dsig.SignedInfo nor any of its super class is known to this context" errors. i've upgraded my jdk from j2se 5 to jdk 6. i've copied jaxb-api.jar, jaxws-api.jar and saaj-api.jar from the jboss 5.0.1.GA-jdk6installation to $JAVA_HOME/jre/lib/endorsed; i tried rolling back to jboss 4.2.3 - and then back to jboss 5.0.1 again; at one point, i also added @XmlSeeAlso(com.sun.xml.ws.security.opt.crypto.dsig.SignedInfo.class) to my SEI. but i still get this error!
|
| one of my colleagues suggested that it might be worth turning off jboss' implementation of metro, and dropping in sun's metro implementation jars instead. my first thought was, "there's no way that would work!" am i right? surely, jboss's own implementation of metro will work best with jboss' other components. right? or maybe i am missing something fundamental, and the two implementations really are interchangeable. it would be great if it were the case. but that can't be right. can it? it seems to me it would cause even more problems that i'd hope to solve.
|
You have to follow installation instructions, always!
If you want to switch the stack, use "ant deploy-jbossXYZ" from our distros.
The stacks are interchangeable when you're using J2EE standard libraries only i.e. JAX-WS, JWS etc.
If you're using proprietary features (non J2EE standards yet) such as WS-Security, this is not portable cross different SOAP stacks.
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4224546#4224546
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4224546
15 years, 9 months
[JBossWS-Metro] - Re: RealmAuthenticator is not a valid RealmAuthenticationPro
by richard.opalka@jboss.com
Hi,
according to RealmAuthenticationAdapter.newInstance() method implementation containing the following code:
public static RealmAuthenticationAdapter newInstance(Object context) {
RealmAuthenticationAdapter adapter = null;
URL url = null;
if (context == null) {
url = SecurityUtil.loadFromClasspath("META-INF/services/" + UsernameAuthenticator);
} else {
url = SecurityUtil.loadFromContext("/META-INF/services/" + UsernameAuthenticator, context);
}
if (url != null) {
Object obj = SecurityUtil.loadSPIClass(url, UsernameAuthenticator);
if ((obj != null) && !(obj instanceof RealmAuthenticationAdapter)) {
throw new XWSSecurityRuntimeException("Class :" + obj.getClass().getName() + " is not a valid RealmAuthenticationProvider");
}
adapter = (RealmAuthenticationAdapter) obj;
}
if (adapter != null) {
return adapter;
}
return new DefaultRealmAuthenticationAdapter();
}
The relevant piece of code is:
if ((obj != null) && !(obj instanceof RealmAuthenticationAdapter)) {
throw new XWSSecurityRuntimeException("Class :" +
And because your RealmAuthenticator fulfils all preconditions:
public class RealmAuthenticator extends RealmAuthenticationAdapter implements
javax.security.auth.callback.CallbackHandler {
...
}
I bet this is the classloaders related issue.
Remember that two classes equals if and only if:
ClassA:ClassloaderForA instance of ClassB:ClassloaderForB <=>
ClassA == ClassB && ClassloaderForA == ClassloaderForB
How did you install Metro? Using our "ant deploy-jbossXYZ" way, right?
Try the following steps and let me know if it will work:
* Put your RealmAuthenticator to a jar, let's say it's name is my-authenticator.jar
* Include META-INF/services/com.sun.xml.xwss.RealmAuthenticator file to refer to your impl in my-authenticator.jar
* Copy my-authenticator.jar to jbossws.deployer directory
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4224544#4224544
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4224544
15 years, 9 months
[JBossWS-Metro] - Re: RealmAuthenticator is not a valid RealmAuthenticationPro
by sun-certified
thanks richard for your very helpful and informative reply. sincerely appreciated.
i've implemented javax.security.auth.callback.CallbackHandler like you said. but i still get the same error.
i've removed META-INF/services/com.sun.xml.xwss.RealmAuthenticator from my war in order to shut it up. now i'm getting a whole new set of problems!
please, can you help me figure this out?
thanks again richard for your help.
==============================================
| package net.javafreelancer.tutorials.jboss;
|
| import javax.servlet.http.HttpServlet;
|
| import java.io.IOException;
| import java.io.PrintWriter;
| import java.net.URL;
|
| import javax.servlet.ServletException;
| import javax.servlet.http.*;
| import javax.xml.ws.WebServiceRef;
|
| public class MutualCertTestClientServlet extends HttpServlet {
|
| /**
| *
| */
| private static final long serialVersionUID = -8952375438224208530L;
|
| @WebServiceRef(wsdlLocation = "http://localhost:6060/MutualCertTestApp/MutualCertTestService?wsdl")
| private MutualCertTestServiceService service;
|
|
|
| public MutualCertTestClientServlet() {
| }
|
| protected void processRequest(HttpServletRequest request,
| HttpServletResponse response) throws ServletException, IOException {
| service = new MutualCertTestServiceService();
| PrintWriter out;
| response.setContentType("text/html;charset=UTF-8");
| out = response.getWriter();
| try {
| out.println("<html>");
| out.println("<head>");
| out.println("<title>Servlet MutualCertTestClientServlet</title>");
| out.println("</head>");
| out.println("<body>");
| out.println((new StringBuilder()).append(
| "<h1>Servlet MutualCertTestClientServlet at ").append(
| request.getContextPath()).append("</h1>").toString());
| try {
| MutualCertTestService port = service.getMutualCertTestPort();
| String result = port.testGetUserPrincipal();
| out.println((new StringBuilder())
| .append("<p>User Principal = ").append(result)
| .toString());
|
| } catch (Exception ex) {
| out.println((new StringBuilder()).append("<p>Exception = ")
| .append(ex).toString());
| }
| out.println("</body>");
| out.println("</html>");
| out.close();
| } finally {
| out.close();
| }
| }
|
| protected void doGet(HttpServletRequest request,
| HttpServletResponse response) throws ServletException, IOException {
| processRequest(request, response);
| }
|
| protected void doPost(HttpServletRequest request,
| HttpServletResponse response) throws ServletException, IOException {
| processRequest(request, response);
| }
|
| public String getServletInfo() {
| return "Short description";
| }
|
| }
|
==============================================
package net.javafreelancer.tutorials.jboss;
|
| import java.security.Principal;
|
| import javax.annotation.Resource;
| import javax.jws.WebMethod;
| import javax.jws.WebParam;
| import javax.jws.WebService;
| import javax.xml.bind.annotation.XmlSeeAlso;
| import javax.xml.ws.WebServiceContext;
|
|
| //(a)XmlSeeAlso(com.sun.xml.ws.security.opt.crypto.dsig.SignedInfo.class)
| @WebService(
| name="MutualCertTestService",
| portName = "MutualCertTestPort"
| )
| public class MutualCertTestService {
|
| @Resource
| WebServiceContext wsCtx;
|
| @WebMethod(operationName="testGetUserPrincipal",action="testGetUserPrincipal")
| public String testGetUserPrincipal()
| {
| Principal principal = wsCtx.getUserPrincipal();
| String name = null;
| if(principal != null)
| name = principal.getName();
| return name;
| }
| @WebMethod(operationName="testIsUserInRole",action="testIsUserInRole")
| public boolean testIsUserInRole(@WebParam(name="role") String role)
| {
| return wsCtx.isUserInRole(role);
| }
|
| }
|
==============================================
| /*
| * JBoss, Home of Professional Open Source.
| * Copyright 2006, Red Hat Middleware LLC, and individual contributors
| * as indicated by the @author tags. See the copyright.txt file in the
| * distribution for a full listing of individual contributors.
| *
| * This is free software; you can redistribute it and/or modify it
| * under the terms of the GNU Lesser General Public License as
| * published by the Free Software Foundation; either version 2.1 of
| * the License, or (at your option) any later version.
| *
| * This software is distributed in the hope that it will be useful,
| * but WITHOUT ANY WARRANTY; without even the implied warranty of
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
| * Lesser General Public License for more details.
| *
| * You should have received a copy of the GNU Lesser General Public
| * License along with this software; if not, write to the Free
| * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
| * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
| */
| package org.jboss.test.ws.jaxws.samples.wsse;
|
| import java.io.IOException;
|
| import javax.security.auth.Subject;
| import javax.security.auth.callback.Callback;
| import javax.security.auth.callback.UnsupportedCallbackException;
|
| import com.sun.xml.wss.RealmAuthenticationAdapter;
| import com.sun.xml.wss.XWSSecurityException;
|
| /**
| * A simple realm authenticator showing how to override the WSIT default (which
| * is based on tomcat-users.xml when not running on Glassfish)
| *
| * @author alessio.soldano(a)jboss.com
| * @since 25-Apr-2008
| *
| */
| public class RealmAuthenticator extends RealmAuthenticationAdapter implements
| javax.security.auth.callback.CallbackHandler {
|
| @Override
| public boolean authenticate(Subject callerSubject, String username,
| String password) throws XWSSecurityException {
| System.out.println("Custom realm authenticator called: username="
| + username + ", password=" + password);
| return (username.equals("kermit") && password.equals("thefrog"));
| }
|
| @Override
| public void handle(Callback[] callbacks) throws IOException,
| UnsupportedCallbackException {
| // TODO Auto-generated method stub
|
| }
| }
|
==============================================
| ...
| 2009-04-09 01:45:31,781 DEBUG [org.jboss.wsf.framework.deployment.DeploymentAspectManagerImpl] (HDScanner) EndpointMetricsDeploymentAspect:Destroy
| 2009-04-09 01:45:31,781 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] (HDScanner) Error installing to Real: name=vfszip:/C:/development/jboss-5.0.1.GA-jdk6/server/default/deploy/MutualCertTestApp.war/ state=PreReal mode=Manual requiredState=Real
| org.jboss.deployers.spi.DeploymentException: Error during deploy: vfszip:/C:/development/jboss-5.0.1.GA-jdk6/server/default/deploy/MutualCertTestApp.war/
| at org.jboss.deployers.spi.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:49)
| at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:177)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
| at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
| at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
| at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
| at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:698)
| at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:290)
| at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:221)
| at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
| at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
| at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
| at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
| at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
| at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
| at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
| at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
| at java.lang.Thread.run(Thread.java:619)
| Caused by: javax.xml.ws.WebServiceException: Failed to build METRO runtime model
| at org.jboss.wsf.stack.metro.metadata.RuntimeModelDeploymentAspect.start(RuntimeModelDeploymentAspect.java:133)
| at org.jboss.wsf.framework.deployment.DeploymentAspectManagerImpl.deploy(DeploymentAspectManagerImpl.java:129)
| at org.jboss.wsf.container.jboss50.deployer.ArchiveDeployerHook.deploy(ArchiveDeployerHook.java:75)
| at org.jboss.wsf.container.jboss50.deployer.AbstractWebServiceDeployer.internalDeploy(AbstractWebServiceDeployer.java:60)
| at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
| at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
| ... 23 more
| Caused by: java.lang.RuntimeException: WSSTUBE0028: Error in creating new instance of SecurityServerTube
| at com.sun.xml.wss.jaxws.impl.SecurityServerTube.<init>(SecurityServerTube.java:155)
| at com.sun.xml.wss.provider.wsit.SecurityTubeAppender.appendTube(SecurityTubeAppender.java:129)
| at com.sun.xml.ws.assembler.TubelineAssemblerFactoryImpl$WsitTubelineAssembler.createServer(TubelineAssemblerFactoryImpl.java:101)
| at com.sun.xml.ws.server.WSEndpointImpl.<init>(WSEndpointImpl.java:152)
| at com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:217)
| at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:467)
| at org.jboss.wsf.stack.metro.DeploymentDescriptorParserExt.parseAdapters(DeploymentDescriptorParserExt.java:295)
| at org.jboss.wsf.stack.metro.DeploymentDescriptorParserExt.parse(DeploymentDescriptorParserExt.java:171)
| at org.jboss.wsf.stack.metro.metadata.RuntimeModelDeploymentAspect.start(RuntimeModelDeploymentAspect.java:109)
| ... 28 more
| Caused by: java.lang.RuntimeException: WSSTUBE0027: Error in configuring Server Security Callback Handler.
| at com.sun.xml.wss.jaxws.impl.SecurityServerTube.configureServerHandler(SecurityServerTube.java:739)
| at com.sun.xml.wss.jaxws.impl.SecurityServerTube.<init>(SecurityServerTube.java:150)
| ... 36 more
| Caused by: com.sun.xml.wss.impl.XWSSecurityRuntimeException: Class :org.jboss.test.ws.jaxws.samples.wsse.RealmAuthenticator is not a valid RealmAuthenticationProvider
| at com.sun.xml.wss.RealmAuthenticationAdapter.newInstance(RealmAuthenticationAdapter.java:109)
| at com.sun.xml.wss.jaxws.impl.SecurityServerTube.getRealmAuthenticationAdapter(SecurityServerTube.java:767)
| at com.sun.xml.wss.jaxws.impl.SecurityServerTube.configureServerHandler(SecurityServerTube.java:733)
| ... 37 more
| 2009-04-09 01:45:31,781 DEBUG [org.jboss.classloader.spi.base.BaseClassLoaderDomain] (HDScanner) ClassLoaderDomain@1916b85{vfszip:/C:/development/jboss-5.0.1.GA-jdk6/server/default/deploy/MutualCertTestApp.war/} unregisterClassLoader BaseClassLoader@29fe15{vfszip:/C:/development/jboss-5.0.1.GA-jdk6/server/default/deploy/MutualCertTestApp.war/}
| 2009-04-09 01:45:31,781 DEBUG [org.jboss.mx.loading.UnifiedLoaderRepository3] (HDScanner) UnifiedLoaderRepository removed(false) null
| 2009-04-09 01:45:31,781 DEBUG [org.jboss.classloader.spi.base.BaseClassLoaderPolicy] (HDScanner) VFSClassLoaderPolicy@e819e9{vfszip:/C:/development/jboss-5.0.1.GA-jdk6/server/default/deploy/MutualCertTestApp.war/} shutdown!
| 2009-04-09 01:45:31,781 DEBUG [org.jboss.classloader.spi.base.BaseClassLoader] (HDScanner) BaseClassLoader@29fe15{vfszip:/C:/development/jboss-5.0.1.GA-jdk6/server/default/deploy/MutualCertTestApp.war/} shutdown!
| 2009-04-09 01:45:31,781 DEBUG [org.jboss.classloader.spi.base.BaseClassLoaderDomain] (HDScanner) ClassLoaderDomain@1916b85{vfszip:/C:/development/jboss-5.0.1.GA-jdk6/server/default/deploy/MutualCertTestApp.war/} shutdown!
| 2009-04-09 01:45:31,781 DEBUG [org.jboss.classloader.spi.ClassLoaderSystem] (HDScanner) DefaultClassLoaderSystem@24de7d unregistered domain=ClassLoaderDomain@1916b85{name=vfszip:/C:/development/jboss-5.0.1.GA-jdk6/server/default/deploy/MutualCertTestApp.war/ parentPolicy=AFTER_BUT_JAVA_BEFORE parent=ClassLoaderDomain@8b058b{DefaultDomain}}
| 2009-04-09 01:45:31,781 DEBUG [org.jboss.classloading.spi.dependency.Domain] (HDScanner) org.jboss.classloading.spi.dependency.Domain@10f14ba{vfszip:/C:/development/jboss-5.0.1.GA-jdk6/server/default/deploy/MutualCertTestApp.war/} remove module VFSDeploymentClassLoaderPolicyModule vfszip:/C:/development/jboss-5.0.1.GA-jdk6/server/default/deploy/MutualCertTestApp.war/:0.0.0
| 2009-04-09 01:45:31,781 DEBUG [org.jboss.deployers.vfs.plugins.classloader.InMemoryClassesDeployer] (HDScanner) Removing dynamic class root for vfszip:/C:/development/jboss-5.0.1.GA-jdk6/server/default/deploy/MutualCertTestApp.war/
| 2009-04-09 01:45:31,781 WARN [org.jboss.system.server.profileservice.hotdeploy.HDScanner] (HDScanner) Failed to process changes
| org.jboss.deployers.client.spi.IncompleteDeploymentException: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):
|
| DEPLOYMENTS IN ERROR:
| Deployment "vfszip:/C:/development/jboss-5.0.1.GA-jdk6/server/default/deploy/MutualCertTestApp.war/" is in error due to the following reason(s): com.sun.xml.wss.impl.XWSSecurityRuntimeException: Class :org.jboss.test.ws.jaxws.samples.wsse.RealmAuthenticator is not a valid RealmAuthenticationProvider
|
| at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:863)
| at org.jboss.deployers.plugins.main.MainDeployerImpl.checkComplete(MainDeployerImpl.java:806)
| at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:293)
| at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:221)
| at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
| at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
| at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
| at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
| at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
| at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
| at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
| at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
| at java.lang.Thread.run(Thread.java:619)
| ...
|
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4224523#4224523
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4224523
15 years, 9 months
[JBossWS-Metro] - JAXBException: class com.sun.xml.ws.security.opt.crypto.dsig
by sun-certified
hi again forum,
my system: jboss as 5.0.1.GA-jdk6, sun jdk 6.0.12, metro 3.1.0, eclipse ganymede, neatbeans 6.5.1, windows xp
i built a jbossws webservice from a pojo.
i followed a combination of the jbossws instructions for configuring jbossws' metro wsit implementation, plus the more comprehensive instructions provided by sun for their original implementation of metro. i've been able to successfully configure jbossws for the ws-policy symmetric binding (server cert authn) authn mechanism. but that was done just as a proof of concept. my real requirement is to configure my web service for mutual certificate authentication.
using neatbeans 6.5.1 and glassfish v2.1, i am able to successfully configure mutual cert authn on glassfish by following the instructions in the glassfish docs. that took 15 minutes, max. i wish i could say the same for jboss.
for some reason, i'm getting: "com.sun.xml.ws.security.opt.crypto.dsig.SignedInfo nor any of its super class is known to this context" errors. i've upgraded my jdk from j2se 5 to jdk 6. i've copied jaxb-api.jar, jaxws-api.jar and saaj-api.jar from the jboss 5.0.1.GA-jdk6installation to $JAVA_HOME/jre/lib/endorsed; i tried rolling back to jboss 4.2.3 - and then back to jboss 5.0.1 again; at one point, i also added @XmlSeeAlso(com.sun.xml.ws.security.opt.crypto.dsig.SignedInfo.class) to my SEI. but i still get this error!
one of my colleagues suggested that it might be worth turning off jboss' implementation of metro, and dropping in sun's metro implementation jars instead. my first thought was, "there's no way that would work!" am i right? surely, jboss's own implementation of metro will work best with jboss' other components. right? or maybe i am missing something fundamental, and the two implementations really are interchangeable. it would be great if it were the case. but that can't be right. can it? it seems to me it would cause even more problems that i'd hope to solve.
please, can anybody help a guy out?
thanks in advance for your help.
==========================
| package net.javafreelancer.tutorials.jboss;
|
| import javax.servlet.http.HttpServlet;
|
| import java.io.IOException;
| import java.io.PrintWriter;
| import java.net.URL;
|
| import javax.servlet.ServletException;
| import javax.servlet.http.*;
| import javax.xml.ws.WebServiceRef;
|
| public class MutualCertTestClientServlet extends HttpServlet {
|
| /**
| *
| */
| private static final long serialVersionUID = -8952375438224208530L;
|
| @WebServiceRef(wsdlLocation = "http://localhost:6060/MutualCertTestApp/MutualCertTestService?wsdl")
| private MutualCertTestServiceService service;
|
|
|
| public MutualCertTestClientServlet() {
| }
|
| protected void processRequest(HttpServletRequest request,
| HttpServletResponse response) throws ServletException, IOException {
| service = new MutualCertTestServiceService();
| PrintWriter out;
| response.setContentType("text/html;charset=UTF-8");
| out = response.getWriter();
| try {
| out.println("<html>");
| out.println("<head>");
| out.println("<title>Servlet MutualCertTestClientServlet</title>");
| out.println("</head>");
| out.println("<body>");
| out.println((new StringBuilder()).append(
| "<h1>Servlet MutualCertTestClientServlet at ").append(
| request.getContextPath()).append("</h1>").toString());
| try {
| MutualCertTestService port = service.getMutualCertTestPort();
| String result = port.testGetUserPrincipal();
| out.println((new StringBuilder())
| .append("<p>User Principal = ").append(result)
| .toString());
|
| } catch (Exception ex) {
| out.println((new StringBuilder()).append("<p>Exception = ")
| .append(ex).toString());
| }
| out.println("</body>");
| out.println("</html>");
| out.close();
| } finally {
| out.close();
| }
| }
|
| protected void doGet(HttpServletRequest request,
| HttpServletResponse response) throws ServletException, IOException {
| processRequest(request, response);
| }
|
| protected void doPost(HttpServletRequest request,
| HttpServletResponse response) throws ServletException, IOException {
| processRequest(request, response);
| }
|
| public String getServletInfo() {
| return "Short description";
| }
|
| }
|
==========================
package net.javafreelancer.tutorials.jboss;
|
| import java.security.Principal;
|
| import javax.annotation.Resource;
| import javax.jws.WebMethod;
| import javax.jws.WebParam;
| import javax.jws.WebService;
| import javax.xml.bind.annotation.XmlSeeAlso;
| import javax.xml.ws.WebServiceContext;
|
|
| //(a)XmlSeeAlso(com.sun.xml.ws.security.opt.crypto.dsig.SignedInfo.class)
| @WebService(
| name="MutualCertTestService",
| portName = "MutualCertTestPort"
| )
| public class MutualCertTestService {
|
| @Resource
| WebServiceContext wsCtx;
|
| @WebMethod(operationName="testGetUserPrincipal",action="testGetUserPrincipal")
| public String testGetUserPrincipal()
| {
| Principal principal = wsCtx.getUserPrincipal();
| String name = null;
| if(principal != null)
| name = principal.getName();
| return name;
| }
| @WebMethod(operationName="testIsUserInRole",action="testIsUserInRole")
| public boolean testIsUserInRole(@WebParam(name="role") String role)
| {
| return wsCtx.isUserInRole(role);
| }
|
| }
|
==========================
| ...
| 2009-04-09 01:11:03,515 DEBUG [com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory] (http-127.0.0.1-8080-1) Using optimized Accessor for protected java.lang.String com.sun.xml.security.core.dsig.SignaturePropertyType.target
| 2009-04-09 01:11:03,515 DEBUG [com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory] (http-127.0.0.1-8080-1) Using optimized Accessor for protected com.sun.xml.ws.security.opt.crypto.dsig.CanonicalizationMethod com.sun.xml.security.core.dsig.SignedInfoType.canonicalizationMethod
| 2009-04-09 01:11:03,531 DEBUG [com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory] (http-127.0.0.1-8080-1) Using optimized Accessor for protected java.util.List com.sun.xml.security.core.dsig.CanonicalizationMethodType.content
| 2009-04-09 01:11:03,531 DEBUG [com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory] (http-127.0.0.1-8080-1) Using optimized Accessor for protected java.lang.String com.sun.xml.security.core.dsig.CanonicalizationMethodType.algorithm
| 2009-04-09 01:11:03,531 DEBUG [com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory] (http-127.0.0.1-8080-1) Using optimized Accessor for protected com.sun.xml.ws.security.opt.crypto.dsig.SignatureMethod com.sun.xml.security.core.dsig.SignedInfoType.signatureMethod
| 2009-04-09 01:11:03,531 DEBUG [com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory] (http-127.0.0.1-8080-1) Using optimized Accessor for protected java.util.List com.sun.xml.security.core.dsig.SignatureMethodType.content
| ...
| 2009-04-09 01:11:03,531 DEBUG [com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory] (http-127.0.0.1-8080-1) Using optimized Accessor for protected java.util.List com.sun.xml.security.core.dsig.SignedInfoType.reference
| 2009-04-09 01:11:03,531 DEBUG [com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory] (http-127.0.0.1-8080-1) Using optimized Accessor for protected com.sun.xml.ws.security.opt.crypto.dsig.SignedInfo com.sun.xml.security.core.dsig.SignatureType.signedInfo
| 2009-04-09 01:11:03,531 DEBUG [com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory] (http-127.0.0.1-8080-1) Using optimized Accessor for protected com.sun.xml.ws.security.opt.crypto.dsig.SignatureValue com.sun.xml.security.core.dsig.SignatureType.signatureValue
| 2009-04-09 01:11:03,531 DEBUG [com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory] (http-127.0.0.1-8080-1) Using optimized Accessor for protected byte[] com.sun.xml.security.core.dsig.SignatureValueType.value
| ...
| 2009-04-09 01:11:03,671 DEBUG [com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory] (http-127.0.0.1-8080-1) Using optimized Accessor for protected java.lang.String com.sun.xml.ws.security.secconv.impl.wssx.bindings.DerivedKeyTokenType.algorithm
| 2009-04-09 01:11:03,687 ERROR [com.sun.xml.wss.logging.impl.opt.signature] (http-127.0.0.1-8080-1) WSS1701: Sign operation failed.
| com.sun.xml.wss.impl.XWSSecurityRuntimeException: javax.xml.bind.JAXBException: class com.sun.xml.ws.security.opt.crypto.dsig.SignedInfo nor any of its super class is known to this context.
| at com.sun.xml.ws.security.opt.crypto.dsig.SignatureProcessor.performRSASign(SignatureProcessor.java:147)
| at com.sun.xml.ws.security.opt.crypto.dsig.Signature.sign(Signature.java:249)
| at com.sun.xml.ws.security.opt.impl.dsig.SignatureProcessor.sign(SignatureProcessor.java:122)
| at com.sun.xml.wss.impl.filter.SignatureFilter.sign(SignatureFilter.java:544)
| at com.sun.xml.wss.impl.filter.SignatureFilter.process(SignatureFilter.java:506)
| at com.sun.xml.wss.impl.HarnessUtil.processWSSPolicy(HarnessUtil.java:93)
| at com.sun.xml.wss.impl.HarnessUtil.processDeep(HarnessUtil.java:268)
| at com.sun.xml.wss.impl.SecurityAnnotator.processMessagePolicy(SecurityAnnotator.java:186)
| at com.sun.xml.wss.impl.SecurityAnnotator.secureMessage(SecurityAnnotator.java:147)
| at com.sun.xml.wss.jaxws.impl.SecurityTubeBase.secureOutboundMessage(SecurityTubeBase.java:378)
| at com.sun.xml.wss.jaxws.impl.SecurityClientTube.processClientRequestPacket(SecurityClientTube.java:239)
| at com.sun.xml.wss.jaxws.impl.SecurityClientTube.processRequest(SecurityClientTube.java:167)
| at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:598)
| at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:557)
| at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:542)
| at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:439)
| at com.sun.xml.ws.client.Stub.process(Stub.java:222)
| at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:135)
| at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:109)
| at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89)
| at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118)
| at $Proxy335.testGetUserPrincipal(Unknown Source)
| at net.javafreelancer.tutorials.jboss.MutualCertTestClientServlet.processRequest(MutualCertTestClientServlet.java:46)
| at net.javafreelancer.tutorials.jboss.MutualCertTestClientServlet.doGet(MutualCertTestClientServlet.java:65)
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
| 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:601)
| at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
| at java.lang.Thread.run(Thread.java:619)
| Caused by: javax.xml.bind.JAXBException: class com.sun.xml.ws.security.opt.crypto.dsig.SignedInfo nor any of its super class is known to this context.
| at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:566)
| at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:478)
| at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:325)
| at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:172)
| at com.sun.xml.ws.security.opt.crypto.dsig.SignatureProcessor.performRSASign(SignatureProcessor.java:138)
| ... 45 more
| 2009-04-09 01:11:03,703 ERROR [com.sun.xml.wss.jaxws.impl] (http-127.0.0.1-8080-1) WSSTUBE0024: Error in Securing Outbound Message.
| com.sun.xml.wss.XWSSecurityException: com.sun.xml.wss.impl.XWSSecurityRuntimeException: javax.xml.bind.JAXBException: class com.sun.xml.ws.security.opt.crypto.dsig.SignedInfo nor any of its super class is known to this context.
| at com.sun.xml.ws.security.opt.impl.dsig.SignatureProcessor.sign(SignatureProcessor.java:140)
| at com.sun.xml.wss.impl.filter.SignatureFilter.sign(SignatureFilter.java:544)
| at com.sun.xml.wss.impl.filter.SignatureFilter.process(SignatureFilter.java:506)
| at com.sun.xml.wss.impl.HarnessUtil.processWSSPolicy(HarnessUtil.java:93)
| at com.sun.xml.wss.impl.HarnessUtil.processDeep(HarnessUtil.java:268)
| at com.sun.xml.wss.impl.SecurityAnnotator.processMessagePolicy(SecurityAnnotator.java:186)
| at com.sun.xml.wss.impl.SecurityAnnotator.secureMessage(SecurityAnnotator.java:147)
| at com.sun.xml.wss.jaxws.impl.SecurityTubeBase.secureOutboundMessage(SecurityTubeBase.java:378)
| at com.sun.xml.wss.jaxws.impl.SecurityClientTube.processClientRequestPacket(SecurityClientTube.java:239)
| at com.sun.xml.wss.jaxws.impl.SecurityClientTube.processRequest(SecurityClientTube.java:167)
| at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:598)
| at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:557)
| at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:542)
| at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:439)
| at com.sun.xml.ws.client.Stub.process(Stub.java:222)
| at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:135)
| at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:109)
| at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89)
| at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118)
| at $Proxy335.testGetUserPrincipal(Unknown Source)
| at net.javafreelancer.tutorials.jboss.MutualCertTestClientServlet.processRequest(MutualCertTestClientServlet.java:46)
| at net.javafreelancer.tutorials.jboss.MutualCertTestClientServlet.doGet(MutualCertTestClientServlet.java:65)
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
| 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:601)
| at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
| at java.lang.Thread.run(Thread.java:619)
| Caused by: com.sun.xml.wss.impl.XWSSecurityRuntimeException: javax.xml.bind.JAXBException: class com.sun.xml.ws.security.opt.crypto.dsig.SignedInfo nor any of its super class is known to this context.
| at com.sun.xml.ws.security.opt.crypto.dsig.SignatureProcessor.performRSASign(SignatureProcessor.java:147)
| at com.sun.xml.ws.security.opt.crypto.dsig.Signature.sign(Signature.java:249)
| at com.sun.xml.ws.security.opt.impl.dsig.SignatureProcessor.sign(SignatureProcessor.java:122)
| ... 43 more
| Caused by: javax.xml.bind.JAXBException: class com.sun.xml.ws.security.opt.crypto.dsig.SignedInfo nor any of its super class is known to this context.
| at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:566)
| at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:478)
| at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:325)
| at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:172)
| at com.sun.xml.ws.security.opt.crypto.dsig.SignatureProcessor.performRSASign(SignatureProcessor.java:138)
| ... 45 more
| 2009-04-09 01:11:03,718 ERROR [com.sun.xml.wss.jaxws.impl] (http-127.0.0.1-8080-1) WSSTUBE0024: Error in Securing Outbound Message.
| com.sun.xml.wss.impl.WssSoapFaultException: com.sun.xml.wss.impl.XWSSecurityRuntimeException: javax.xml.bind.JAXBException: class com.sun.xml.ws.security.opt.crypto.dsig.SignedInfo nor any of its super class is known to this context.
| at com.sun.xml.wss.impl.SecurableSoapMessage.newSOAPFaultException(SecurableSoapMessage.java:336)
| at com.sun.xml.wss.jaxws.impl.SecurityTubeBase.secureOutboundMessage(SecurityTubeBase.java:383)
| at com.sun.xml.wss.jaxws.impl.SecurityClientTube.processClientRequestPacket(SecurityClientTube.java:239)
| at com.sun.xml.wss.jaxws.impl.SecurityClientTube.processRequest(SecurityClientTube.java:167)
| at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:598)
| at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:557)
| at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:542)
| at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:439)
| at com.sun.xml.ws.client.Stub.process(Stub.java:222)
| at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:135)
| at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:109)
| at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89)
| at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118)
| at $Proxy335.testGetUserPrincipal(Unknown Source)
| at net.javafreelancer.tutorials.jboss.MutualCertTestClientServlet.processRequest(MutualCertTestClientServlet.java:46)
| at net.javafreelancer.tutorials.jboss.MutualCertTestClientServlet.doGet(MutualCertTestClientServlet.java:65)
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
| 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:601)
| at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
| at java.lang.Thread.run(Thread.java:619)
| Caused by: com.sun.xml.wss.XWSSecurityException: com.sun.xml.wss.impl.XWSSecurityRuntimeException: javax.xml.bind.JAXBException: class com.sun.xml.ws.security.opt.crypto.dsig.SignedInfo nor any of its super class is known to this context.
| at com.sun.xml.ws.security.opt.impl.dsig.SignatureProcessor.sign(SignatureProcessor.java:140)
| at com.sun.xml.wss.impl.filter.SignatureFilter.sign(SignatureFilter.java:544)
| at com.sun.xml.wss.impl.filter.SignatureFilter.process(SignatureFilter.java:506)
| at com.sun.xml.wss.impl.HarnessUtil.processWSSPolicy(HarnessUtil.java:93)
| at com.sun.xml.wss.impl.HarnessUtil.processDeep(HarnessUtil.java:268)
| at com.sun.xml.wss.impl.SecurityAnnotator.processMessagePolicy(SecurityAnnotator.java:186)
| at com.sun.xml.wss.impl.SecurityAnnotator.secureMessage(SecurityAnnotator.java:147)
| at com.sun.xml.wss.jaxws.impl.SecurityTubeBase.secureOutboundMessage(SecurityTubeBase.java:378)
| ... 36 more
| Caused by: com.sun.xml.wss.impl.XWSSecurityRuntimeException: javax.xml.bind.JAXBException: class com.sun.xml.ws.security.opt.crypto.dsig.SignedInfo nor any of its super class is known to this context.
| at com.sun.xml.ws.security.opt.crypto.dsig.SignatureProcessor.performRSASign(SignatureProcessor.java:147)
| at com.sun.xml.ws.security.opt.crypto.dsig.Signature.sign(Signature.java:249)
| at com.sun.xml.ws.security.opt.impl.dsig.SignatureProcessor.sign(SignatureProcessor.java:122)
| ... 43 more
| Caused by: javax.xml.bind.JAXBException: class com.sun.xml.ws.security.opt.crypto.dsig.SignedInfo nor any of its super class is known to this context.
| at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:566)
| at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:478)
| at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:325)
| at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:172)
| at com.sun.xml.ws.security.opt.crypto.dsig.SignatureProcessor.performRSASign(SignatureProcessor.java:138)
| ... 45 more
| 2009-04-09 01:11:03,812 DEBUG [com.sun.xml.ws.api.pipe.Fiber] (http-127.0.0.1-8080-1) engine-JAX-WS RI 2.1.4-b01-: Stub for http://localhost:6060/MutualCertTestApp/MutualCertTestServicefiber-1 completed
| 2009-04-09 01:12:49,609 DEBUG [com.arjuna.ats.arjuna.logging.arjLogger] (Thread-12) Periodic recovery - first pass <Thu, 9 Apr 2009 01:12:49>
| 2009-04-09 01:12:49,609 DEBUG [com.arjuna.ats.arjuna.logging.arjLogger] (Thread-12) StatusModule: first pass
| ...
|
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4224522#4224522
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4224522
15 years, 9 months
[JBossWS-Metro] - RealmAuthenticator is not a valid RealmAuthenticationProvide
by sun-certified
hi forum,
my system: jboss as 5.0.1, sun java 5, metro 3.1.0, net beans 6.5.1, windows xp
i built a jbossws webservice with netbeans 6.5.1. i'm using netbeans in order to leverage it's nifty point-and-click wsit configuration support.
i followed a combination of the jbossws instructions for configuring jbossws' metro wsit implementation, plus the more comprehensive instructions provided by sun for their original implementation of metro. i've been able to successfully configure jbossws for the ws-policy symmetric binding (server cert authn) authn mechanism. but that was done just as a proof of concept. my real requirement is to configure my web service for mutual certificate authentication.
using neatbeans 6.5.1 and glassfish v2.1, i am able to successfully configure mutual cert authn exactly as the instructions explain in the glassfish docs. unfortunately, it's nowhere near that easy when it comes to configuring jbossws's metro implementation. using netbeans as instructed in the glassfish docs does get me part of the way there. but something always goes wrong once the wsit-configured ws is deployed to jboss (for example, jaxb chokes on the
IncludeTimestamp element that netbeans includes by default in the wsit files it generates. as a shortcut, i figured: since i got mutual authn working in glassfish, i should be able to create a service with the same name as the one i have in jboss, configure that glassfish-deployed web service with the asymetric binding for mutual cert authn, then simply copy the netbeans-generated client and service wsit files to my jboss project. however, when i try to run the client against the service to test the mutual authn, i get this inexplicable exception ("Class :org.jboss.test.ws.jaxws.samples.wsse.RealmAuthenticator is not a valid RealmAuthenticationProvider");
as instructed by the jbossws metro docs that RealmAuthenticator class is referenced by a file named com.sun.xml.xwss.RealmAuthenticator which is located in the META-INF/services directory of the war file that is deployed for the web service. that file came from the jbossws metro 3.1.0 source distribution as part of the samples bundled with the distro.
the stack trace does seem to indicate that the wsit runtime has kicked in and it does appear as if it is at least attempting to authenticate the client's cert on the service side. but i am completely stumped as to why jboss's RealmAuthenticationAdapter has determined RealmAuthenticator isn't an instance of RealmAuthenticationAdapter (which it most definately is).
please, can anybody shed any light on what the problem might be?
thanks in advance for your help.
=============================================
/*
| * JBoss, Home of Professional Open Source.
| * Copyright 2006, Red Hat Middleware LLC, and individual contributors
| * as indicated by the @author tags. See the copyright.txt file in the
| * distribution for a full listing of individual contributors.
| *
| * This is free software; you can redistribute it and/or modify it
| * under the terms of the GNU Lesser General Public License as
| * published by the Free Software Foundation; either version 2.1 of
| * the License, or (at your option) any later version.
| *
| * This software is distributed in the hope that it will be useful,
| * but WITHOUT ANY WARRANTY; without even the implied warranty of
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
| * Lesser General Public License for more details.
| *
| * You should have received a copy of the GNU Lesser General Public
| * License along with this software; if not, write to the Free
| * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
| * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
| */
| package org.jboss.test.ws.jaxws.samples.wsse;
|
| import javax.security.auth.Subject;
|
| import com.sun.xml.wss.RealmAuthenticationAdapter;
| import com.sun.xml.wss.XWSSecurityException;
|
| /**
| * A simple realm authenticator showing how to override the WSIT default
| * (which is based on tomcat-users.xml when not running on Glassfish)
| *
| * @author alessio.soldano(a)jboss.com
| * @since 25-Apr-2008
| *
| */
| public class RealmAuthenticator extends RealmAuthenticationAdapter
| {
| @Override
| public boolean authenticate(Subject callerSubject, String username, String password) throws XWSSecurityException
| {
| System.out.println("Custom realm authenticator called: username=" + username + ", password=" + password);
| return (username.equals("kermit") && password.equals("thefrog"));
| }
| }
|
=============================================
...
| 2009-04-07 16:53:52,703 ERROR [com.sun.xml.wss.jaxws.impl] (HDScanner) WSSTUBE0027: Error in configuring Server Security Callback Handler.
| com.sun.xml.wss.impl.XWSSecurityRuntimeException: Class :org.jboss.test.ws.jaxws.samples.wsse.RealmAuthenticator is not a valid RealmAuthenticationProvider
| at com.sun.xml.wss.RealmAuthenticationAdapter.newInstance(RealmAuthenticationAdapter.java:109)
| at com.sun.xml.wss.jaxws.impl.SecurityServerTube.getRealmAuthenticationAdapter(SecurityServerTube.java:767)
| at com.sun.xml.wss.jaxws.impl.SecurityServerTube.configureServerHandler(SecurityServerTube.java:733)
| at com.sun.xml.wss.jaxws.impl.SecurityServerTube.<init>(SecurityServerTube.java:150)
| at com.sun.xml.wss.provider.wsit.SecurityTubeAppender.appendTube(SecurityTubeAppender.java:129)
| at com.sun.xml.ws.assembler.TubelineAssemblerFactoryImpl$WsitTubelineAssembler.createServer(TubelineAssemblerFactoryImpl.java:101)
| at com.sun.xml.ws.server.WSEndpointImpl.<init>(WSEndpointImpl.java:152)
| at com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:217)
| at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:467)
| at org.jboss.wsf.stack.metro.DeploymentDescriptorParserExt.parseAdapters(DeploymentDescriptorParserExt.java:295)
| at org.jboss.wsf.stack.metro.DeploymentDescriptorParserExt.parse(DeploymentDescriptorParserExt.java:171)
| at org.jboss.wsf.stack.metro.metadata.RuntimeModelDeploymentAspect.start(RuntimeModelDeploymentAspect.java:109)
| at org.jboss.wsf.framework.deployment.DeploymentAspectManagerImpl.deploy(DeploymentAspectManagerImpl.java:129)
| at org.jboss.wsf.container.jboss50.deployer.ArchiveDeployerHook.deploy(ArchiveDeployerHook.java:75)
| at org.jboss.wsf.container.jboss50.deployer.AbstractWebServiceDeployer.internalDeploy(AbstractWebServiceDeployer.java:60)
| at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
| at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
| at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
| at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
| at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
| at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:698)
| at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:290)
| at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:221)
| at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
| at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:280)
| at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:135)
| at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:65)
| at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:142)
| at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:166)
| at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
| at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
| at java.lang.Thread.run(Thread.java:595)
| 2009-04-07 16:53:53,140 ERROR [com.sun.xml.wss.jaxws.impl] (HDScanner) WSSTUBE0028: Error in creating new instance of SecurityServerTube
| java.lang.RuntimeException: WSSTUBE0027: Error in configuring Server Security Callback Handler.
| at com.sun.xml.wss.jaxws.impl.SecurityServerTube.configureServerHandler(SecurityServerTube.java:739)
| at com.sun.xml.wss.jaxws.impl.SecurityServerTube.<init>(SecurityServerTube.java:150)
| at com.sun.xml.wss.provider.wsit.SecurityTubeAppender.appendTube(SecurityTubeAppender.java:129)
| at com.sun.xml.ws.assembler.TubelineAssemblerFactoryImpl$WsitTubelineAssembler.createServer(TubelineAssemblerFactoryImpl.java:101)
| at com.sun.xml.ws.server.WSEndpointImpl.<init>(WSEndpointImpl.java:152)
| at com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:217)
| at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:467)
| at org.jboss.wsf.stack.metro.DeploymentDescriptorParserExt.parseAdapters(DeploymentDescriptorParserExt.java:295)
| at org.jboss.wsf.stack.metro.DeploymentDescriptorParserExt.parse(DeploymentDescriptorParserExt.java:171)
| at org.jboss.wsf.stack.metro.metadata.RuntimeModelDeploymentAspect.start(RuntimeModelDeploymentAspect.java:109)
| at org.jboss.wsf.framework.deployment.DeploymentAspectManagerImpl.deploy(DeploymentAspectManagerImpl.java:129)
| at org.jboss.wsf.container.jboss50.deployer.ArchiveDeployerHook.deploy(ArchiveDeployerHook.java:75)
| at org.jboss.wsf.container.jboss50.deployer.AbstractWebServiceDeployer.internalDeploy(AbstractWebServiceDeployer.java:60)
| at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
| at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
| at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
| at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
| at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
| at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:698)
| at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:290)
| at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:221)
| at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
| at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:280)
| at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:135)
| at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:65)
| at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:142)
| at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:166)
| at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
| at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
| at java.lang.Thread.run(Thread.java:595)
| Caused by: com.sun.xml.wss.impl.XWSSecurityRuntimeException: Class :org.jboss.test.ws.jaxws.samples.wsse.RealmAuthenticator is not a valid RealmAuthenticationProvider
| at com.sun.xml.wss.RealmAuthenticationAdapter.newInstance(RealmAuthenticationAdapter.java:109)
| at com.sun.xml.wss.jaxws.impl.SecurityServerTube.getRealmAuthenticationAdapter(SecurityServerTube.java:767)
| at com.sun.xml.wss.jaxws.impl.SecurityServerTube.configureServerHandler(SecurityServerTube.java:733)
| ... 37 more
| 2009-04-07 16:53:53,140 DEBUG [org.jboss.wsf.framework.deployment.DeploymentAspectManagerImpl] (HDScanner) RuntimeModelDeploymentAspect:Destroy
| 2009-04-07 16:53:53,140 DEBUG [org.jboss.wsf.framework.deployment.DeploymentAspectManagerImpl] (HDScanner) RuntimeModelDeploymentAspect:Destroy
| 2009-04-07 16:53:53,140 DEBUG [org.jboss.wsf.container.jboss50.deployer.WebServiceDeployerPostJSE] (HDScanner) Error during deploy: vfszip:/C:/development/jboss-5.0.1.GA/server/default/deploy/MutualCertTestApp.war/
| javax.xml.ws.WebServiceException: Failed to build METRO runtime model
| at org.jboss.wsf.stack.metro.metadata.RuntimeModelDeploymentAspect.start(RuntimeModelDeploymentAspect.java:133)
| at org.jboss.wsf.framework.deployment.DeploymentAspectManagerImpl.deploy(DeploymentAspectManagerImpl.java:129)
| at org.jboss.wsf.container.jboss50.deployer.ArchiveDeployerHook.deploy(ArchiveDeployerHook.java:75)
| at org.jboss.wsf.container.jboss50.deployer.AbstractWebServiceDeployer.internalDeploy(AbstractWebServiceDeployer.java:60)
| at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
| at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
| at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
| at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
| at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
| at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:698)
| at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:290)
| at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:221)
| at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
| at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:280)
| at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:135)
| at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:65)
| at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:142)
| at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:166)
| at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
| at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
| at java.lang.Thread.run(Thread.java:595)
| Caused by: java.lang.RuntimeException: WSSTUBE0028: Error in creating new instance of SecurityServerTube
| at com.sun.xml.wss.jaxws.impl.SecurityServerTube.<init>(SecurityServerTube.java:155)
| at com.sun.xml.wss.provider.wsit.SecurityTubeAppender.appendTube(SecurityTubeAppender.java:129)
| at com.sun.xml.ws.assembler.TubelineAssemblerFactoryImpl$WsitTubelineAssembler.createServer(TubelineAssemblerFactoryImpl.java:101)
| at com.sun.xml.ws.server.WSEndpointImpl.<init>(WSEndpointImpl.java:152)
| at com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:217)
| at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:467)
| at org.jboss.wsf.stack.metro.DeploymentDescriptorParserExt.parseAdapters(DeploymentDescriptorParserExt.java:295)
| at org.jboss.wsf.stack.metro.DeploymentDescriptorParserExt.parse(DeploymentDescriptorParserExt.java:171)
| at org.jboss.wsf.stack.metro.metadata.RuntimeModelDeploymentAspect.start(RuntimeModelDeploymentAspect.java:109)
| ... 28 more
| Caused by: java.lang.RuntimeException: WSSTUBE0027: Error in configuring Server Security Callback Handler.
| at com.sun.xml.wss.jaxws.impl.SecurityServerTube.configureServerHandler(SecurityServerTube.java:739)
| at com.sun.xml.wss.jaxws.impl.SecurityServerTube.<init>(SecurityServerTube.java:150)
| ... 36 more
| Caused by: com.sun.xml.wss.impl.XWSSecurityRuntimeException: Class :org.jboss.test.ws.jaxws.samples.wsse.RealmAuthenticator is not a valid RealmAuthenticationProvider
| at com.sun.xml.wss.RealmAuthenticationAdapter.newInstance(RealmAuthenticationAdapter.java:109)
| at com.sun.xml.wss.jaxws.impl.SecurityServerTube.getRealmAuthenticationAdapter(SecurityServerTube.java:767)
| at com.sun.xml.wss.jaxws.impl.SecurityServerTube.configureServerHandler(SecurityServerTube.java:733)
| ... 37 more
| [/url]
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4224200#4224200
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4224200
15 years, 9 months