Not sure what I’m doing wrong but I have two services one is WCF and the other is a ASMX service.
I’m trying to call array of doubles the same way I did in my asmx version.
Here is an image of the two services:

I got a fix to being able to call that method but I would like to know why ArrayOfDouble isn’t showing up the same way in my serviceref2 as my serviceref1?
This is the WCF version:
namespace WcfSum
{
// NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService1" in both code and config file together.
[ServiceContract]
public interface SumListWCF
{
[OperationContract]
string CalculateSum(List<double> listDouble);
}
}
namespace WcfSum
{
// NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "Service1" in code, svc and config file together.
public class SumList : SumListWCF
{
public string CalculateSum(List<double> listDouble)
{
return listDouble.Sum().ToString();
}
}
}
This is the ASMX version:
namespace CalculateWebServiceSum
{
/// <summary>
/// Summary description for Service1
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
public class SumList : System.Web.Services.WebService
{
[WebMethod]
public string CalculateSum(List<double> listDouble)
{
return listDouble.Sum().ToString();
//return listDouble.Select(n => (double)n).ToString();
}
}
}
Previous post was here: WCF array of doubles not called successfully
This provided the fix but doesn’t explain why it doesn’t operate the same way. Or if there was a way of getting it to act the same. Which makes me feel like im fundamentally missing something?
EDIT
P.s these are just running locally.
There is nothing in the SOAP or WSDL standards that specifies how something like a
List<double>should be serialized. ASMX apparently invented acomplexTypein the XML schema to represent array of double.WCF is much better than ASMX. When you use “Add Service Reference”, you get to decide how to handle repeated elements like your array of doubles. You can choose for them to be treated as an array, as a
List<T>, etc.There would be negative value in restricting WCF to the limitations of ASMX, which is a legacy technology.