Я нашел решение, которое добавляет другую конечную точку к той, которая была сгенерирована из веб-службы JAX-WS WebLogic.
У меня есть такой веб-сервис (упрощенно):
@WebService(name = "ClientService",
portName = "ClientService",
serviceName = "ClientService")
public class ClientWebService {
@WebMethod
public ExtClient findClientDetails(String ref) {
// etc.
}
}
Конечной точкой WebLogic является <context>/ClientService
, но я хочу, чтобы она была <context>/client/01
.
Вweb.xml
У меня есть:
<listener>
<listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
</listener>
<servlet>
<servlet-name>WebServiceServlet</servlet-name>
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>WebServiceServlet</servlet-name>
<url-pattern>/client/01</url-pattern>
</servlet-mapping>
Теперь WebLogic предлагает веб-сервис на обеих конечных точках.
Необходимо указать URI в web.xml
, поскольку библиотека JAX-WS в WebLogic игнорирует конечную точкутехнические характеристики в sun-jaxws.xml
.(Напротив, GlassFish предоставляет только точки доступа, указанные в sun-jaxws.xml
.)