Hello,
I have some problems using ws-security.
My WS runs correctly without wssecurity, but when I activate it I get an strange
server-side NullPointerException.
My config is :
- jboss 4.0.5.GA EJB3 config
- jbossws-1.2.0.GA
- jdk 1.5_08
This is what we get in the server log from the server start up until the exception.
|
| 2007-03-19 22:21:38,895 INFO [org.jboss.system.server.Server] JBoss (MX MicroKernel)
[4.0.5.GA (build: CVSTag=Branch_4_0 date=200610162339)] Started in 48s:327ms
| 2007-03-19 22:29:00,239 DEBUG [org.jboss.resource.connectionmanager.IdleRemover] run:
IdleRemover notifying pools, interval: 450000
| 2007-03-19 22:29:01,749 DEBUG [org.jboss.ws.core.server.ServiceEndpoint] WSDL request,
using host: chaponniere-linux
| 2007-03-19 22:29:01,791 DEBUG [org.jboss.ws.core.server.ServiceEndpoint] WSDL request,
using host: chaponniere-linux
| 2007-03-19 22:29:05,181 DEBUG
[org.jboss.ws.core.server.AbstractServiceEndpointServlet] doPost:
/procedures-beans/PstProcedureManager
| 2007-03-19 22:29:05,189 DEBUG [org.jboss.ws.core.soap.MessageContextAssociation]
pushMessageContext: org.jboss.ws.core.jaxws.handler.SOAPMessageContextJAXWS@1757322
(Thread http-0.0.0.0-8080-1)
| 2007-03-19 22:29:05,190 DEBUG [org.jboss.ws.core.server.ServiceEndpoint] BEGIN
handleRequest: jboss.ws:context=procedures-beans,endpoint=PstProcedureManager
| 2007-03-19 22:29:05,220 DEBUG [org.jboss.ws.core.soap.MessageFactoryImpl]
createMessage: [contentType=text/xml; charset=UTF-8]
| 2007-03-19 22:29:05,245 DEBUG [javax.xml.soap.FactoryLoader] Load from Service API
META-INF/services/javax.xml.soap.SOAPFactory: org.jboss.ws.core.soap.SOAPFactoryImpl
| 2007-03-19 22:29:05,245 DEBUG [org.jboss.mx.loading.RepositoryClassLoader]
setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@12c4d8f,
cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@c6948c{ url=null
,addedOrder=0}
| 2007-03-19 22:29:05,265 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerDelegateJAXWS]
callRequestHandlerChain: PRE
| 2007-03-19 22:29:05,266 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerResolverImpl]
initHandlerChain: PRE
| 2007-03-19 22:29:05,266 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerResolverImpl]
Clear handler map: {}
| 2007-03-19 22:29:05,268 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerResolverImpl]
addHandler:
[
service=null,port=null,binding=http://schemas.xmlsoap.org/wsdl/soap/http]...
Handler
| 2007-03-19 22:29:05,268 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerResolverImpl]
initHandlerChain: ENDPOINT
| 2007-03-19 22:29:05,268 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerResolverImpl]
Clear handler map: {}
| 2007-03-19 22:29:05,268 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerResolverImpl]
initHandlerChain: POST
| 2007-03-19 22:29:05,268 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerResolverImpl]
Clear handler map: {}
| 2007-03-19 22:29:05,268 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerResolverImpl]
getHandlerChain:
[
type=PRE,info=[service={http://procedure.procedures/}PstProcedureManagerS...]
| 2007-03-19 22:29:05,268 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerResolverImpl]
add protocol handlers: [WSSecurity Handler]
| 2007-03-19 22:29:05,274 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerChainExecutor]
Create a handler executor: [WSSecurity Handler]
| 2007-03-19 22:29:05,274 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerChainExecutor]
Enter: handleRequest
| 2007-03-19 22:29:05,279 DEBUG [org.jboss.ws.core.soap.SOAPMessageDispatcher]
getDispatchDestination: null
| 2007-03-19 22:29:05,279 ERROR [org.jboss.ws.core.jaxws.handler.HandlerChainExecutor]
Exception during handler processing
| java.lang.NullPointerException
| at
org.jboss.ws.extensions.security.WSSecurityDispatcher.handleInbound(WSSecurityDispatcher.java:130)
| at
org.jboss.ws.extensions.security.jaxws.WSSecurityHandler.handleInboundSecurity(WSSecurityHandler.java:59)
| 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:276)
| at
org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleRequest(HandlerChainExecutor.java:112)
| at
org.jboss.ws.core.jaxws.handler.HandlerDelegateJAXWS.callRequestHandlerChain(HandlerDelegateJAXWS.java:65)
| at
org.jboss.ws.core.server.AbstractServiceEndpointInvoker.callRequestHandlerChain(AbstractServiceEndpointInvoker.java:106)
| at
org.jboss.ws.core.server.AbstractServiceEndpointInvoker.invoke(AbstractServiceEndpointInvoker.java:140)
| at org.jboss.ws.core.server.ServiceEndpoint.handleRequest(ServiceEndpoint.java:204)
| at
org.jboss.ws.core.server.ServiceEndpointManager.processSOAPRequest(ServiceEndpointManager.java:440)
| at
org.jboss.ws.core.server.AbstractServiceEndpointServlet.doPost(AbstractServiceEndpointServlet.java:114)
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
| at
org.jboss.ws.core.server.AbstractServiceEndpointServlet.service(AbstractServiceEndpointServlet.java:75)
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
| at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
| at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
| at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
| at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
| at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
| at
org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
| at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
| at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
| at
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
| at java.lang.Thread.run(Thread.java:595)
| 2007-03-19 22:29:05,280 DEBUG [org.jboss.ws.core.jaxws.handler.HandlerChainExecutor]
Exit: handleRequest with status: false
| 2007-03-19 22:29:05,282 ERROR [org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS] SOAP
request exception
| javax.xml.ws.WebServiceException: java.lang.NullPointerException
| at
org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.processHandlerFailure(HandlerChainExecutor.java:262)
| at
org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleRequest(HandlerChainExecutor.java:124)
| at
org.jboss.ws.core.jaxws.handler.HandlerDelegateJAXWS.callRequestHandlerChain(HandlerDelegateJAXWS.java:65)
| at
org.jboss.ws.core.server.AbstractServiceEndpointInvoker.callRequestHandlerChain(AbstractServiceEndpointInvoker.java:106)
| at
org.jboss.ws.core.server.AbstractServiceEndpointInvoker.invoke(AbstractServiceEndpointInvoker.java:140)
| at org.jboss.ws.core.server.ServiceEndpoint.handleRequest(ServiceEndpoint.java:204)
| at
org.jboss.ws.core.server.ServiceEndpointManager.processSOAPRequest(ServiceEndpointManager.java:440)
| at
org.jboss.ws.core.server.AbstractServiceEndpointServlet.doPost(AbstractServiceEndpointServlet.java:114)
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
| at
org.jboss.ws.core.server.AbstractServiceEndpointServlet.service(AbstractServiceEndpointServlet.java:75)
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
| at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
| at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
| at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
| at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
| at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
| at
org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
| at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
| at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
| at
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
| at java.lang.Thread.run(Thread.java:595)
| Caused by: java.lang.NullPointerException
| at
org.jboss.ws.extensions.security.WSSecurityDispatcher.handleInbound(WSSecurityDispatcher.java:130)
| at
org.jboss.ws.extensions.security.jaxws.WSSecurityHandler.handleInboundSecurity(WSSecurityHandler.java:59)
| 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:276)
| at
org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleRequest(HandlerChainExecutor.java:112)
| ... 28 more
|
|
My client-side code
|
| wsdlURL = new
URL("http://chaponniere-linux:8080/procedures-beans/PstProcedureManager?wsdl");
| URL securityURL = new File("jboss-wsse-client.xml").toURL();
| QName serviceName = new QName("http://procedure.procedures/",
"PstProcedureManagerService");
|
| Service service = Service.create(wsdlURL, serviceName);
| ((ServiceExt)service).setSecurityConfig(securityURL.toExternalForm());
|
| PstProcedureManager port =
(PstProcedureManager)service.getPort(PstProcedureManager.class);
| //Hello port = (Hello)service.getPort(Hello.class);
| ((StubExt)port).setConfigName("Standard WSSecurity Client");
|
|
| Map<String, Object> reqContext =
((BindingProvider)port).getRequestContext();
| //reqContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
"http://localhost:8080/jaxws-samples-wssecurity-encrypt");
| reqContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
"http://chaponniere-linux:8080/procedures-beans/PstProcedureManager?wsdl");
|
| String procedureNumber = port.getProcedure(1).getNumber();
| System.out.println(procedureNumber);
|
|
And finally my WS.
|
| @WebService
| @EndpointConfig(configName = "Standard WSSecurity Endpoint")
| public class PstProcedureManager implements PstProcedureInterface {
|
| @PersistenceContext
| protected EntityManager em;
|
| @WebMethod
| public PstProcedureBean getProcedure(int pId) {
| Collection procedureCol =
| em.createQuery("from PstProcedureBean procedureBean where procedureBean.id
= :id")
| .setParameter ("id", pId)
| .getResultList();
|
|
| return (PstProcedureBean)procedureCol.iterator().next();
| }
| }
|
|
I cannot see where the problem might come from and I would greatly appreciate your help
with this issue.
Thanks in advance
M.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4029524#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...