Puede utilizar el archivo ibm-ws-bnd.xml para personalizar los puntos finales
de servicios web para el cliente y el proveedor del servidor dentro de las aplicaciones.
Antes de empezar
El archivo ibm-ws-bnd.xml debe estar en el directorio
/WEB-INF de aplicaciones de servicios web (archivo WAR) basadas en
web, o en el directorio /META-INF de una aplicación de servicios web
(archivo JAR) basada en EJB. Si el cliente se ejecuta en clientContainer, el archivo ibm-ws-bnd.xml debe estar en el directorio
/META-INF del archivo JAR en el EAR de cliente.
Acerca de esta tarea
Al configurar el archivo
ibm-ws-bnd.xml, puede alterar temporalmente las
configuraciones de dirección de servicios web en el proveedor
del servicio y, también, en el consumidor, exportar los servicios web
utilizando un URL específico en las aplicaciones desplegadas en
Liberty e importar
los servicios web desde aplicaciones cliente JAX-WS.
Para obtener todos los elementos disponibles que puede
configurar en el archivo ibm-ws-bnd.xml, consulte Liberty: El archivo ibm-ws-bnd.xml.
Procedimiento
- Altere temporalmente los enlaces de servicios web para los proveedores de servicios.
- Altere temporalmente la dirección de punto final de servicio web. En el elemento webservice-endpoint, puede alterar temporalmente
la dirección de punto final de un punto final de servicio web identificado por el atributo port-component-name. El atributo address especifica la vía de acceso relativa al raíz de contexto de la aplicación.
<?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">
<!-- 0 a muchas descripciones de punto final -->
<webservice-endpoint port-component-name="Hello" address="/hiService" />
</webservices-bnd>
- Altere temporalmente el raíz de contexto para los servicios web basados en EJB. Si el servicio web está basado en un servicio web basado en EJB y definido en una
aplicación EJB (archivo JAR), la raíz de contexto predeterminada es el nombre JAR de EJB. Sin embargo, puede alterar temporalmente el valor predeterminado utilizando el
atributo context-root del elemento http-publishing.
<?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">
<!-- alteraciones temporales de módulo de publicación http -->
<http-publishing context-root="/HiServer" />
</webservices-bnd>
Nota: El atributo context-root solo entra en vigor cuando el
servicio web está basado en EJB y se ha definido en un archivo jar de EJB. Si se define el
servicio web en una aplicación web (archivado WAR), no importa si se trata de un servicio web basado en EJB,
se pasa por alto el atributo context-root del elemento http-publishing
y el raíz de contexto siempre será el de la aplicación web.
- Altere temporalmente los enlaces de servicios web para las aplicaciones cliente.
- Altere temporalmente la ubicación del documento WSDL. En el elemento service-ref, puede alterar temporalmente
la ubicación WDSL de una referencia a servicio web en una aplicación cliente de servicio web.
<?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>
El atributo wsdl-location
especifica un URI absoluto (ya sea HTTP o un protocolo de archivo) y puede ser
también una URI relativa al raíz de la aplicación cliente. Por
ejemplo:<?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>
- Altere temporalmente la dirección del puerto. En el elemento port, puede alterar temporalmente
la dirección de un puerto en una referencia a servicio web de un cliente de servicio web.
<?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>
El atributo address
del elemento port especifica la URI absoluta
de un puerto de servicio web. Si el servicio web referenciado tiene solo un
puerto, puede utilizar el atributo port-address del
elemento service-ref. Por
ejemplo:<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>
Nota: Si se especifica el atributo port-address del
elemento service-ref y el atributo address
del elemento port, entra en vigor el atributo address
del elemento port.