<div dir="ltr">I can confirm that I get the same error using Mono 3.0.7. I'd suggest raising it as a bug in the Mono bug tracker.</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Sep 20, 2013 at 3:10 AM, Neale Ferguson <span dir="ltr"><<a href="mailto:NealeFerguson@verizon.net" target="_blank">NealeFerguson@verizon.net</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">At the bottom is the minimal test case that results in the error. If you<br>
rename the 2nd testIt to something else and get rid of the (MessageName...),<br>
there's no problem.<br>
<br>
Would someone try it on there platform to check that it's not something I've<br>
done on my system?<br>
<br>
The problem appears to be when<br>
System.Web.Services.Description.BasicProfileChecker.CheckR2305 invokes<br>
System.Web.Services.Description.MessageCollection.get_Item using the string<br>
"TestInt". The IndexOf comes back with -1 which triggers the throw. The call<br>
to IndexOf is:<br>
<br>
[  6] . . . . . . ENTER:<br>
System.Web.Services.Description.MessageCollection:IndexOf<br>
(System.WebDescription.Message) ip: 0x3ffd725d0ac sp: 0x3fff4b13a98 -<br>
this[MONO_TYPE_CLASS]: 0x3ffd767ae3:null],ECTT<br>
<div class="im"><br>
<br>
                public Message this [int index] {<br>
                        get {<br>
                                if (index < 0 || index > Count)<br>
                                        throw new<br>
ArgumentOutOfRangeException ();<br>
<br>
                                return (Message) List [index];<br>
                        }<br>
                        set { List [index] = value; }<br>
                }<br>
<br>
                public Message this [string name] {<br>
                        get { return this [IndexOf ((Message) Table<br>
[name])]; }<br>
                }<br>
<br>
</div>The trace shows:<br>
<br>
[  6] . . . . . . ENTER:<br>
System.Web.Services.Description.MessageCollection:IndexOf<br>
(System.WebDescription.Message) ip: 0x3ffd725d0ac sp: 0x3fff4b13a98 -<br>
this[MONO_TYPE_CLASS]: 0x3ffd767ae3:null],ECTT<br>
<br>
As far as I can see from the trace, List.Insert is never called to put<br>
things into the table.<br>
<br>
-------------------------------------------<br>
<br>
<%@ WebService Language="C#" Class="TestService.Testing" %><br>
<br>
using System;<br>
using System.Web.Services;<br>
using System.Xml;<br>
using System.Runtime.InteropServices;<br>
<br>
namespace TestService<br>
{<br>
        [WebService (Namespace="<a href="http://localhost/TestService" target="_blank">http://localhost/TestService</a>",<br>
                     Description="Webservice test case")]<br>
        public class Testing : WebService<br>
        {<br>
                [WebMethod]<br>
                public XmlDocument testIt()<br>
                {<br>
                        XmlDocument doc = new XmlDocument();<br>
                        doc.LoadXml("<TEST>Test Data</TEST>");<br>
<br>
                        return(doc);<br>
                }<br>
                [WebMethod (MessageName="testInt")]<br>
                public XmlDocument testIt(int a)<br>
                {<br>
                        XmlDocument doc = new XmlDocument();<br>
                        if (a == 0)<br>
                                doc.LoadXml("<TEST>Test 0</TEST>");<br>
                        else<br>
                                doc.LoadXml("<TEST>Test !0</TEST>");<br>
<br>
                        return(doc);<br>
<div class="im HOEnZb">                }<br>
        }<br>
}<br>
<br>
<br>
On 9/18/13 5:08 AM, "Robert Jordan" <<a href="mailto:robertj@gmx.net">robertj@gmx.net</a>> wrote:<br>
<br>
</div><div class="HOEnZb"><div class="h5">> Neale,<br>
><br>
> On 18.09.2013 00:19, Neale Ferguson wrote:<br>
>> I had a webservice that was working fine. I duplicated a routine - same name<br>
>> but with different parameters which requires the MessageName attribute. So<br>
>> for the duplicated routine which originally just had:<br>
>>                  [WebMethod (Description="Process VMARCH QUERY TAPES ALL<br>
>> command")]<br>
>> I changed it to<br>
>>                  [WebMethod (Description="Process VMARCH QUERY TAPES ALL<br>
>> command",<br>
>>                              MessageName="vmaQryTapesAll")]<br>
>><br>
>> Pointed browser to: <a href="http://localhost:9000/webservice.asmx" target="_blank">http://localhost:9000/webservice.asmx</a> and now get:<br>
>><br>
>> System.ArgumentOutOfRangeException<br>
>> Argument is out of range.<br>
>><br>
>> Is there some way to get more informative messages from xsp to get it to<br>
>> tell me exactly what it's choking on? I can invoke the webmethods directly<br>
>> on the browser but it's just this bit that is giving me grief.<br>
><br>
> The Web Service overview and test page is generated by<br>
> $prefix/etc/mono/x.x/DefaultWsdlHelpGenerator.aspx,<br>
> where x.x is the .NET version.<br>
><br>
> It looks like the exception is thrown when Page_Load of this<br>
> ASPX page is invoking WebServicesInteroperability.CheckConformance.<br>
><br>
> That's where I would start looking for issue with overloaded<br>
> WebMethods following back the stack trace.<br>
><br>
> Try to get line numbers with<br>
><br>
> MONO_OPTIONS=--debug xsp ...<br>
><br>
> Robert<br>
><br>
><br>
><br>
> _______________________________________________<br>
> Mono-devel-list mailing list<br>
> <a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br>
> <a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
<br>
<br>
_______________________________________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
</div></div></blockquote></div><br></div>