We had this same problem. You can weed out properties you don't care about
by blacklisting them in your marshallers. We added the propertyBlackList
property to the consumer marshaller. That way the undesired properties are
left off from the very beginning. I included our marshaler bean below:
<bean id="marshaler"
class="org.apache.servicemix.jms.endpoints.DefaultConsumerMarshaler">
<property name="propertyBlackList" >
<list>
<value>JMSXUserID</value>
<value>JMSXAppID</value>
<value>JMSXDeliveryCount</value>
<value>Content-Type</value>
</list>
</property>
</bean>
Hopefully this will work for you as well.
jrrosel wrote:
>
> I'm currently trying to work with Websphere MQ. (JMS endoints, camel
> router) I am having a problem sending messages back out from requests that
> come from messages that originate outside of servicemix. I appear to be
> able to read the message in fine however I get the following exception
> when attempting to send back out. javax.jms.MessageFormatException:
> MQJMS1058: Invalid message property name: JMSXUserID. Has anyone else run
> into this? This simple example attempts to read the message in and just
> send it back out to another queue.
>
> JMS xbean:
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns:jms="http://servicemix.apache.org/jms/1.0"
> xmlns:tutorial="urn:org:apache:servicemix:tutorial:camel"
> xmlns:util="http://www.springframework.org/schema/util"
> xmlns:bean="http://servicemix.apache.org/bean/1.0">
>
> <jms:provider service="tutorial:jms"
> endpoint="provider"
> destinationName="JRR.TESTOUT.Q"
> connectionFactory="#mqConnectionFactory"
> marshaler="#producerMarshaler"
> />
>
> <jms:consumer service="tutorial:jms"
> endpoint="consumer"
> destinationName="JRR.TESTIN.Q"
> connectionFactory="#mqConnectionFactory"
> marshaler="#consumerMarshaler"
> targetService="tutorial:jms"
> targetEndpoint="consumer" />
>
> <bean id="producerMarshaler"
> class="org.apache.servicemix.jms.endpoints.DefaultProviderMarshaler">
> <property name="needJavaIdentifiers" value="true" />
> </bean>
> <bean id="consumerMarshaler"
> class="org.apache.servicemix.jms.endpoints.DefaultConsumerMarshaler">
> <property name="needJavaIdentifiers" value="true" />
> </bean>
>
> <bean id="mqConnectionFactory"
> class="com.ibm.mq.jms.MQQueueConnectionFactory">
> <!-- <property name="transportType" value="1" /> -->
> <property name="transportType" >
> <util:constant
> static-field="com.ibm.mq.jms.JMSC.MQJMS_TP_CLIENT_MQ_TCPIP" />
> </property>
> <property name="queueManager" value="####" />
> <property name="hostName" value="#### />
> <property name="channel" value="JAVA.CHANNEL" />
> <property name="port" value="1414" />
> </bean>
> </beans>
>
> Camel Router:
> public class MyRouteBuilder extends RouteBuilder {
>
> public void configure() {
>
> from("jbi:endpoint:urn:org:apache:servicemix:tutorial:camel:jms:consumer")
> .to("log:tutorial-consumer")
>
>
> .to("jbi:endpoint:urn:org:apache:servicemix:tutorial:camel:jms:provider");
> }
> }
>
--
View this message in context:
http://www.nabble.com/JMSXUserID-invalid-message-property-tp25994484p26031415.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.