2011-01-13 10 views
5

Tenemos varios servicios web .Net para los cuales usamos un cliente java. Cada servicio web tiene su propio espacio de nombres, pero todos usan mucho de las clases comunes. Cuando se exponen como WSDL, luego se generan en código Java, obtenemos muchos duplicados en Java de las mismas clases .Net.El mismo objeto en múltiples servicios web da como resultado clases duplicadas

¿Existe alguna manera en .Net para definir un conjunto de objetos de WebService que se exportarán en un espacio de nombres compartido (en XML)? ¿O podemos hacerlo cuando usamos wsimport en Java para generar solo una instancia de cada clase duplicada?

Respuesta

0

Desde el lado del servicio, una de las opciones podría ser tener un WSDL único especialmente diseñado que describa todos los servicios. Consulte this article para saber cómo hacerlo (aplicable a los servicios de asmx).

En nota adicional, para clientes .NET, su herramienta wsdl bastante simple de usar con sharetypes opciones para tener tipos comunes generados una vez y reutilizados entre múltiples servidores de servicio. Con suerte, herramientas/opciones similares quizás existan en el lado del cliente Java.

0

La opción -p de wsimport le permite anular el espacio de nombre especificado en el WSDL a un paquete que usted especifique. Si especifica el mismo paquete para cada WSDL, solo obtendrá una instancia de cada clase.

Cuestiones relacionadas