Propiedades avanzadas de objetos de negocio

Las propiedades avanzadas de los objetos de negocio permiten personalizar la representación XML serializada del objeto de negocio. Los sistemas externos utilizan esta representación XML cuando un objeto de negocio forma parte de un servicio web expuesto.

Las propiedades avanzadas que se utilizan para fines de serialización se crean automáticamente con los valores adecuados cuando crea un objeto de negocio o importa un archivo WSDL con objetos de negocio. Se recomienda dejar estos valores de serialización tal como están. Cambie un valor sólo si es un usuario avanzado y considera que debe alterar temporalmente un valor. Debe conocer bien todos los elementos XML estándar definidos en el esquema XML de W3C El enlace externo abre una nueva ventana o pestaña. También debe haber leído el tema Compatibilidad de servicios web y el tema Generación de modelo XSD para objetos de negocio que se enlazan al final de este tema. En estos temas se especifican las restricciones que se aplican a los esquemas XML que interactúan con este producto y dentro de este producto.

Un cambio sólo afectará a este objeto de negocio en concreto. Si tiene una aplicación de proceso con 100 objetos de negocio y desea alterar temporalmente un elemento como, por ejemplo, el espacio de nombres de destino en la representación XML para todos los objetos de negocio, deberá realizar 100 cambios.

Para realizar la personalización, seleccione y cambie una propiedad, guarde la configuración del objeto de negocio y, a continuación, pulse Ver esquema XML para ver la definición de esquema XML (XSD) que describe la representación XML del objeto de negocio.
Nota: La estructura de elementos hijo cuyos tipos están definidos en kits de herramientas dependientes no se muestran en el esquema generado. Para ver esas estructuras, abra el tipo de elemento hijo y vea el esquema.
En esta sección, cada propiedad tiene una descripción y algunas contienen ejemplos de valores que puede cambiar utilizando la personalización para poder comprender el comportamiento utilizando la herramienta de personalización.

Todos los cambios en los valores de serialización deben probarse. Por ejemplo, si utiliza el objeto de negocio en los servicios web de entrada o salida, deberá probar esos servicios web después de cambiarlos.

Tipo de lista anónimo

Esta propiedad establece si el tipo de derivador es con nombre o anónimo. El valor predeterminado es false (tipo con nombre). Esta propiedad sólo está disponible cuando el parámetro es una lista y la propiedad wrap list (incluir lista) es true.

Tipo anónimo

Los esquemas pueden crearse con conjuntos de tipos con nombre, por ejemplo, un InvoiceType. A continuación, pueden declararse elementos como, por ejemplo, invoiceCanadian, que hagan referencia a esos tipos. No obstante, si sólo debe hacer referencia a un tipo una vez, existe una sobrecarga de codificación considerable. En estos casos de una sola referencia se utiliza un tipo anónimo.

Para especificar el valor de un tipo anónimo, seleccione Tipo anónimo y seleccione true o false. El valor predeterminado es false. Si ha leído el tema Generación de modelo XSD para objetos de negocio, también sabrá que el generador no cumple el valor true. Guarde el trabajo. Pulse Ver esquema XML. La salida debe ser similar al ejemplo siguiente.

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://EH" targetNamespace=http://EH" 
		elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="employee">
		<xs:complexType>
			<xs:sequence>        
				<xs:element name="employeeNumber" nillable="false" type="xs:string" minOccurs="0" maxOccurs="1" />
				<xs:element name="firstName" nillable="false" type="xs:string" minOccurs="0" maxOccurs="1" />
				<xs:element name="lastName" nillable="false" type="xs:string" minOccurs="0" maxOccurs="1" />
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>

Nombre de elemento

Si la propiedad de tipo anónimo se establece en true, esta propiedad coloca el tipo anónimo bajo un elemento con el nombre especificado.

Utilice el valor predeterminado a menos que sea estrictamente necesario para realizar un cambio.

Espacio de nombres del elemento

Esta propiedad establece el espacio de nombres del elemento contenedor.

Utilice el valor predeterminado a menos que sea estrictamente necesario para realizar un cambio.

Excluir de XML

En la mayoría de los casos, dejará este valor en su valor predeterminado false, que incluirá el objeto de negocio o parámetro en la representación XML. No obstante, un tipo puede definir algunos campos de instancia que no desee serializar en una representación XML. Por ejemplo, un campo de instancia que no tiene un equivalente en XML, ya que hace referencia a un proceso de ejecución interna. Puede que tampoco desee serializar muchos datos cuando sepa que el servicio web puede utilizar algunos de los datos y calcular los valores, lo que mejora el rendimiento al reducir los datos transferidos.

Para excluir un objeto de negocio o parámetro de la representación XML, seleccione Excluir de XML y seleccione true. Guarde el trabajo. Pulse Ver esquema XML.

Por ejemplo, si se utiliza el ejemplo de la propiedad de tipo anónimo y se excluye employeeNumber, la salida es como el ejemplo siguiente:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://EH" targetNamespace=http://EH" 
		elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="employee">
		<xs:complexType>
			<xs:sequence>        
				<xs:element name="firstName" nillable="false" type="xs:string" minOccurs="0" maxOccurs="1" />
				<xs:element name="lastName" nillable="false" type="xs:string" minOccurs="0" maxOccurs="1" />
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>

Nombre de elemento de lista

Esta propiedad establece el nombre de un elemento de lista incluido. Esta propiedad sólo está disponible cuando el parámetro es una lista y la propiedad wrap list (incluir lista) es true.

Utilice el valor predeterminado a menos que sea estrictamente necesario para realizar un cambio. El valor predeterminado es el nombre del tipo de los elementos de lista.

Nombre de tipo de lista

Esta propiedad establece el nombre del tipo complejo que encapsula una lista de envoltura. Por lo tanto, la propiedad es válida sólo para una lista de envoltura que no es anónima.

Utilice el valor predeterminado a menos que sea estrictamente necesario para realizar un cambio.

Máximo de apariciones

Esta propiedad establece el número máximo de veces que se produce el parámetro. El valor predeterminado es 1. Esta propiedad corresponde a maxOccurs en el esquema XML.

Utilice el valor predeterminado a menos que sea estrictamente necesario para realizar un cambio.

Mínimo de apariciones

Esta propiedad establece el número mínimo de veces que se produce el parámetro. El valor por omisión es 0. Esta propiedad corresponde a minOccurs en el esquema XML.

Utilice el valor predeterminado a menos que sea estrictamente necesario para realizar un cambio.

Nombre

Esta propiedad altera temporalmente el nombre del parámetro serializado con el nombre que especifique. El valor predeterminado es el nombre del parámetro. Esta propiedad corresponde al atributo name en el esquema XML.

Utilice el valor predeterminado a menos que sea estrictamente necesario para realizar un cambio.

Espacio de nombres

Si establece el espacio de nombres para el objeto de negocio, esta propiedad cambia el espacio de nombres de destino. El espacio de nombres de destino define explícitamente los elementos que pertenecen a esta instancia del espacio de nombres. Si lo desea, puede cambiar el espacio de nombres de destino si ha importado un archivo WSDL y el espacio de nombres de destino del objeto de negocio se ha cambiado en la importación. Si establece la propiedad para un parámetro, se altera temporalmente el espacio de nombres del elemento serializado para ese parámetro.

Para renombrar el espacio de nombres de destino, seleccione Espacio de nombres y especifique el espacio de nombres de destino que prefiera. Por ejemplo: http://www.mycorporation.com/employees. Guarde el trabajo. Pulse Ver esquema XML. La salida debe ser similar al ejemplo siguiente.

<xs:schema targetNamespace="http://www.mycorporation.com/employees"
	elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:complexType name="employee">
		<xs:sequence>
			<xs:element name="employeeNumber" type="xs:int" minOccurs="0"
				maxOccurs="1" nillable="false" />
			<xs:element name="firstName" type="xs:string" minOccurs="0"
				maxOccurs="1" nillable="false" />
			<xs:element name="lastName" type="xs:string" minOccurs="0"
				maxOccurs="1" nillable="false" />
		</xs:sequence>
	</xs:complexType>
	<xs:element name="employee" type="tns:employee" />
</xs:schema>
Importante: No establezca el espacio de nombres en el espacio de nombres de esquema XML estándar http://www.w3.org/2001/XMLSchema.

Puede adoptar un valor nulo

Esta propiedad determina si el parámetro puede tener un valor nulo.

Utilice el valor predeterminado a menos que sea estrictamente necesario para realizar un cambio.

Tipo de nodo

Los nodos en un documento XML pueden definirse como elementos o atributos. En la mayoría de los casos, se utiliza un tipo de elemento que es el valor predeterminado, por lo que no es necesario establecerlo explícitamente. No obstante, puede establecerlo para utilizar un atributo.

Para cambiar el tipo a un atributo, seleccione Tipo de nodo y seleccione Atributo. Guarde el trabajo. Pulse Ver esquema XML. La salida debe ser similar al ejemplo siguiente.

<xs:schema targetNamespace="http://EH" elementFormDefault="qualified"
	attributeFormDefault="unqualified">
	<xs:complexType name="employee">
		<xs:sequence>
			<xs:element name="firstName" type="xs:string" minOccurs="0"
				maxOccurs="1" nillable="false" />
			<xs:element name="lastName" type="xs:string" minOccurs="0"
				maxOccurs="1" nillable="false" />
		</xs:sequence>
		<xs:attribute name="employeeNumber" type="xs:int" />
	</xs:complexType>
	<xs:element name="employee" type="tns:employee" />
</xs:schema>

Orden

El orden establece explícitamente el orden de los elementos de tipo complejo. Normalmente dejará el orden en la representación XML del objeto de negocio exactamente como está en el editor de objetos de negocio. Sin embargo, puede cambiar el orden si el servicio web externo ha cambiado y necesita que los elementos se presenten de una forma específica.

Para cambiar el orden de los elementos de un tipo complejo, seleccione cada elemento y añada un número al campo Orden para especificar el orden que desea en la representación XML. Por ejemplo, supongamos que el orden de un tipo complejo de empleado es employeeNumber, firstName y lastName, y debe cambiarlo para dar cabida a un orden de servicio web de lastName, firstName y employeeNumber. Establecería employeeNumber en 2, firstName en 1 y lastName en 0. Guarde el trabajo. Pulse Ver esquema XML. La salida debe ser similar al ejemplo siguiente.

<xs:schema targetNamespace="http://EH" elementFormDefault="qualified"
	attributeFormDefault="unqualified">
	<xs:complexType name="employee">
		<xs:sequence>
			<xs:element name="lastName" type="xs:string" minOccurs="0"
				maxOccurs="1" nillable="false" />
			<xs:element name="firstName" type="xs:string" minOccurs="0"
				maxOccurs="1" nillable="false" />
			<xs:element name="employeeNumber" type="xs:int" minOccurs="0"
				maxOccurs="1" nillable="false" />
		</xs:sequence>
	</xs:complexType>
	<xs:element name="employee" type="tns:employee" />
</xs:schema>

Huso horario

Esta propiedad establece el huso horario que se debe utilizar al serializar un parámetro de fecha. La propiedad no se utiliza en la generación de WSDL o en la creación de esquemas, sino que se utiliza para visualizar los valores de fecha y hora. El valor predeterminado es CLIENT. Los demás valores válidos son SERVER y UTC.

Utilice el valor predeterminado a menos que sea estrictamente necesario para realizar un cambio.

Nombre de tipo

Esta propiedad establece el nombre calificado del tipo para el objeto de negocio o parámetro.

Utilice el valor predeterminado a menos que sea estrictamente necesario para realizar un cambio.

Espacio de nombres del tipo

Esta propiedad altera temporalmente el espacio de nombres de tipo del tipo XSD serializado con el espacio de nombres que especifique.

Utilice el valor predeterminado a menos que sea estrictamente necesario para realizar un cambio.

Lista de inclusión (wrap)

Esta propiedad determina si se debe crear un tipo de derivador de matriz para contener una lista. El valor predeterminado es false, lo que significa que la lista no está incluida. Una lista es una matriz y se especifica cuando Lista está seleccionado como atributo. Podría utilizar este campo si desea encapsular la matriz. Un tipo de derivador puede ser anónimo y el nombre de los elementos de lista pueden alterarse temporalmente. Si no ha seleccionado Lista para una variable, se inhabilita este campo y otros campos con lista en su nombre.