Pregunta

Tengo la siguiente solicitud y pareja de contratos de datos de respuesta para una llamada de método de servicio web

  <xs:element name="GetUserOptionsRequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="OptionType" type="entities:UserOption" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetUserOptionsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Options" type="entities:UserOption" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

El problema es que lo que quiero tener es una forma de decir (Pseudocódigo)

GetUserResponse response = GetuserOptions(new GetUserOptionsRequest(Type T))

y para que la respuesta contenga un ilista dependiendo de qué tipo paso paso.

Con mi contrato de datos anterior XSD, está esperando una instancia de una clase en el objeto Solicitud, cuando solo quiera especificar una definición de tipo.

Realmente supongo lo que lo quisiera

GetUserResponse<T> response = GetUserOptions(new GetUserOptionsRequest<T>());

Pero no estoy seguro de cómo especificar clases / métodos genéricos en XSD.¿Alguien puede apuntarme en un buen artículo o explicar cómo puedo definir esto en XSD?

Estoy usando el azul WSCF para la generación de código también.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top