That is how it works for the content type header. Andreas
On Tue, Feb 1, 2011 at 12:18, indika kumara <[email protected]> wrote: > isn't the following mapping is suitable ? > > (In transport's specific headers) -> (Axis2 internal representations) -> > (Out transport's specific headers ) > > ~ Indika > > On Tue, Feb 1, 2011 at 7:55 AM, Andreas Veithen <[email protected]> > wrote: >> >> Either the JMS provider accepts these property names and there is no >> reason for the JMS transport to throw an exception (because this would >> break existing use cases) or the provider rejects them and will throw >> an exception (as in Hiranya's original post). Therefore I don't see >> any reason to modify the JMS transport. >> >> The real problem is that blindly copying transport headers from an >> incoming to an outgoing message is in general not a good idea and will >> lead to unexpected results. One can argue that Synapse's default >> behavior (which is to copy transport headers) is suboptimal, but >> that's a question of point of view. >> >> Andreas >> >> On Mon, Jan 31, 2011 at 06:39, Ruwan Linton <[email protected]> >> wrote: >> > +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 >> > >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
