В основном:
[DataContract(Namespace = "http://www.abc.com/foo" Name = "Get{0}Request")]
public class GetGenericRequest<T> { ... }
мой WSDL имеет такой вербатум:
<xs:complexType name="GetFooRequest">
<xs:annotation>
<xs:appinfo>
<GenericType xmlns="http://schemas.microsoft.com/2003/10/Serialization/" Name="Get{0}Request" Namespace="http://www.abc.com/foo">
<GenericParameter Name="Foo" Namespace="http://www.abc.com/foo"/>
</GenericType>
</xs:appinfo>
</xs:annotation>
<xs:sequence>
<xs:element xmlns:q2="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="Ids" nillable="true" type="q2:ArrayOfint"/>
</xs:sequence>
</xs:complexType>
<xs:element name="GetFooRequest" nillable="true" type="tns:GetFooRequest"/>
Так что, глядя на это, просто не кажется, что это будет совместимо. У него есть дополнительные "appinfo" вещи, которые, вероятно, отбросят вещи для Java или PHP, верно? или они просто проигнорируют это?
Кроме того, еще более странно то, что, использую ли я int[]
или ICollection<int>
и т. Д., Он по-прежнему делает тип ArrayOfint
(что, как я понимаю, изменяет все базовые коллекции, которые он понимает, на массив. Но , это имя совместимо?)