目前,我正在使用骆驼和wmq。我试图做的是向wmq发送消息。我通过使用Spring Framework配置骆驼。以下是配置wmq的方法:


  component.xml


<bean id="websphere-mq" class="org.apache.camel.component.jms.JmsComponent">
        <property name="connectionFactory">
            <bean class="com.ibm.mq.jms.MQQueueConnectionFactory">
                <property name="transportType">
                    <util:constant static-field="com.ibm.mq.jms.JMSC.MQJMS_TP_CLIENT_MQ_TCPIP" />
                </property>
                <property name="hostName" value="localhost" />
                <property name="port" value="1414" />
                <property name="queueManager" value="localmanager" />
                <property name="channel" value="CH.ADM1" />
                <property name="CCSID" value="819"/>
                <property name="useConnectionPooling" value="true" />
            </bean>
        </property>
</bean>



  config.xml




<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">

    <route>
        <from uri="stream:in?promptMessage=Ausweisnummer: "/>
        <process ref="TransformToXML"/>
        <to uri ="xslt:mobako.sender.xsl"/>
        <to uri ="websphere-mq:queue:LSMH.ZKSEAP.SERVICEBUS"/>
    </route>

    <route>
        <from uri="websphere-mq:queue:ZKSEAP.LSMH.SERVICEBUS"/>
        <to uri="stream:out"/>
    </route>

</camelContext>


当我检查wmq时,我发现wmq一直在监听我的进程,但是没有收到任何消息。

然后检查我的wmq配置是否正确,我尝试将config.xml更改为以下内容:



<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">

    <route>
        <from uri="websphere-mq:queue:ZKSEAP.LSMH.SERVICEBUS"/>
        <to uri="stream:out"/>
    </route>

</camelContext>


之后,我尝试将消息手动写入wmq。当我尝试运行进程时,来自wmq的消息会写在控制台上。

然后,我总结一下,通过我的配置,我可以从wmq获取消息,但是我无法写到wmq。

到底是什么问题?我的配置有问题或遗漏吗?非常感谢。

已编辑

嘿,终于我找出了问题所在。
问题是:我的jms版本与我的骆驼版本不同。
但是,在更改了jms版本之后,服务器上出现以下错误(关于wmq):


  2014-06-05 15:14:34,859 [Axis2 Task]错误WMQMsg-预期的MQ消息格式'
  MQSTR”,但收到“ MQHRF2”


怎么解决呢?再次感谢。

最佳答案

我认为您的问题出在您的JMS消息类型和转换中。
请查看以下链接,并尝试转换从stream:in获得的消息类型。

http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_7.0.1/com.ibm.mq.csqzaw.doc/jm25524_.htm?cp=SSFKSJ_7.0.1%2F1-25-3-4-1-1-1&lang=en

http://www.capitalware.com/rl_blog/?p=1168

Processing MQ ByteMessage using JMS client

09-11 17:50