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



Symbol für Zeitmarke Letzte Aktualisierung: 01.12.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_dep_jaxws_binding
Dateiname: twlp_dep_jaxws_binding.html