使用BPM 11G的Jdeveloper中的令牌无效

时间:2014-12-01 12:28:30

标签: java soa jdeveloper bpm

我正在使用Oracle BPM 11G(11.1.1.7)和Jdeveloper。

创建BPM MDS时,我遇到了以下错误,我的数据库和我的SOA-MDS正在为连接工作。

仅当我尝试创建BPM-MDS错误时

Test Failed: ORABPEL-30503
Invalid Token Error in Verification Service.
Invalid Token Error in Verification Service. Received invalid token in null.
Verify that correct token is passed.

   at oracle.bpel.services.workflow.verification.impl.VerificationService.validateContextToken(VerificationService.java:1769)
        at oracle.bpel.services.workflow.verification.impl.VerificationService.validateContext(VerificationService.java:1662)
        at oracle.bpel.services.workflow.verification.impl.VerificationService.validateContext(VerificationService.java:1969)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
        at oracle.bpel.services.workflow.common.WorkflowServiceCacheEventAdvice.invoke(WorkflowServiceCacheEventAdvice.java:91)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
        at $Proxy243.validateContext(Unknown Source)
        at oracle.bpm.services.pml.impl.SecurityService.validateContext(SecurityService.java:237)
        at oracle.bpm.services.pml.impl.SecurityService.getSecurityService(SecurityService.java:247)
        at oracle.bpm.services.pml.impl.SecurityService.getPrincipal(SecurityService.java:109)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
        at oracle.bpel.services.workflow.common.WorkflowServiceCacheEventAdvice.invoke(WorkflowServiceCacheEventAdvice.java:91)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
        at $Proxy270.getPrincipal(Unknown Source)
        at oracle.bpm.services.pml.ejb.SecurityServiceBean.getPrincipal(SecurityServiceBean.java:71)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
        at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
        at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
        at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
        at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
        at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at com.oracle.pitchfork.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:34)
        at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
        at com.oracle.pitchfork.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:42)
        at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
        at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
        at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
        at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
        at $Proxy269.getPrincipal(Unknown Source)
        at oracle.bpm.services.pml.ejb.SecurityServiceBean_z7zjfk_ISecurityServiceRemoteImpl.__WL_invoke(Unknown Source)
        at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40)
        at oracle.bpm.services.pml.ejb.SecurityServiceBean_z7zjfk_ISecurityServiceRemoteImpl.getPrincipal(Unknown Source)
        at oracle.bpm.services.pml.ejb.SecurityServiceBean_z7zjfk_ISecurityServiceRemoteImpl_WLSkel.invoke(Unknown Source)
        at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667)
        at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
        at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
        at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)
        at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
Caused By: java.lang.Exception: Null token
        at oracle.bpel.services.workflow.verification.impl.VerificationService.validateContextToken(VerificationService.java:1769)
        at oracle.bpel.services.workflow.verification.impl.VerificationService.validateContext(VerificationService.java:1662)
        at oracle.bpel.services.workflow.verification.impl.VerificationService.validateContext(VerificationService.java:1969)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
        at oracle.bpel.services.workflow.common.WorkflowServiceCacheEventAdvice.invoke(WorkflowServiceCacheEventAdvice.java:91)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
        at $Proxy243.validateContext(Unknown Source)
        at oracle.bpm.services.pml.impl.SecurityService.validateContext(SecurityService.java:237)
        at oracle.bpm.services.pml.impl.SecurityService.getSecurityService(SecurityService.java:247)
        at oracle.bpm.services.pml.impl.SecurityService.getPrincipal(SecurityService.java:109)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
        at oracle.bpel.services.workflow.common.WorkflowServiceCacheEventAdvice.invoke(WorkflowServiceCacheEventAdvice.java:91)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
        at $Proxy270.getPrincipal(Unknown Source)
        at oracle.bpm.services.pml.ejb.SecurityServiceBean.getPrincipal(SecurityServiceBean.java:71)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
        at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
        at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
        at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
        at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
        at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at com.oracle.pitchfork.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:34)
        at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
        at com.oracle.pitchfork.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:42)
        at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
        at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
        at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
        at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
        at $Proxy269.getPrincipal(Unknown Source)
        at oracle.bpm.services.pml.ejb.SecurityServiceBean_z7zjfk_ISecurityServiceRemoteImpl.__WL_invoke(Unknown Source)
        at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40)
        at oracle.bpm.services.pml.ejb.SecurityServiceBean_z7zjfk_ISecurityServiceRemoteImpl.getPrincipal(Unknown Source)
        at oracle.bpm.services.pml.ejb.SecurityServiceBean_z7zjfk_ISecurityServiceRemoteImpl_WLSkel.invoke(Unknown Source)
        at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667)
        at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
        at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
        at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)
        at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)

有人可以帮助我,我很难找到解决这个问题的方法!!

2 个答案:

答案 0 :(得分:0)

这已经解决了。我最终为TaskService生成了自己的Web服务代理服务,而不是使用与jDeveloper捆绑的服务。老实说,由于时间的限制,我没有机会找到这个错误的确切根本原因。生成此Web服务代理/存根后,我将其捆绑为共享的webapp库,我的自定义工作列表portlet引用此库。这对我有用。

我使用此WSDL生成代理类,然后使用生成的类/方法查询任务数据。

http://soa_host:soa_port/integration/services/TaskQueryService/TaskQueryService?wsdl

此外,稍后将原始案例转发,我还能够通过使用RMI / EBJ提供程序(t3:// :)而不是SOAP绑定(http:// :)来解决令牌问题。

这是我的代码:

String serverUrl ="t3://soa_server:soa_port"; // host:Port of the soa server
Map<IWorkflowServiceClientConstants.CONNECTION_PROPERTY, String> connProperties = new HashMap<IWorkflowServiceClientConstants.CONNECTION_PROPERTY, String>(); 
connProperties.put(IWorkflowServiceClientConstants.CONNECTION_PROPERTY.CLIENT_TYPE,WorkflowServiceClientFactory.REMOTE_CLIENT); 
connProperties.put(IWorkflowServiceClientConstants.CONNECTION_PROPERTY.EJB_PROVIDER_URL,serverUrl);
connProperties.put(IWorkflowServiceClientConstants.CONNECTION_PROPERTY.EJB_INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
IWorkflowServiceClient wfSvcClient = WorkflowServiceClientFactory.getWorkflowServiceClient(connProperties, null, null);
ITaskQueryService querySvc = wfSvcClient.getTaskQueryService();
IWorkflowContext adminCtx = wfSvcClient.getTaskQueryService().authenticate(adminID, adminPass.toCharArray(), "jazn.com" );
IWorkflowContext userCtx =   querySvc.authenticateOnBehalfOf(adminCtx, userID);
List displayColumns = new ArrayList();
displayColumns.add("TASKNUMBER");
displayColumns.add("TITLE");
displayColumns.add("STATE");
displayColumns.add("CREATOR");
List optionalInfo = new ArrayList();
optionalInfo.add("Comments");
optionalInfo.add("Payload");
tasks=querySvc.queryTasks(userCtx, null, null, ITaskQueryService.AssignmentFilter.MY,null, null, null, 0, 0);

这将返回分配给用户的任务列表,该用户的ID将发送到上面的authenticateOnBehalfOf()方法调用。

我希望这会有所帮助。

答案 1 :(得分:0)

Oracle支持文档的解决方案为我解决了这个问题。总之,服务器和jdev之间的jar不匹配导致了这个问题。

=============================================== ==========================

您无法成功获取BPM上下文。检索上下文时不会有异常,但在尝试使用它时,您会看到异常: BPM-70684

异常 exception.70684.type:错误 exception.70684.severity:2 exception.70684.name:无效的身份验证上下文。 exception.70684.description:已传递无效的身份验证上下文。 exception.70684.fix:确保传递有效的身份验证上下文。

已知以下异常与同一问题相关: 引起:java.lang.NullPointerException 在oracle.bpel.services.workflow.verification.impl.WorkflowContext.hashCode(WorkflowContext.java:583) 在java.util.HashMap.get(HashMap.java:300) at oracle.bpel.services.workflow.common.ThreadLocalCache.isContextValidated(ThreadLocalCache.java:146) at oracle.bpel.services.workflow.verification.impl.VerificationService.validateNotNullWorkflowContext(VerificationService.java:1824) at oracle.bpel.services.workflow.verification.impl.VerificationService.validateContext(VerificationService.java:1806)

使用adminContext代表用户weblogic进行身份验证时出错[user = null] [sessionKey = null] [token = null] [requester = null] [objectId = null]     &LT;&LT;。&GT;验证服务无法解析用户身份。 在身份库中找不到用户null。 工作流上下文令牌在请求中不能为空。

ORABPEL-30511

验证服务无法解析用户身份。 在身份库中找不到用户null。 工作流上下文令牌在请求中不能为空。

at oracle.bpel.services.workflow.verification.impl.LocalCacheManager.lookupUser(LocalCacheManager.java:600)

引起:ORABPEL-10501

非法论证。 非法论证。 这是因为一个意外的值(可能为null)作为参数传递。检查错误堆栈并确定错误原因。如果无法修复错误,请与Oracle支持服务联系。

at oracle.tip.pc.services.identity.jps.AuthorizationServiceImpl.lookupUser(AuthorizationServiceImpl.java:236) at oracle.tip.pc.services.identity.jps.IdentityServiceImpl.lookupUser(IdentityServiceImpl.java:183) 在oracle.bpel.services.workflow.verification.impl.LocalCacheManager.lookupUser(LocalCacheManager.java:596)

我们正在ADF应用程序中嵌入BPM任务流列表。它给出以下错误 infra]&lt;。&gt;验证服务中的令牌错误无效。[[ 验证服务中的令牌错误无效。在null中收到无效令牌。 验证是否传递了正确的令牌。 ORABPEL-30503

此外,如果您从上下文中记录用户名,您将注意到它为空。 原因

客户端应用程序和服务器上的bpm-services.jar可能不匹配。客户端和服务器上使用的SOA / BPM相关的jar必须相同,否则可能会出现意外问题。

解决方案

  1. 从服务器
  2. 复制bpm-services.jar
  3. 将客户端应用程序上的bpm-services.jar替换为服务器
  4. 中的bpm-services.jar
  5. 确保在应用任何修补程序后,在客户端应用程序中替换服务器上的jar。
  6. 这也适用于在JDeveloper中使用jar,由于未在dev和server计算机上应用补丁,这些jar可能会变得不同步。您可能需要将位于此处的bpm-services.jar替换为位于此处的jDeveloper / soa / modules / oracle.soa.workflow_11.1.1 / bpm-services.jar [soa_install_dir] /soa/modules/oracle.soa.workflow_11 .1.1 / BPM-services.jar。