0

我正在尝试从 Spring 集成中侦听来自远程 weblogic JMS 队列的消息,在 Web 应用程序中,此 Spring Integration Web 应用程序也部署到本地 Weblogic 服务器中。

我的 applicationContext.xml 文件中有以下配置。

<int:channel id="responseChannel" />
    <!--A default JMS message listener -->
    <int-jms:outbound-channel-adapter id="weblogicJMSQueueAdapterId"    destination="weblogicJMSQueue" channel="responseChannel"
        connection-factory="connectionFactoryJNDI" />

    <bean id="replyListener" class="com.etisalat.cit.oss.sff.lwm.listener.ReplyListener" />
    <int:service-activator input-channel="responseChannel" ref="replyListener" method="replyProcessor"/>    


<jee:jndi-lookup id="connectionFactoryJNDI"
        jndi-name="weblogic.jms.MessageDrivenBeanConnectionFactory">
        <jee:environment>
            java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
            java.naming.provider.url=t3://ip:port
            java.naming.security.principal=remote_user            java.naming.security.credentials=remote_password           
        </jee:environment>
</jee:jndi-lookup>

<jee:jndi-lookup id="weblogicJMSQueue"
        jndi-name="weblogicJMSQueueName">
        <jee:environment>
            java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
            java.naming.provider.url=t3://ip:port
            java.naming.security.principal=remote_user      
        java.naming.security.credentials=remote_password 
        </jee:environment>
</jee:jndi-lookup>

我从 Spring Intergration errorChannel 收到以下错误,有人可以建议如何解决此错误。

inside ChannelException :: error occurred in message handler [org.springframework.integration.jms.JmsSendingMessageHandler#0] 
org.springframework.integration.MessageHandlingException: error occurred in message handler [org.springframework.integration.jms.JmsSendingMessageHandler#0] 
at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:79) 
at org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:115) 
at org.springframework.integration.dispatcher.UnicastingDispatcher.dispatch(UnicastingDispatcher.java:102) 
at org.springframework.integration.channel.AbstractSubscribableChannel.doSend(AbstractSubscribableChannel.java:77) 
at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:157) 
at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:128) 
at org.springframework.integration.core.MessagingTemplate.doSend(MessagingTemplate.java:288) 
at org.springframework.integration.core.MessagingTemplate.send(MessagingTemplate.java:149) 
at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.sendMessage(AbstractReplyProducingMessageHandler.java:216) 
at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.sendReplyMessage(AbstractReplyProducingMessageHandler.java:200) 
at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleResult(AbstractReplyProducingMessageHandler.java:159) 
at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleMessageInternal(AbstractReplyProducingMessageHandler.java:141) 
at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:73) 
at org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:115) 
at org.springframework.integration.dispatcher.UnicastingDispatcher.dispatch(UnicastingDispatcher.java:102) 
at org.springframework.integration.channel.AbstractSubscribableChannel.doSend(AbstractSubscribableChannel.java:77) 
at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:157) 
at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:128) 
at org.springframework.integration.core.MessagingTemplate.doSend(MessagingTemplate.java:288) 
at org.springframework.integration.core.MessagingTemplate.send(MessagingTemplate.java:149) 
at org.springframework.integration.router.AbstractMessageRouter.handleMessageInternal(AbstractMessageRouter.java:134) 
at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:73) 
at org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:115) 
at org.springframework.integration.handler.MessageHandlerChain$1.send(MessageHandlerChain.java:154) 
at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.produceReply(AbstractReplyProducingMessageHandler.java:165) 
at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleResult(AbstractReplyProducingMessageHandler.java:159) 
at org.springframework.integration.core.MessagingTemplate.doSend(MessagingTemplate.java:288) 
at org.springframework.integration.core.MessagingTemplate.send(MessagingTemplate.java:149) 
at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.sendMessage(AbstractReplyProducingMessageHandler.java:216) 
at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.sendReplyMessage(AbstractReplyProducingMessageHandler.java:200) 
at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.sendReplyMessage(AbstractReplyProducingMessageHandler.java:200) 
at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.produceReply(AbstractReplyProducingMessageHandler.java:165) 
at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleResult(AbstractReplyProducingMessageHandler.java:159) 
at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:73) 
at org.springframework.integration.dispatcher.UnicastingDispatcher.dispatch(UnicastingDispatcher.java:102) 
at org.springframework.integration.core.MessagingTemplate.send(MessagingTemplate.java:149) 
at org.springframework.integration.handler.MessageHandlerChain$ReplyForwardingMessageChannel.send(MessageHandlerChain.java:299) 
at org.springframework.integration.handler.MessageHandlerChain$ReplyForwardingMessageChannel.send(MessageHandlerChain.java:306) 
at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:157) 
at org.springframework.integration.channel.AbstractSubscribableChannel.doSend(AbstractSubscribableChannel.java:77) 
at org.springframework.integration.dispatcher.UnicastingDispatcher.dispatch(UnicastingDispatcher.java:102) 
at org.springframework.integration.channel.AbstractSubscribableChannel.doSend(AbstractSubscribableChannel.java:77) 
at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:157) 
at org.springframework.integration.core.MessagingTemplate.doSend(MessagingTemplate.java:288) 
at org.springframework.integration.core.MessagingTemplate.convertAndSend(MessagingTemplate.java:189) 
at org.springframework.integration.gateway.MessagingGatewaySupport.send(MessagingGatewaySupport.java:183) 
at org.springframework.integration.jms.ChannelPublishingJmsMessageListener$GatewayDelegate.send(ChannelPublishingJmsMessageListener.java:423) 
at org.springframework.integration.jms.ChannelPublishingJmsMessageListener.onMessage(ChannelPublishingJmsMessageListener.java:277) 
at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:537) 
at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:497) 
at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:468) 
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:325) 
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263) 
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1096) 
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1088) 
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:985) 
at java.lang.Thread.run(Thread.java:722) 
<b>Caused by: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[weblogic, Administrators] </b>
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:237) 
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:464) 
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:272) 
at weblogic.jms.frontend.FEConnectionFactoryImpl_1033_WLStub.connectionCreateRequest(Unknown Source) 
at weblogic.jms.client.JMSConnectionFactory.setupJMSConnection(JMSConnectionFactory.java:224) 
at org.springframework.integration.core.MessagingTemplate.send(MessagingTemplate.java:149) 
at weblogic.rjvm.MsgAbbrevInputStream.getSubject(MsgAbbrevInputStream.java:351) 
at weblogic.security.service.SecurityServiceManager.getSealedSubjectFromWire(SecurityServiceManager.java:524) 
at weblogic.security.service.SecurityServiceManager.seal(SecurityServiceManager.java:835) 
Caused by: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[weblogic, Administrators] 
... 66 more 
at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:73) 
at org.springframework.jms.core.JmsTemplate.convertAndSend(JmsTemplate.java:641) 
at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:456) 
at org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:184) 
at weblogic.jms.client.JMSConnectionFactory.createConnection(JMSConnectionFactory.java:191) 
at weblogic.jms.client.JMSConnectionFactory.createConnectionInternal(JMSConnectionFactory.java:285) 
4

0 回答 0