I wrote a method in WebService and used ArrayList as the parameter. The returned result is also ArrayLsit.
[WebMethod]
Public ArrayList GetArrayList2 (ArrayList arrayList)
{
Return arrayList;
}
Then I call it on an ASP. NET client.
Private void button#click (object sender, System. EventArgs e)
{
Localhost. Service1 s = new TestWeb. localhost. Service1 ();
ArrayList al = new ArrayList ();
Al. Add ("arrayList_1 ");
Al. Add ("arrayList_2 ");
// The following sentence indicates that the al cannot be converted to the object [] type.
ArrayList aa = s. GetArrayList2 (al );
Foreach (string str in aa)
{
Response. Write (str );
}
}
View the Reference. cs file automatically generated by vs.net and find that the parameter has actually changed
/// <Remarks/>
[System. web. services. protocols. soapdocumentmethodattrispace ("http://tempuri.org/GetArrayList2", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System. web. services. description. soapBindingUse. literal, ParameterStyle = System. web. services. protocols. soapParameterStyle. wrapped)]
Public object [] GetArrayList2 (object [] arrayList ){
Object [] results = this. Invoke ("GetArrayList2", new object [] {
ArrayList });
Return (object []) (results [0]);
}
Why?