【发布时间】:2014-05-01 17:29:48
【问题描述】:
我是 Web 服务和 glassfish 的新手。这是我的代码
package ws.mypkg;
import java.util.ArrayList;
import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;
@WebService
@SOAPBinding(style=Style.RPC)
public class TestRPC {
// This seems to cause the problem when a List is returned.
public List<String> testRPC () {
List<String> l = new ArrayList<String>();
l.add("Hello");
return l;
}
// This method work fine
public String testRPC1 () {
return "Testing RPC";
}
}
如果我有
@SOAPBinding(style=Style.RPC)
我在尝试部署 Web 服务时收到以下错误。
无法部署 TestGF 部署失败=部署期间发生错误:异常 加载应用程序时:java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException:java.lang.RuntimeException:Servlet Web 服务 端点''失败。有关详细信息,请参阅 server.log。
服务器日志没有更多内容。
当我注释掉@SOAPBinding(style=Style.RPC)时,它部署得很好
问题似乎出在第一种方法上。如果我排除第一种方法,则第二种方法可以正常部署。当我从该方法返回一个列表并且我有 @SOAPBinding(style=Style.RPC)
我正在使用 Glassfish 4.0、jdk 1.7 和 Eclipse(与 Spring 3.4 捆绑在一起)
【问题讨论】: