Solved

Webservice descriptive error message for System.IndexOutOfRangeException: Index was outside the bounds of the array.

Posted on 2016-10-26
5
80 Views
Last Modified: 2016-11-27
I am setting up clients to use my webservice. Rather than calling it as a webservice, one has typed in the URL I gave them to use for the web service. Of course, since they are not calling it like a webservice, it is generating this error on the screen:
System.IndexOutOfRangeException: Index was outside the bounds of the array.

Is there a way I can retrieve that error and send something more descriptive to the screen. They come back to me that my webservice is broken.

I tried to step through the class, but calling it from the URL doesn't reach the class and generates the error.

Here's the complete error as it sends to the screen:
System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at System.Web.Services.Protocols.HttpServerType..ctor(Type type)
   at System.Web.Services.Protocols.HttpServerProtocol.Initialize()
   at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)


I'm using asp.net , vb.net specifically if that matters.
thanks!
0
Comment
Question by:Starr Duskk
  • 3
  • 2
5 Comments
 
LVL 12

Accepted Solution

by:
Dimitris earned 500 total points
ID: 41862142
This exception is thrown before the request actually calls your service
It's a layer above your application and is handled internally.
I don't think that you can do anything about it
0
 
LVL 2

Author Comment

by:Starr Duskk
ID: 41862510
Is there an error number I can detect in IIS and change the setting in IIS?
thanks!
0
 
LVL 12

Expert Comment

by:Dimitris
ID: 41862818
IIS probably is able to find the end point
nevertheless, your endpoint waits for either a specific protocol or arguments that are not passed during the call (probably the contract)
therefore throws an exception (probably)
can you post some code ?
0
 
LVL 2

Author Comment

by:Starr Duskk
ID: 41864212
Not sure why posting code would matter. It's simply a user who takes the URL I give them to use as their endpoint, and they paste it into their browser rather than using a webservice.

I can put a step on the class that should be called, but it never reaches the class at all. You said yourself it's a layer above the application and handled internally.

I just wonder how other businesses display intelligent messages to their users and thought I might find someone experienced with this issue. It would be applicable to every single web service out there.
0
 
LVL 12

Expert Comment

by:Dimitris
ID: 41871812
as said it's the contract of the endpoint
if the contract is invalid you will not manage to initiate the call in the endpoint
Sorry, without any data , i can't be of any assistance
0

Featured Post

MIM Survival Guide for Service Desk Managers

Major incidents can send mastered service desk processes into disorder. Systems and tools produce the data needed to resolve these incidents, but your challenge is getting that information to the right people fast. Check out the Survival Guide and begin bringing order to chaos.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

More often than not, we developers are confronted with a need: a need to make some kind of magic happen via code. Whether it is for a client, for the boss, or for our own personal projects, the need must be satisfied. Most of the time, the Framework…
Wouldn’t it be nice if you could test whether an element is contained in an array by using a Contains method just like the one available on List objects? Wouldn’t it be good if you could write code like this? (CODE) In .NET 3.5, this is possible…
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

792 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question