ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum IndexIBM MQ Telemetry / Low Latency Messaging / EveryplaceMQTT Channel Protocol

Post new topicReply to topic
MQTT Channel Protocol View previous topic :: View next topic
Author Message
inMo
PostPosted: Tue Feb 09, 2016 7:56 am Post subject: MQTT Channel Protocol Reply with quote

Master

Joined: 27 Jun 2009
Posts: 205
Location: NY

I have a local install of MQ 7.5.02 running an MQTT channel called 'HTTP'. The HTTP channel has a PROTOCOL property set to (MQTTV3, HTTP). This channel is used to run a local proof of concept.

The local proof of concept is being migrated to a server. The server is running MQ 7.5.03. Established an MQTT channel called 'HTTP'. However, when trying to run the alter channel command to enable HTTP, it doesn't seem to recognize the PROTOCOL property as valid.

Question 1 - Anyone have any ideas on why this is?

Question 2 - The POC uses a javascript client. It is assumed the JS client requires the HTTP protocol. Is that a valid assumption?

Thanks in advance.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Tue Feb 09, 2016 8:04 am Post subject: Reply with quote

Grand Poobah

Joined: 18 Nov 2003
Posts: 19100
Location: LI,NY

Do not get confused between channel name and channel protocol...
By the way I would never name a channel HTTP... way to confusing...
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
inMo
PostPosted: Tue Feb 09, 2016 8:18 am Post subject: Reply with quote

Master

Joined: 27 Jun 2009
Posts: 205
Location: NY

Thanks for the response. The name is just for simple POC purposes. (If you have any MQTT channel naming standard suggestions I'm all ears )

The local properties on 7.5.0.2 are where POC is working fine:

Code:

AMQ8414: Display Channel details.
   CHANNEL(HTTP)                           CHLTYPE(MQTT)
   TRPTYPE(TCP)                            PORT(1884)
   LOCLADDR( )                             MCAUSER(Guest)
   USECLTID(NO)                            BACKLOG(4096)
   DESCR( )                                SSLCIPH( )
   SSLCAUTH(NEVER)                         SSLKEYP( )
   SSLKEYR( )                              JAASCFG( )
   PROTOCOL(MQTTV3,HTTP)


The server properties on 7.5.0.3 are (no PROTOCOL option?):

Code:

AMQ8414: Display Channel details.
   CHANNEL(HTTP)                           CHLTYPE(MQTT)
   TRPTYPE(TCP)                            PORT(1886)
   LOCLADDR( )                             MCAUSER(nobody)
   USECLTID(NO)                            BACKLOG(4096)
   DESCR( )                                SSLCIPH( )
   SSLCAUTH(OPTIONAL)                      SSLKEYP( )
   SSLKEYR( )                              JAASCFG( )


Any help/explanation/MQ Telemetry for dummies type guidance is appreciated.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Tue Feb 09, 2016 8:38 am Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17187

The only reference I see for HTTP with the MQ Telemetry Service is in v8.

So. Your server needs to be at v8...

Note that it only supports MQTT over WebSockets, too. Not a mapping between a normal HTTP request and an MQTT operation.
_________________
Read, Think, Try, Repeat
Back to top
View user's profile Send private message
inMo
PostPosted: Tue Feb 09, 2016 8:53 am Post subject: Reply with quote

Master

Joined: 27 Jun 2009
Posts: 205
Location: NY

Causing an error on purpose, during the alter command the following is shown on v7.5.0.2:

AMQ8427: Valid syntax for the MQSC command:

ALTER CHANNEL( channel_name ) CHLTYPE(MQTT)

[ BACKLOG( integer ) ] [ DESCR( string ) ]
[ JAASCFG( string ) ] [ LOCLADDR( string ) ]
[ MCAUSER( string ) ] [ PORT( integer ) ]
[ PROTOCOL( MQTTV3, HTTP ) ]
[ SSLCAUTH( REQUIRED | OPTIONAL | NEVER ) ]
[ SSLCIPH( string ) ] [ SSLKEYP( string ) ]
[ SSLKEYR( string ) ] [ TRPTYPE( TCP ) ]
[ USECLTID( NO | YES ) ]

On v7.5.0.3 the PROTOCOL option dissapears:

AMQ8427: Valid syntax for the MQSC command:

ALTER CHANNEL( channel_name ) CHLTYPE(MQTT)

[ BACKLOG( integer ) ] [ DESCR( string ) ]
[ JAASCFG( string ) ] [ LOCLADDR( string ) ]
[ MCAUSER( string ) ] [ PORT( integer ) ]
[ SSLCAUTH( REQUIRED | OPTIONAL ) ] [ SSLCIPH( string ) ]
[ SSLKEYP( string ) ] [ SSLKEYR( string ) ]
[ TRPTYPE( TCP ) ] [ USECLTID( NO | YES ) ]
Back to top
View user's profile Send private message
mqjeff
PostPosted: Tue Feb 09, 2016 9:06 am Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17187

Sure.

Did you verify that the HTTP support worked in v7.5.0.2?

Maybe it's just a bug in runmqsc...
_________________
Read, Think, Try, Repeat
Back to top
View user's profile Send private message
inMo
PostPosted: Tue Feb 09, 2016 9:06 am Post subject: Reply with quote

Master

Joined: 27 Jun 2009
Posts: 205
Location: NY

https://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.mig.doc/q121540_.htm

Quote:
WebSphere MQ Version 7.5.0, Fix Pack 1 and later supports the MQTT protocol over WebSockets. This enables it to be a server for clients using the MQTT messaging client for JavaScript.

A new communication protocol parameter (PROTOCOL) has been added to the MQTT channel ...


Is there a way an MQ installation reporting to be at level 7.5.0.3 is not actually active at that particular level?
Back to top
View user's profile Send private message
mqjeff
PostPosted: Tue Feb 09, 2016 9:10 am Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17187

Is there a way? Dunno.

The knowledge center for v7.5 doesn't mention anything about the PROTOCOL parameter. That matches up with your runmqsc results.

Did you verify that WebSockets works?
_________________
Read, Think, Try, Repeat
Back to top
View user's profile Send private message
inMo
PostPosted: Tue Feb 09, 2016 9:14 am Post subject: Reply with quote

Master

Joined: 27 Jun 2009
Posts: 205
Location: NY

Yes - websockets are working great locally on v7.5.0.2.

Can't connect via websockers to server running version v7.5.0.3
Back to top
View user's profile Send private message
mqjeff
PostPosted: Tue Feb 09, 2016 9:17 am Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17187

PMR time.

Sounds like they dropped a feature without necessarily clearly documenting it...

Or maybe it's a config option in the MQXR service somewhere.
_________________
Read, Think, Try, Repeat
Back to top
View user's profile Send private message
inMo
PostPosted: Tue Feb 09, 2016 9:20 am Post subject: Reply with quote

Master

Joined: 27 Jun 2009
Posts: 205
Location: NY

OK. As always, I appreciate the help.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Tue Feb 09, 2016 12:29 pm Post subject: Reply with quote

Grand Poobah

Joined: 18 Nov 2003
Posts: 19100
Location: LI,NY

inMo wrote:
Thanks for the response. The name is just for simple POC purposes. (If you have any MQTT channel naming standard suggestions I'm all ears )

The local properties on 7.5.0.2 are where POC is working fine:

Code:

   LOCLADDR( )                             MCAUSER(Guest)
   PROTOCOL(MQTTV3,HTTP)


The server properties on 7.5.0.3 are (no PROTOCOL option?):

Code:

   LOCLADDR( )                             MCAUSER(nobody)


Any help/explanation/MQ Telemetry for dummies type guidance is appreciated.

And you don't think that the difference of MCAUser has no implications??
As naming conventions, how about including somewhere the name of the client application??
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
inMo
PostPosted: Tue Feb 09, 2016 12:43 pm Post subject: Reply with quote

Master

Joined: 27 Jun 2009
Posts: 205
Location: NY

Those are IBM generated based on the platform.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Tue Feb 09, 2016 1:56 pm Post subject: Reply with quote

Grand Poobah

Joined: 18 Nov 2003
Posts: 19100
Location: LI,NY

inMo wrote:
Those are IBM generated based on the platform.

And here I thought they came from the equivalent SYSTEM.DEFAULT channel...
'nobody' sounds like a default put in place to prevent anybody from using the channel... so may be it is not the value you want...
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
mqjeff
PostPosted: Tue Feb 09, 2016 1:58 pm Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17187

fjb_saper wrote:
inMo wrote:
Those are IBM generated based on the platform.

And here I thought they came from the equivalent SYSTEM.DEFAULT channel...
'nobody' sounds like a default put in place to prevent anybody from using the channel... so may be it is not the value you want...


It is *slightly* possible this is blocking the websockets connection... but it doesn't change the fact that v7.5.0.3 doesn't support the same config that v7.5.0.2 did.
_________________
Read, Think, Try, Repeat
Back to top
View user's profile Send private message
Display posts from previous:
Post new topicReply to topic Page 1 of 1

MQSeries.net Forum IndexIBM MQ Telemetry / Low Latency Messaging / EveryplaceMQTT Channel Protocol
Jump to:



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP


Theme by Dustin Baccetti
Powered by phpBB 2001, 2002 phpBB Group

Copyright MQSeries.net. All rights reserved.