473,419 Members | 1,823 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,419 software developers and data experts.

How to override address location in WSDL ports

I have the same question as andreas.w.h.k asked on 1/5.

Our configuration is as follows:

The client must use the URL https://clustername.xyz.com/webservice.asmx to
access this web service.

clustername.xyz.com resolves to a virtual IP address on a hardware load
balancer which is listening for requests on port 443.

When the load balancer receives the request, it forwards it to any one of
the nodes in the cluster on port 8086.

The generated WSDL therefore looks like this:

<wsdl:service name="webservice">
<wsdl:port name="webserviceSoap" binding="tns:webserviceSoap">
<soap:address location="http://clustername.xyz.com:8086/webservice.asmx"
/>
</wsdl:port>
<wsdl:port name="webserviceSoap12" binding="tns:webserviceSoap12">
<soap12:address
location="http://clustername.xyz.com:8086/webservice.asmx" />
</wsdl:port>
<wsdl:port name="webserviceHttpGet" binding="tns:webserviceHttpGet">
<http:address location="http://clustername.xyz.com:8086/webservice.asmx"
/>
</wsdl:port>
<wsdl:port name="webserviceHttpPost" binding="tns:webserviceHttpPost">
<http:address location="http://clustername.xyz.com:8086/webservice.asmx"
/>
</wsdl:port>
</wsdl:service>

While we can make it work, it is far from idiot proof. For example, leaving
the "?wsdl" off the URL when adding a web reference in Visual Studio 2005
results in the message "Unable to download the following files from
http://clustername.xyz.com:8086/webservice.asmx?wsdl" because
http://clustername.xyz.com:8086 resolves to the load balancer's IP address
and the load balancer is not listening on port 8086, nor will it accept
unencrypted requests.

The most significant problem is that generated test harness is also useless
because although it lists the services and even allows you to click and enter
parameters, clicking the Invoke button posts back to a URL that can not be
reached.

It is unfortunate that System.Web.Services.WebService does not expose an
instance of System.Web.Services.Description since it looks like
Description.SoapAddressBinding.Location is exactly what we need to override.

Does anyone have any ideas?

Thank you.

Gavin M



Jan 21 '06 #1
3 19974
Can't you just assign the WebService.Url property?
--
Dale Preston
MCAD C#
MCSE, MCDBA
"GavinM" wrote:
I have the same question as andreas.w.h.k asked on 1/5.

Our configuration is as follows:

The client must use the URL https://clustername.xyz.com/webservice.asmx to
access this web service.

clustername.xyz.com resolves to a virtual IP address on a hardware load
balancer which is listening for requests on port 443.

When the load balancer receives the request, it forwards it to any one of
the nodes in the cluster on port 8086.

The generated WSDL therefore looks like this:

<wsdl:service name="webservice">
<wsdl:port name="webserviceSoap" binding="tns:webserviceSoap">
<soap:address location="http://clustername.xyz.com:8086/webservice.asmx"
/>
</wsdl:port>
<wsdl:port name="webserviceSoap12" binding="tns:webserviceSoap12">
<soap12:address
location="http://clustername.xyz.com:8086/webservice.asmx" />
</wsdl:port>
<wsdl:port name="webserviceHttpGet" binding="tns:webserviceHttpGet">
<http:address location="http://clustername.xyz.com:8086/webservice.asmx"
/>
</wsdl:port>
<wsdl:port name="webserviceHttpPost" binding="tns:webserviceHttpPost">
<http:address location="http://clustername.xyz.com:8086/webservice.asmx"
/>
</wsdl:port>
</wsdl:service>

While we can make it work, it is far from idiot proof. For example, leaving
the "?wsdl" off the URL when adding a web reference in Visual Studio 2005
results in the message "Unable to download the following files from
http://clustername.xyz.com:8086/webservice.asmx?wsdl" because
http://clustername.xyz.com:8086 resolves to the load balancer's IP address
and the load balancer is not listening on port 8086, nor will it accept
unencrypted requests.

The most significant problem is that generated test harness is also useless
because although it lists the services and even allows you to click and enter
parameters, clicking the Invoke button posts back to a URL that can not be
reached.

It is unfortunate that System.Web.Services.WebService does not expose an
instance of System.Web.Services.Description since it looks like
Description.SoapAddressBinding.Location is exactly what we need to override.

Does anyone have any ideas?

Thank you.

Gavin M


Jan 22 '06 #2
We are currently doing that (on the client), as a work around. Being able to
override the address provided in the WSDL is helpful, but my question is how
do I correct the WSDL?

If it were possible to specify this.Url = ... in the constructor of the
service (on the server) that would be great. However, unless I am missing
something, there is no such property.

Gavin M

"Dale" wrote:
Can't you just assign the WebService.Url property?
--
Dale Preston
MCAD C#
MCSE, MCDBA

Jan 23 '06 #3
GavinM wrote:
We are currently doing that (on the client), as a work around. Being able to
override the address provided in the WSDL is helpful, but my question is how
do I correct the WSDL?

If it were possible to specify this.Url = ... in the constructor of the
service (on the server) that would be great. However, unless I am missing
something, there is no such property.


I am having the same problem. When our web service is installed, the
generated WSDL is incorrect, so users can't get the correct URLs.

I know that the generated address can't be exact, but surely it would
have been more sensible to work out the service URLs from the request URL?

Rik
Feb 10 '06 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

24
by: Generic Usenet Account | last post by:
Does anyone have an opinion on how IDL and WSDL compare to each other? Are they equally powerful in their "expressive power"? Sometimes it appears to me that IDL is a little easier for humans to...
1
by: Sacha Faust | last post by:
I have an abstract class, RuleResponse, and then create a new class base on it, RuleResponseSequence, and override the ++ operater. If I try to cast a RuleResponse as a RuleResponseSequence and...
0
by: Mauricio Arroyo | last post by:
Hi, I used the excellent article http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnservice/html/service08202002.asp from Scott Seely to have a webservice interface defined in a...
0
by: bryce_li | last post by:
Hello I am looking for the best architectural pattern in using the SOAP:address location: Hardcode the real endpoint or use localhost (in our company on an Intranet site) >From what I can see...
0
by: Oscar Thornell | last post by:
Hi, I have a web service (.NET 1.1) that is deployed into a heavily fortified area with a lot of different network segments/proxies/firewalls... The server(Win 2003) in itself is not...
4
by: andreas.w.h.k. :-\) | last post by:
How do I change the address location in the wsdl <wsdl:port name="SearchSoap12" binding="tns:SearchSoap12"> <soap12:address location="http://searchservices/engine/search.asmx" /> </wsdl:port> ...
1
by: JT | last post by:
Hi, We have 2 servers having the same web site running on port 8080. These two servers are load balanced and have DNS name, e.g. my.server.com. Now on both of these two servers, we put the same...
0
by: vihrao | last post by:
I am designing wsdl that uses multiple schemas. I can do this in two ways: 1) use multiple schema imports in one wsdl or 2) use multiple schema imports in to one common schema and then import a...
4
by: WebDev2 | last post by:
I have a web service created via Visual Web Developer Express Edition on a IIS Server with .NET 2.0 installed. The test page displays just fine when the URL of the .asmx page is entered into a...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.