저는 Spring 기반의 웹 애플리케이션을 가지고 있고 Axis를 사용하여 웹 서비스를 노출해야합니다. 나는 this guide을 따라 갔지만 서비스는 여전히 제대로 작동하지 않습니다.Spring과 Axis로 webservice 실행하기 : 인식 할 수없는 메소드
package service;
import org.springframework.remoting.jaxrpc.ServletEndpointSupport;
public class SpringWSEndPoint extends ServletEndpointSupport implements ISpringWS {
private ISpringWS springWS;
protected void onInit() {
this.springWS = (ISpringWS) getWebApplicationContext().getBean("springWS");
}
public String sayHello(String message) {
return springWS.sayHello(message);
}
}
와 서블릿은 다음과 같이 매핑 : 이을 다시 시작하려면이 같은 엔드 포인트 클래스가 나는 http://localhost:8080/myProject/axis/SpringWSEndPoint?wsdl
를 탐색 일단은가 (제대로 보인다)와 함께 나오는, 따라서
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>WSSpring</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>axis</servlet-name>
<servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
<load-on-startup>5</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>axis</servlet-name>
<url-pattern>/axis/*</url-pattern>
</servlet-mapping>
</web-app>
을 자동 생성 된 wsdl을 예상대로.
하지만 http://localhost:8080/myProject/axis/SpringWSEndPoint/sayHello
에 갈 경우 내가 수동으로 .WAR에서 웹 서비스를 컴파일 할 필요가 궁금해하는 서비스 방법 ("어떤 서비스가이 URL에서 사용할 수 없습니다")
로 인식하지 않습니다 어떻게든지 또는 .aar 파일 ...
감사
서비스는http://localhost:8080/myProject/axis/SpringWSEndPoint
에 POST 요청을 허용
2012 년 학습을 위해이 안내서를 실제로 사용 하시겠습니까? 'ServletEndpointSupport'는 더 이상 사용되지 않습니다. –