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 Index » WebSphere Message Broker (ACE) Support » soap port number

Post new topic  Reply to topic
 soap port number « View previous topic :: View next topic » 
Author Message
paustin_ours
PostPosted: Mon Aug 15, 2016 12:58 pm    Post subject: soap port number Reply with quote

Yatiri

Joined: 19 May 2004
Posts: 667
Location: columbus,oh

I deployed the soap node sample that came with iib v9 and deployed it to local broker. the wsdl points to port 7800. port 7800 is already in use.

when i submit the mbtest message that comes with the sample, i get a 404 not found.

wonder if it is hitting 7800 on another broker running on the machine.

sopa request node points to Orderservice as the port type and that points to 7800 on the wsdl. I dont think we can ask the client to make a connection to 7800 right? we could move the flow to a different EG and can end up with a different port.

how to handle this?
Back to top
View user's profile Send private message Yahoo Messenger
fjb_saper
PostPosted: Mon Aug 15, 2016 3:31 pm    Post subject: Re: soap port number Reply with quote

Grand High Poobah

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

paustin_ours wrote:
I deployed the soap node sample that came with iib v9 and deployed it to local broker. the wsdl points to port 7800. port 7800 is already in use.

when i submit the mbtest message that comes with the sample, i get a 404 not found.

wonder if it is hitting 7800 on another broker running on the machine.

sopa request node points to Orderservice as the port type and that points to 7800 on the wsdl. I dont think we can ask the client to make a connection to 7800 right? we could move the flow to a different EG and can end up with a different port.

how to handle this?


The host and port are assigned at deployment. What is in the WSDL gets overwritten. The port assigned depends on the ports already in use. If you did not manually assign the port, it will be the next one available in the range.
This can be dangerous when you are running more than one broker / eg on the box and not all brokers/ egs are running all the time.
This is why it is better in the configuration to assign the port manually. (See mqsichangeproperties).

If you want the real host and port in the wsdl you need to check the checkbox allowing access to the wsdl in the SOAP Input node and the user can then access the wisdl by adding at the end of the url "?wsdl"

Hope it helps.
_________________
MQ & Broker admin


Last edited by fjb_saper on Tue Aug 16, 2016 2:30 am; edited 1 time in total
Back to top
View user's profile Send private message Send e-mail
smdavies99
PostPosted: Mon Aug 15, 2016 9:56 pm    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

I guess the OP didn't understand the replies we gave in this post from a few days ago
http://www.mqseries.net/phpBB2/viewtopic.php?t=72785

My take on this is as follows

1) ALWAYS define the ports for HTTP and SOAP in the broker.
2) Script those changes so that they can be repeated AND put into source control.
3) Ignore any port setting in the WSDL. The broker configuration rules OK!
4) When using tools like SOAPUI etc ALWAYS override the default port with the real one. You only have to do this once with SOAPUI.
5) The Broker config RULES. The WSDL does not. In most sites, you have to also configure things like Firewalls and load balancers BEFORE you can even get to the target port.

Do not rely on the WSDL port for anything.

As I said in the previous thread, doing this allows the same WSDL/flow to be moved between different environments (DEV, Test, Prod etc) without editing the WSDL. No editing means no mistakes in the WSDL. One less thing to worry about which is always good.

Edit
Then there are the samples provided with the product.
My take on them is that IBM had to put a stake in the ground somewhere. So they work on a system that has a default configuration defined and running, no other broker configured or running.
They also supply the sources to those samples so there is no reason why you can't modify them to fit your environment.
The samples are limited in scope. Most of them can be tailored to fit into pretty well any environment you may have running.
Live with those restrictions and you can learn a lot from them.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
Vitor
PostPosted: Tue Aug 16, 2016 4:17 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

paustin_ours wrote:
wonder if it is hitting 7800 on another broker running on the machine.


Well it's your machine - is there another broker/EG set to use 7800? Or being allowed to default to 7800? This is your configuration, you tell us.

paustin_ours wrote:
we could move the flow to a different EG and can end up with a different port.


You could, but why would that solve future conflict?

paustin_ours wrote:
how to handle this?


By managing your configuration, and acting like you're providing a web service.

smdavies99 wrote:
I guess the OP didn't understand the replies we gave in this post from a few days ago
http://www.mqseries.net/phpBB2/viewtopic.php?t=72785


In most realistic situations the WSDL connection details get you nothing. The WSDL contains a URL and port number; most providers have multiple URLS and port numbers (as described in your other thread that my worthy associate references above). The web service provider (you in this instance) needs to provide the client with the correct connection details for the end point they require (as my most worthy associate points out in the referenced thread).

There are multiple scenarios where the WSDL doesn't contain accurate connection information.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
paustin_ours
PostPosted: Tue Aug 16, 2016 7:00 am    Post subject: Reply with quote

Yatiri

Joined: 19 May 2004
Posts: 667
Location: columbus,oh

thanks for your time. Maybe i am not explaining correctly. I do understand as a provider i need to give my client the url port number.

in the SOAP sample that i imported, i see a SOAP message set that is created using the wsdl. now when i use the flow tester that comes in the sample, i put a message to the input queue and it goes to the SOAP request node.

the soap request node port type points to Orderservice and port also points to Orderservice something. These are from the wsdl.

Now my question is the sample has created a message set using the wsdl port which is 7800 and the message when it hits the soap request node tries to hit 7800 but 7800 is already in use on my machine by something else.

I can also deploy the flow to an EG with embedded listeners tomorrow with its own port. how to keep the message set in sync?

I hope i am making sense. Again , i am missing something obvious please let me know. thanks for your patience and time.
Back to top
View user's profile Send private message Yahoo Messenger
Vitor
PostPosted: Tue Aug 16, 2016 7:06 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

paustin_ours wrote:
Now my question is the sample has created a message set using the wsdl port which is 7800


No it hasn't. The message set (MRM or DFDL) has nothing to do with the port number being used by either the broker or EG listeners.

paustin_ours wrote:
the message when it hits the soap request node tries to hit 7800 but 7800 is already in use on my machine by something else.


No it doesn't. The message tries to hit the port number specified in the client (SoapUI or similar). If SoapUI defaults to the binding (including the port number) specified in the WSDL then that's all well and good but, as we've explained above, this has nothing to do with where the actual endpoint you need to use is.

paustin_ours wrote:
how to keep the message set in sync?


You don't, and you don't need to.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
paustin_ours
PostPosted: Tue Aug 16, 2016 7:32 am    Post subject: Reply with quote

Yatiri

Joined: 19 May 2004
Posts: 667
Location: columbus,oh

I am talking about the SOAPrequest node. these are the values int he SOAP request node. I wish i could do a screen capture and paste here.

the flow is like this

MQ input node --> subflow[soap request node]

the soap request node has the following properties
wsdlfil name SOAPNodesSampleMessageSet/com/acmeorders/www/orderservice/OrderService.wsdl
Port typoe OrderService
imported binding OrderServiceSOAP
Serice port OrderServiceHTTPSOAP

now the way i drive this message flow is not by SOAP UI, i put a message on the queue and it goes to the subflow and it invokes the SOAP request node with the above properties. At this point it is hitting 7800.

where is it getting the 7800 from if it is not getting it from the wsdl?
Back to top
View user's profile Send private message Yahoo Messenger
Vitor
PostPosted: Tue Aug 16, 2016 7:41 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

paustin_ours wrote:
I am talking about the SOAPrequest node



Oops. Missed that.

Need more

paustin_ours wrote:
where is it getting the 7800 from if it is not getting it from the wsdl?


The SOAPRequest node will default to the binding from the WSDL in the same way SoapUI does. In the majority of actual use cases, you need to override it as you do with SoapUI.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Vitor
PostPosted: Tue Aug 16, 2016 7:43 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

And for the record, it's still nothing to do with the message set.

The Toolkit uses the binding in the WSDL to set up the default SoapRequest parameters, but they're not stored in the message set (even though that is also generated from the WSDL).
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Tue Aug 16, 2016 7:51 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

The port # is a property of the SOAP request node, iirc.

I *think* it simply defaults to 7800 and doesn't use the WSDL at all...
_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
Vitor
PostPosted: Tue Aug 16, 2016 7:58 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

mqjeff wrote:
The port # is a property of the SOAP request node, iirc.

I *think* it simply defaults to 7800 and doesn't use the WSDL at all...


Could well be.

It's not a good day.

Bottom line - whatever the SOAPRequest node defaults to (and however it defaults it), you're going to have to use different settings in 99% of cases.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
smdavies99
PostPosted: Tue Aug 16, 2016 10:03 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

I've used the SOAP request node in many flows over the years.
I ALWAYS make sure that the Local Environment has the ENDPOINT_URL defined before I get to the node.
This is held in the Flow configuration. This means I can move the flow between different environments just by setting up the flow config (in a DB and read by the flow once and held in a shared variable).
I don't need to worry about the Port or anything in the WSDL.

My solution (and there are others) is very flexible and has proven to work over the years.
It also means that when the ENDPOINT_URL changes as it has a habbit of doing with some external vendors, the change I need to make is very simple and involved no code editing or barfile overrides.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » soap port number
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.