Aplicación del cumplimiento para los enlaces WSDL de los servicios web JAX-WS.

Puede añadir extensiones de enlaces en el documento WSDL y después aplicar las extensiones en las aplicaciones con soporte para JAX-WS en Liberty.

Acerca de esta tarea

Liberty admite el uso de la extensión wsdl:binding que se necesita en la especificación JAX-WS 2.2. En este tema se describe cómo definir las extensiones WSDL y enlazarlas con el elemento de extensión personalizada de Liberty.

Procedimiento

  1. Defina un elemento de extensión y correlaciónelo con el usuario que se ha definido en la extensión WSDL. En el ejemplo siguiente se muestra cómo enlazar con la extensión WSDL {http://server.respectbinding.jaxws22/}goodBinding.
    @XmlRootElement(name = "goodBinding", namespace = "http://server.respectbinding.jaxws22/")
    public class GoodBindingElement implements ExtensibilityElement, Serializable {
        private String uri;
        private QName elementType = null;    
        private Boolean required = null;
        
        @XmlAttribute(name = "uri")
        public String getUri() {
            return this.uri;
        }
    
        @Override
        public QName getElementType() {
            return this.elementType;
        }
    
        @XmlAttribute(name = "required", namespace="http://schemas.xmlsoap.org/wsdl/")
        public Boolean getRequired() {
            return this.required;
        }
            
        public void setUri(String uri){
            this.uri = uri;
        }
    
        @Override
        public void setElementType(QName elementType) {
            this.elementType = elementType;
        }
    
        @Override
        public void setRequired(Boolean required) {
            this.required = required;
        }
    }
  2. Añadir el archivo extensions.xml en el directorio /META-INF de la web o aplicación EJB. Este archivo define dónde se pueden utilizar las extensiones en el documento WSDL. En el ejemplo siguiente, se añade una entrada para establecer la propiedad javax.wsdl.Binding como tipo de padre de la clase goodBindingElement en el archivo extensions.xml. La entrada también significa que la extensión {http://server.respectbinding.jaxws22/}goodBinding sólo se puede añadir bajo el elemento binding del documento WSDL.
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
    
    <properties>
    	<!-- XML Binding -->
    	<entry key="org.apache.cxf.bindings.xml-1">javax.wsdl.Binding=jaxws22.respectbinding.server.common.GoodBindingElement</entry>
    </properties>
  3. Añada la extensión {http://server.respectbinding.jaxws22/}goodBinding bajo el elemento binding como se indica a continuación:
    ...
      <binding name="EchoPortBinding" type="tns:Echo">
        <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
        <tns:goodBinding wsdl:required="true" uri="http://good/good" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" />
        <operation name="echo">
          <soap:operation soapAction=""/>
          <input>
            <soap:body use="literal"/>
          </input>
          <output>
            <soap:body use="literal"/>
          </output>
          <fault name="Exception">
            <soap:fault name="Exception" use="literal"/>
          </fault>
        </operation>
      </binding>
      ...

Icono que indica el tipo de tema Tema de tarea



Icono de indicación de fecha y hora Última actualización: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_dep_jaxws_extension
Nombre de archivo:twlp_dep_jaxws_extension.html