Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/web-services/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web services 使用Spring和Axis运行webservice:无法识别的方法_Web Services_Spring_Tomcat_Soap_Axis - Fatal编程技术网

Web services 使用Spring和Axis运行webservice:无法识别的方法

Web services 使用Spring和Axis运行webservice:无法识别的方法,web-services,spring,tomcat,soap,axis,Web Services,Spring,Tomcat,Soap,Axis,我有一个基于Spring的web应用程序,需要使用Axis公开一个web服务。我照做了,但服务仍然不能正常工作要继续,我有一个端点类,如下所示: package service; import org.springframework.remoting.jaxrpc.ServletEndpointSupport; public class SpringWSEndPoint extends ServletEndpointSupport implements ISpringWS { private

我有一个基于Spring的web应用程序,需要使用Axis公开一个web服务。我照做了,但服务仍然不能正常工作要继续,我有一个端点类,如下所示:

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);
}
}
<?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>
servlet映射如下:

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);
}
}
<?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>

WSSpring
index.jsp
org.springframework.web.context.ContextLoaderListener
轴
org.apache.axis.transport.http.AxisServlet
5.
轴
/轴心/*
因此,一旦我导航
http://localhost:8080/myProject/axis/SpringWSEndPoint?wsdl
正如预期的那样,它提供了一个(似乎正确)自动生成的wsdl

但是如果我转到
http://localhost:8080/myProject/axis/SpringWSEndPoint/sayHello
它不认为它是一种服务方法(“此URL没有可用的服务”)

我想知道我必须以某种方式在任何.war或.aar文件中手动编译webservice

谢谢


(我正在tomcat中运行)

该服务将接受对
http://localhost:8080/myProject/axis/SpringWSEndPoint
,但不获取对
http://localhost:8080/myProject/axis/SpringWSEndPoint/sayHello
。Axis1.x不支持此请求样式。但是,它支持这样的内容(出于测试目的):
http://localhost:8080/myProject/axis/SpringWSEndPoint?method=sayHello&message=test

您确定该指南仍然适用于2012年的学习吗
ServletEndpointSupport
已弃用。