Стремясь создать веб-сервис, который можно развернуть на glassfish и tomcat, я заметил, что обе AS будут давать разные URL-адреса WSDL.Для прикрепленного кода в конце этого поста у меня было: Glassfish v3: localhost: 8080 / TaxCalculator / TaxCalculatorService? Wsdl Tomcat 6.23: localhost: 8080 / TaxCalculator / TaxCalculator? Wsdl Оба работали нормально, используя soapUI, но я не хочуКак зависимость, которая подразумевает некоторый endPointUrl.
Теперь я попытался исправить это на основе информации , которую я нашел здесь .Тем не менее, информация не соответствовала тому, как Tomcat и GlassFish работают с этой информацией.Так что это не помогло, и теперь Tomcat больше не генерирует WSDL.По крайней мере, я не смог найти его, используя ожидаемую комбинацию (есть ли где-нибудь обзор?) Ведение журнала Tomcat не выявляет никаких проблем.
Есть ли какая-либо надлежащая документация о том, как установить endpointUrl так, чтобы:- Последняя часть endpointUrl будет одинаковой как для GlassFish, Tomcat, так и для любых других обычно используемых AS?- Установка URL-адреса конечной точки без жесткого кодирования имени хоста.
Или кто-нибудь видит, что я делаю неправильно?Реализация веб-сервиса определяет endpointInterface, serviceName и portName.(Я определил WS в Java, используя аннотации JAX-WS).
Ниже конфигураций xml:
web.xml: <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>TaxCalculator</display-name>
<!-- Tomcat workaround -->
<listener>
<listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
</listener>
<servlet>
<servlet-name>TaxCalculatorService</servlet-name>
<!-- Tomcat workaround -->
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>TaxCalculatorService</servlet-name>
<url-pattern>/TaxCalculator</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
sun-jaxws.xml: <endpoints version="2.0" xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime">
content.xml: <Context antiJARLocking="true" path="/TaxCalculator"/>