2012-11-18 2 views
0

저는 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 요청을 허용

+0

2012 년 학습을 위해이 안내서를 실제로 사용 하시겠습니까? 'ServletEndpointSupport'는 더 이상 사용되지 않습니다. –

답변

1

(나는 바람둥이에서 실행 해요),하지만 GET 요청은 http://localhost:8080/myProject/axis/SpringWSEndPoint/sayHello입니다. Axis 1.x는이 요청 스타일을 지원하지 않습니다. 그러나 다음과 같은 것을 지원합니다 (테스트 용) : http://localhost:8080/myProject/axis/SpringWSEndPoint?method=sayHello&message=test.

관련 문제