Author |
Message
|
elvis_gn |
Posted: Mon May 08, 2006 3:04 am Post subject: [Solved] Are message sets mandatory for Web Service ? |
|
|
 Padawan
Joined: 08 Oct 2004 Posts: 1905 Location: Dubai
|
Hi guys,
I went through some of the topics here on Web Services and came to a conclusion that Message sets might be mandatory to make a flow a WebService...
The reason for this: We need a WSDL to define the ip and port. The WSDL cannot be made without the Message sets (category file).
Am I right in this assumption ? I have deployed a flow without the message sets and the URL specified in the HTTPInput Node (including http://localhost:8000/....) This is not working...will it work if I put the ip port in the Broker topology...
I am trying without sets, as this flow alone has been in production for some time now,...so there should be some way to do it
Regards.
Last edited by elvis_gn on Mon May 08, 2006 8:28 pm; edited 1 time in total |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon May 08, 2006 4:59 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
The use of an HTTPInput node does not require the use of message sets.
Maybe you can explain what "not working" means. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
elvis_gn |
Posted: Mon May 08, 2006 5:21 am Post subject: |
|
|
 Padawan
Joined: 08 Oct 2004 Posts: 1905 Location: Dubai
|
Hi jeff,
Thanks for coming to my rescue
I have deployed my flow and am trying to put (POST) messages using the netTool...i am getting a java SocketTimeoutException...
My doubt was that, in the WebServices Host sample they had given the IP and port in the WSDL file and hence in the HTTPInput node i used to only specify the folder name which comes after the port ("/httpInput") .....whereas in this case i have specified the entire URL "http://localhost:7080/httpInput" in the node...
What should be the correct configuration ?
Regards. |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon May 08, 2006 5:27 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
The HTTPInput node uses the bipHttpListener. This is configured on the broker host, and on the port that you instructed the broker to use for it's bipHttpListener at creation time (or you can modify this using mqsichangebroker).
You never can specify the fully qualified URL in the HTTPInput node, and there never is a relationship between the message set that's being used and the hostname and port number that the bipHttpListener is using. As far as I know.
If you're getting a SocketTimeoutException, then you are probably using the wrong URL in one way or another.
That is, you should only and always specify the "folder name" which comes after the port in the HTTPInput node, and you should always call HTTPInput node with the following "http://<broker machine name>:<bipHttpListenerPort>/<HttpInput folder name>". _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
mgk |
Posted: Mon May 08, 2006 5:32 am Post subject: |
|
|
 Padawan
Joined: 31 Jul 2003 Posts: 1642
|
As Jeff says, message sets are not required for the HTTPInput Node, However, if you choose to specify MRM as the parser (Domain) and then you will need a message set but this is not mandatory.
Also, you never have to specify a fully qualified URL in the HTTPInput node, as a path fragment ( /fred for example ) is all that is needed. A wild card can be used to match multiple fragements, for example /* matchs every fragment. Note that if you have multiple nodes, exact matches are matched for before wildcard matches.
Please post the exceptions and the version on the broker you are using.
Regards, _________________ MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions. |
|
Back to top |
|
 |
vennela |
Posted: Mon May 08, 2006 6:13 am Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
I was never able to get Nettool to working to test my web services.
I have always used either XMLSpy or WID (or WSADIE). In WID, there is a tool called "Test with Web Services Explorer" that I use all the time.
Quote: |
You never can specify the fully qualified URL in the HTTPInput node |
I think even if you do, the hostname:portno part will be ignored but now that Jeff mentioned it, I'll do a test and then post again. |
|
Back to top |
|
 |
mgk |
Posted: Mon May 08, 2006 8:31 am Post subject: |
|
|
 Padawan
Joined: 31 Jul 2003 Posts: 1642
|
Hi,
Just for the record, a hostname and port are ignored if specified in an HTTPInputNode, as long as they are preceded by a protocol specifier (http:// for example).
On another topic, I have used nettool to invoke a flow through an HTTPInput node, but I'm sure that the other suggested tools will work just as well .
Regards, _________________ MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions. |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon May 08, 2006 8:32 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
So you're saying I can't just put in "ftp://...", and get some magic to happen?  _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
elvis_gn |
Posted: Mon May 08, 2006 8:28 pm Post subject: |
|
|
 Padawan
Joined: 08 Oct 2004 Posts: 1905 Location: Dubai
|
Hi guys,
Thanks a lot for the help. I got it working
I guess the biggest bottleneck is the RAM in my system, only 512Mb...
The message came to the flow after the socket exception is thrown...maybe around 1-2 minutes later...
To summarize:
1. I am using only the "/httpInput" in the HTTPInput Node.
2. Did a mqsichangebroker to set the port to 7080.
3. Used the NetTool with the complete URL to send message.
Thanks and Regards. |
|
Back to top |
|
 |
vennela |
Posted: Tue May 09, 2006 7:20 am Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
mgk wrote: |
Hi,
Just for the record, a hostname and port are ignored if specified in an HTTPInputNode, as long as they are preceded by a protocol specifier (http:// for example). |
I have tried using something like
http://localhost:7080/webServiceRouter in the URL filed on HTTPInput node.
My HTTPClient timed out.
And from the manual
Quote: |
In URL Selector, put the path part of the URL from which this node receives Web service requests. Do not give the full URL. |
Looks like Jeff is right. |
|
Back to top |
|
 |
|