2. SOAP Binding
Define el estilo y el formato del mensaje SOAP y del WSDL. Hay 3
parámetros claves.
Style
- Esta opción corresponde a la forma de como puede ser estructurado el
elemento body del mensaje SOAP. El valor por defecto es DOCUMENT.
Use
- Especifica las reglas de codificación del mensaje SOAP. Esto también se
realiza dentro del elemento binding. El valor puede ser encoded o literal. Se
refiere a las reglas de serialización que debe seguir tanto el cliente como el
servidor SOAP para interpretar el contenido del elemento body. El valor por
defecto es LITERAL.
Parameter Style
- Determina si los parámetros del método representan todo el cuerpo del
mensaje o si los parámetros son elementos envueltos en un elemento de nivel
superior con el nombre de la operación. Los valores válidos son
WRAPPED o BARE. El valor por defecto es WRAPPED
Java Web Services
3. El Atributo "style"
Document
- El contenido del body se especifica mediante esquemas XML definidos en la
sección types.
RPC
- El contenido del body debe cumplir las normas de la especificación SOAP
(Seccion 7):
- El body solo contiene un elemento con el nombre de la operación
- Los parámetros debe ser sub-elementos
Java Web Services
4. El Atributo "use"
Literal
- Significa que las definiciones de tipos siguen literalmente una definición de
esquema XML.
Encoded
- Los datos pueden venir con su representación en el XML o pueden usar el
atributo encodingStyle para indicar una URL.
Java Web Services
5. Java Web Services
Soporte JAX-WS RI
La implementación de referencia de JAW-WS 2.1 trata los modelo de la
siguiente forma.
RPC/Literal Wrapped: Soportado.
RPC/Literal Bare: No es soportado. Arroja la exception
"com.sun.xml.internal.ws.model.RuntimeModelerException".
RPC/Encoded Wrapped: No Arroja error pero el encoded no es tenido en
cuenta y se genera como tipo literal.
RPC/Encoded Bare: No es soportado. Arroja la exception
"com.sun.xml.internal.ws.model.RuntimeModelerException".
Document/Literal Wrapped: Soportado.
Document/Literal Bare: Soportado pero con restricciones, por que el
BODY solo puede contener un elemento.
Document/Encoded: Soportado pero no usado.