Web-Service-Endpunkte anpassen

Sie können die Datei ibm-ws-bnd.xml verwenden, um Web-Service-Endpunkte für Server-Provider und -Client innerhalb Ihrer Anwendungen anzupassen.

Vorbereitende Schritte

Die Datei ibm-ws-bnd.xml muss im Verzeichnis /WEB-INF einer webbasierten Web-Service-Anwendung (WAR-Datei) oder im Verzeichnis /META-INF einer EJB-basierten Web-Service-Anwendung (JAR-Datei) enthalten sein. Wenn der Client in clientContainer ausgeführt wird, muss die Datei ibm-ws-bnd.xml im Verzeichnis /META-INF der JAR-Datei in der Client-EAR-Datei enthalten sein.

Informationen zu diesem Vorgang

Indem Sie die Datei ibm-ws-bnd.xml konfigurieren, können Sie die Web-Service-Adresskonfigurationen sowohl im Service-Provider als auch im Servicekonsumenten überschreiben, ihre Web-Services durch Verwendung eines bestimmten URL in Ihren in Liberty implementierten Anwendungen exportieren und die Web-Services aus JAX-WS-Clientanwendungen importieren.

Informationen zu allen verfügbaren Elementen, die Sie innerhalb der Datei ibm-ws-bnd.xml konfigurieren können, finden Sie unter Liberty: Datei "ibm-ws-bnd.xml".

Vorgehensweise

  1. Überschreiben Sie Web-Service-Bindungen für Service-Provider.
    1. Überschreiben Sie die Web-Service-Endpunktadresse. Im Element webservice-endpoint können Sie die Endpunktadresse eines vom Attribut port-component-name angegebenen Web-Service-Endpunkts überschreiben. Das Attribut address Attribut gibt den relativen Pfad zum Kontextstammverzeichnis Ihrer Anwendung an.
      <?xml version="1.0" encoding="UTF-8"?>
      <webservices-bnd xmlns="http://websphere.ibm.com/xml/ns/javaee"
      		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      				xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-ws-bnd_1_0.xsd" 
      		version="1.0">
      		<!-- Beliebig viele Endpunktbeschreibungen -->
      	<webservice-endpoint port-component-name="Hello" address="/hiService" />
      </webservices-bnd>
    2. Überschreiben Sie das Kontextstammverzeichnis für EJB-basierte Web-Services. Wenn der Web-Service EJB-basiert und in einer EJB-Anwendung (Java-Archiv, JAR) definiert ist, entspricht das Standardstammverzeichnis dem EJB-JAR-Namen. Allerdings können Sie den Standardwert mit dem Attribut context-root des Elements http-publishing überschreiben.
      <?xml version="1.0" encoding="UTF-8"?>
      <webservices-bnd xmlns="http://websphere.ibm.com/xml/ns/javaee"
      		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      				xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-ws-bnd_1_0.xsd" 
      		version="1.0">
      	<!-- HTTP-Veröffentlichungsmodul überschreiben - optional -->
      	<http-publishing context-root="/HiServer" />
      </webservices-bnd>
      Anmerkung: Das Attribut context-root wird nur wirksam, wenn der Web-Service EJB-basiert und in einem EJB-Java-Archiv definiert ist. Wenn der Web-Service in einer Webanwendung (Webarchiv, WAR) definiert ist, unabhängig davon, ob es sich um einen EJB-basierten Web-Service handelt, wird das Attribut context-root des Elements http-publishing ignoriert, und als Kontextstammverzeichnis wird immer das Kontextstammverzeichnis der Webanwendung verwendet.
  2. Überschreiben Sie Web-Service-Bindungen für Clientanwendungen.
    1. Überschreiben Sie die Position des WSDL-Dokuments. Im service-ref Element, Sie können die WSDL-Position einer Web-Service-Referenz innerhalb einer Web-Service-Clientanwendung überschreiben.
      <?xml version="1.0" encoding="UTF-8"?>
      <webservices-bnd xmlns="http://websphere.ibm.com/xml/ns/javaee"
      		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      				xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-ws-bnd_1_0.xsd" 
      		version="1.0">
      	<service-ref name="services/hello" wsdl-location="http://localhost:9080/HiServer/hiService?wsdl" />
      </webservices-bnd>
      Das Attribut wsdl-location gibt einen absoluten URI (entweder Protokoll "HTTP" oder "file") an, kann aber auch ein relativer URI zum Stammverzeichnis der Clientanwendung sein. Beispiel:
      <?xml version="1.0" encoding="UTF-8"?>
      <webservices-bnd xmlns="http://websphere.ibm.com/xml/ns/javaee"
      		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      				xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-ws-bnd_1_0.xsd" 
      		version="1.0">
      	<service-ref name="services/hello" wsdl-location="WEB-INF/wsdl/hiService.wsdl" />
      </webservices-bnd>
    2. Überschreiben Sie die Portadresse. Im Element port können Sie die Adresse eines Ports innerhalb einer Web-Service-Referenz in einem Web-Service-Client überschreiben.
      <?xml version="1.0" encoding="UTF-8"?>
      <webservices-bnd xmlns="http://websphere.ibm.com/xml/ns/javaee"
      		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      				xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-ws-bnd_1_0.xsd" 
      		version="1.0">
      	<service-ref name="services/hello" wsdl-location="WEB-INF/wsdl/hiService.wsdl">
      				<port name="HelloPort" namespace="http://server.ejb.hello.sample.jaxws.ws.ibm.com/" 
      				address="http://localhost:9080/HiServer/hiService" />
      	</service-ref>
      </webservices-bnd>
      Das Attribut address des Elements port gibt den absoluten URI eines Web-Service-Ports an. Wenn der referenzierte Web-Service nur einen Port hat, können Sie das Attribut port-address des Elements service-ref verwenden. Beispiel:
      <webservices-bnd xmlns="http://websphere.ibm.com/xml/ns/javaee"
      		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      				xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-ws-bnd_1_0.xsd" 
      		version="1.0">
      		<service-ref name="services/hello" 
      			port-address="http://localhost:9080/HiServer/hiService" />
      </webservices-bnd>
      Anmerkung: Wenn sowohl das Attribut port-address des Elements service-ref als auch das Attribut address des Elements port angegeben sind, wird das Attribut address des Elements port wirksam.

Symbol das den Typ des Artikels anzeigt. Taskartikel

Dateiname: twlp_dep_jaxws_binding.html