Application du respect des liaisons WSDL dans les services Web JAX-WS

Vous pouvez ajouter des extensions de liaison dans le document WSDL, puis appliquer les extensions dans vos applications avec le support JAX-WS sous Liberty.

Pourquoi et quand exécuter cette tâche

Liberty prend en charge l'utilisation de l'extension wsdl:binding, qui est requise dans la spécification JAX-WS 2.2. Cette rubrique explique comment définir les extensions WSDL et comment les lier à l'élément d'extensibilité personnalisé dans Liberty.

Procédure

  1. Définissez un élément d'extensibilité et mappez-le avec l'utilisateur qui est défini dans l'extension WSDL. L'exemple suivant montre comment établir une liaison avec l'extension WSDL extension {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. Ajoutez le fichier extensions.xml dans le répertoire /META-INF de votre application Web ou EJB. Ce fichier définit l'endroit où les extensions peuvent être utilisées dans le document WSDL. Dans l'exemple suivant, une entrée permettant de définir la propriété javax.wsdl.Binding comme type parent de la classe goodBindingElement est ajoutée au fichier extensions.xml. L'entrée signifie également que l'extension {http://server.respectbinding.jaxws22/}goodBinding ne peut être ajoutée que sous l'élément binding dans le document 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. Ajoutez l'extension {http://server.respectbinding.jaxws22/}goodBinding sous l'élément binding comme suit :
    ...
      <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>
      ...

Icône indiquant le type de rubrique Rubrique Tâche



Icône d'horodatage Dernière mise à jour: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_dep_jaxws_extension
Nom du fichier : twlp_dep_jaxws_extension.html