Я собираюсь создать простой проект WS весной и весной WS без XSD. Развернитесь на пристани. Возможно заполнять конечную точку WS и генерировать WSDL только из классов Java (без статического XSD или WSDL - я прошел через множество обучающих программ, но все требовал).Spring WS без xsd
Для любой помощи, подсказки или ссылки высоко оценили.
У меня есть что-то вроде этого:
1) Запрос
@XmlRootElement
public class MessageWSRequest {
@XmlElement
private String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
2) Конечная точка
@Endpoint
public class MessageWS {
@PayloadRoot(namespace = "http://message.com/ws/message" ,localPart="MessageWSRequest")
public String handleMathServiceRequest(@RequestPayload MessageWSRequest messageWSRequest) {
return "ok";
}
}
3) springContext.xml
<sws:annotation-driven/>
<context:component-scan base-package="com.ws.message"/>
4) веб. xml
<servlet>
<servlet-name>webservices</servlet-name>
<servlet-class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class>
<init-param>
<param-name>transformWsdlLocations</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value></param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>webservices</servlet-name>
<url-pattern>*.wsdl</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>webservices</servlet-name>
<url-pattern>/endpoints/*</url-pattern>
</servlet-mapping>
Теперь я хотел бы ожидать URL, как этот localhost:8080/messageTest/endpoints/MessageWS.wsdl с сгенерированного WSDL.
Я пропустил какую-то конфигурацию или так?
Спасибо всем
Который не будет работать. Все они требуют XSD. Как вы получаете этот XSD (сгенерируйте его из своего java-кода или создайте его вручную) не имеет значения. Вы можете использовать свои классы для генерации xsd, который, в свою очередь, может использоваться Spring WS для создания wsdl. Это не имеет ничего общего с контрактом - первым или последним контрактом, но тем фактом, что XSD является контрактом на веб-службу. –
CXF (и, как правило, любая реализация JAX-WS) автоматически генерирует XSD для первых служб кода. –