+1

I think the fix should be that the JMS transport should throw an exception
in the case of a presence of character '-' in the property names. Rest of it
really belongs to synapse, transport switching scenario.

Ruwan

On Sun, Jan 30, 2011 at 9:09 PM, Amila Suriarachchi <
[email protected]> wrote:

>
>
> On Sat, Jan 29, 2011 at 12:09 PM, Hiranya Jayathilaka <
> [email protected]> wrote:
>
>> Hi Amila,
>>
>> On Sat, Jan 29, 2011 at 11:45 AM, Amila Suriarachchi <
>> [email protected]> wrote:
>>
>>> if those properties are not meaning full in JMS then the correct way is
>>> to remove from the synapse layer. Synapse does the jms transport sender
>>> invocation. So it should not send any unrelated stuff.
>>>
>>
>> Synapse does not distinguish between different transports. It's a generic
>> mediation layer which interacts with all the transports the same way. So I
>> don't think special casing JMS invocations is a very good solution for
>> Synapse. Also it's not Synapse which invokes the sender. It's the underlying
>> Axis2 engine (see the stack trace).
>>
>
> I did not intended to put that to synapse code. When some one writes a
> synapse configuration he knows he is going to invoke a jms transport. So he
> can remove those headers in his synapse configuration. Synapse In sequence
> (or send mediator) initiates the message sending part.
>
>
>>
>> It seems it's wrong to have '-' in JMS property names according to the
>> specs and that's why many brokers don't allow that.
>>
>
> If '- 'is not allowed in JMS, even JMS transport should throw an exception.
> JMS transport should not try to make invalid headers to valid formats. These
> invalid headers are given by the synapse configuration. so it has to remove
> them.
>
> thanks,
> Amila.
>
>
>
>> However some brokers (eg: ActiveMQ) are more flexible in this area. So I
>> think this is something we should fix in the JMS transport level once and
>> for all. WDYT?
>>
>> Thanks,
>> Hiranya
>>
>>
>>>
>>> thanks,
>>> Amila.
>>>
>>>
>>> On Fri, Jan 28, 2011 at 10:18 AM, Hiranya Jayathilaka <
>>> [email protected]> wrote:
>>>
>>>> Hi Folks,
>>>>
>>>> Many JMS brokers/clients do not allow setting properties with the
>>>> character '-' in the name, on JMS messages. For instance IBM Websphere MQ
>>>> client library throws the following error if this is attempted:
>>>>
>>>> javax.jms.MessageFormatException: MQJMS1058: Invalid message property
>>>> name: Content-Type
>>>> at
>>>> com.ibm.jms.JMSMessage.newMessageFormatException(JMSMessage.java:4772)
>>>> at com.ibm.jms.JMSMessage.setStringProperty(JMSMessage.java:5771)
>>>> at
>>>> org.apache.synapse.transport.jms.JMSSender.createJMSMessage(JMSSender.java:424)
>>>> at
>>>> org.apache.synapse.transport.jms.JMSSender.sendMessage(JMSSender.java:207)
>>>> at
>>>> org.apache.synapse.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:120)
>>>> at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:448)
>>>> at
>>>> org.apache.synapse.core.axis2.DynamicAxisOperation$DynamicOperationClient.send(DynamicAxisOperation.java:190)
>>>> at
>>>> org.apache.synapse.core.axis2.DynamicAxisOperation$DynamicOperationClient.executeImpl(DynamicAxisOperation.java:174)
>>>> at
>>>> org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
>>>>
>>>> In Synapse we set request headers as properties on the outgoing JMS
>>>> message. If the request was received over HTTP, it will probably have a few
>>>> headers with the '-' character (Content-Type, Transfer-Encoding etc).  So
>>>> this leads to the above error with certain JMS providers. What should be 
>>>> the
>>>> correct fix for this? One option is to fix this in JMSSender and replace 
>>>> the
>>>> '-' with something like '_' in property names. We can also probably fix 
>>>> this
>>>> in Synapse layer by looking at EPR prefix (right now we workaround by
>>>> removing such headers using some mediators). Thoughts?
>>>>
>>>> Thanks
>>>> --
>>>> Hiranya Jayathilaka
>>>> Senior Software Engineer;
>>>> WSO2 Inc.;  http://wso2.org
>>>> E-mail: [email protected];  Mobile: +94 77 633 3491
>>>> Blog: http://techfeast-hiranya.blogspot.com
>>>>
>>>
>>>
>>>
>>> --
>>> Amila Suriarachchi
>>> WSO2 Inc.
>>> blog: http://amilachinthaka.blogspot.com/
>>>
>>
>>
>>
>> --
>> Hiranya Jayathilaka
>> Senior Software Engineer;
>> WSO2 Inc.;  http://wso2.org
>> E-mail: [email protected];  Mobile: +94 77 633 3491
>> Blog: http://techfeast-hiranya.blogspot.com
>>
>
>
>
> --
> Amila Suriarachchi
> WSO2 Inc.
> blog: http://amilachinthaka.blogspot.com/
>



-- 
Ruwan Linton
Member, Apache Software Foundation; http://www.apache.org
Software Architect & Product Manager, WSO2 Inc.; http://wso2.org

phone: +1 408 754 7388 ext 51789
email: [email protected]; cell: +94 77 341 3097
blog: http://blog.ruwan.org
linkedin: http://www.linkedin.com/in/ruwanlinton
google: http://www.google.com/profiles/ruwan.linton
tweet: http://twitter.com/ruwanlinton

Reply via email to