我正在测试我的 web 服务客户端代码,该代码使用一个也需要 ws-security 身份验证的soap web 服务。我使用了 apache cxf 2.3.0、wss4j 1.5.9、apache-cxf-rt-security 2.3.0 罐子。但是,当我的代码部署在 jboss-5.1.0 GA 中时,我遇到了以下异常。当我在码头服务器上测试它时,它工作正常。非常感谢任何帮助。
下面的堆栈跟踪
org.jboss.util.NotImplementedException at org.jboss.ws.core.soap.SOAPPartImpl.appendChild(SOAPPartImpl.java:298) at org.apache.cxf.staxutils.W3CDOMStreamWriter.setChild(W3CDOMStreamWriter.java:114) at org. apache.cxf.staxutils.W3CDOMStreamWriter.newChild(W3CDOMStreamWriter.java:104) 在 org.apache.cxf.staxutils.W3CDOMStreamWriter.writeStartElement(W3CDOMStreamWriter.java:132) 在 org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor。 writeSoapEnvelopeStart(SoapOutInterceptor.java:122) at org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessage(SoapOutInterceptor.java:81) at org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessage(SoapOutInterceptor.handleMessage(SoapOutInterceptor.java:81) java:61)在 org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:247)在 org.apache。cxf.endpoint.ClientImpl.invoke(ClientImpl.java:516) 在 org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313) 在 org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java: 265) 在 org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) 在 org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124) 在 $Proxy328.documentVerificatieSystem(Unknown Source) 在com.experian.nextgen.nl.services.reporting.helper.RDCWebserviceHelper.getRDCResult(RDCWebserviceHelper.java:159) 在 com.experian.nextgen.nl.facades.impl.RDCWSFacadeService.invoke(RDCWSFacadeService.java:57) 在 com。 experian.nextgen.nl.services.jbpm.tasks.ThirdPartyRDCSearchTask.invoke(ThirdPartyRDCSearchTask.java:70) 在 com.experian.nextgen.core.services.jbpm.tasks.NGAbstractJbpmTask.execute(NGAbstractJbpmTask.java:129) at org.jbpm.pvm.internal.wire.usercode.UserCodeActivityBehaviour.execute(UserCodeActivityBehaviour.java:42) at org.jbpm.pvm.internal.model.op.ExecuteActivity.perform(ExecuteActivity.java:60)在 org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperationSync(ExecutionImpl.java:672) 在 org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperation(ExecutionImpl.java:632) 在 org.jbpm.pvm.internal .model.ExecutionImpl.start(ExecutionImpl.java:217) 在 org.jbpm.pvm.internal.cmd.StartProcessInstanceInLatestCmd.execute(StartProcessInstanceInLatestCmd.java:63) 在 org.jbpm.pvm.internal.cmd.StartProcessInstanceInLatestCmd.execute(StartProcessInstanceInLatestCmd .java:36) 在 org.jbpm.pvm.internal.tx 的 org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42)。StandardTransactionInterceptor.execute(StandardTransactionInterceptor.java:50) at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53) at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java: 40) 在 org.jbpm.pvm.internal.svc.SkipInterceptor.execute(SkipInterceptor.java:43) 在 org.jbpm.pvm 的 org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:56) .internal.svc.ExecutionServiceImpl.startProcessInstanceByKey(ExecutionServiceImpl.java:71) at com.experian.nextgen.core.services.jbpm.impl.NGGenericJbpmServiceImpl.run(NGGenericJbpmServiceImpl.java:71) at com.experian.nextgen.nl.services .eidcheck.impl.EidCheckService.getEidCheckReport(EidCheckService.java:42) 在 com.experian.nextgen.nl.services.webservices。autotrace.impl.AutoTraceWSImpl.getEidCheckReport(AutoTraceWSImpl.java:951) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:173) 在 org.apache.cxf .service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:89) 在 org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:60) 在 org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker .java:75) 在 org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58) 在 java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 在 java.util.concurrent.FutureTask.run 的 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) (FutureTask.java:138) 在 org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106) 在 org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)。 cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:247) 在 org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:113) 在 org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination. java:97) 在 org.apache.cxf 的 org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:458)。transport.servlet.ServletController.invoke(ServletController.java:185) at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:148) at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest( AbstractHTTPServlet.java:179) at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:103) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at org.apache.cxf .transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java :206) 在 org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve. java:235) 在 org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190) 在 org.jboss.web 的 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) .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) 在 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) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) 在 org.apache.coyote.http11.Http11Processor 的 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598) 中的 .process(Http11Processor.java:829) org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java :447) 在 java.lang.Thread.run(Thread.java:619)在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 的 org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) 调用(ErrorReportValve.java:102)在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) 在 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) 在 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler .process(Http11Protocol.java:598) 在 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 在 java.lang.Thread.run(Thread.java:619)在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 的 org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) 调用(ErrorReportValve.java:102)在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) 在 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) 在 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler .process(Http11Protocol.java:598) 在 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 在 java.lang.Thread.run(Thread.java:619)catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol. java:598) 在 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 在 java.lang.Thread.run(Thread.java:619)catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol. java:598) 在 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 在 java.lang.Thread.run(Thread.java:619)