Hi Ron,
I appreciate your time. As indicated in my previous post that is precisely
what I do. The issue is that I receive the following error when doing so:
[WebMethod]
void HelloWorld(Guid parameter1);
When calling this method I receive the following error:
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.ServerProtocol.SetContext(Type type,
HttpContext context, HttpRequest request, HttpResponse response)
at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type,
HttpContext context, HttpRequest request, HttpResponse response, Boolean&
abortProcessing)If I change the type of parameter1 to a simple type such as
string or int then the method works as expected. My operating system is
Windows 2003 Server R2 (Enterprise Edition) with all the latest patches.
> You could define GUID as a schema type and use that versus System.Guid and
> relying on how the platform will translate it:
[quoted text clipped - 73 lines]
>>>
>>> John
RYoung - 21 Dec 2006 18:26 GMT
Sorry about that, didn't realize System.Guid was serializable.
I can't reproduce the error here. Just a simple web service with the same
signature as what you've posted, and a console client calling the service
and passing a Guid.NewGuid() to it. Tried Guid.Empty as well.
Is it safe to say that since you aren't getting a SoapException, that the
exception is occuring on the client side? I know you mention changing the
signature from Guid to String and everything works, but I think there's an
issue serializing the value of what's supposed to be a guid on the client.
How about if you change the signature to string, have the service log the
value it receives and see if that value is a valid Guid format?
Ron
> Hi Ron,
>
[quoted text clipped - 95 lines]
>>>>
>>>> John