private Type GetInteropType(String value, String httpstring)
{
// For the case where the client dll has a different name from the server dll
// The assembly name returned in soap won't match the assembly name in the client dll.
// so the custom attributes are needed to map from the Soap assembly name to the client assembly
// This map can only work if the client type was preloaded.
Type type = SoapServices.GetInteropTypeFromXmlType(value, httpstring);
if (type == null)
{
// try simple assembly name
int index = httpstring.IndexOf("%2C");
if (index > 0)
{
String simpleAssem = httpstring.Substring(0,index);
type = SoapServices.GetInteropTypeFromXmlType(value, simpleAssem);
}
}
return type;
}