Java - 从可用类创建Web服务

问题描述:

我有一个Java项目,经过大量研究,我设法将其转换为Eclipse中的Dynamic Web Project。现在我想为它添加一个新的Web服务。我已经开发了一堂课。我想将其转换为标准的Web服务,所以我可以从我的Silverlight应用程序调用它。这是我目前的课程:Java - 从可用类创建Web服务

public class MyWebService 
{ 
    @Resource 
    WebServiceContext context; 

    @WebMethod 
    public String ProcessQuery(@WebParam(name="query") String q) 
    { 
     MessageContext messageContext = context.getMessageContext(); 
     HttpServletRequest request = (HttpServletRequest) messageContext.get(SOAPMessageContext.SERVLET_REQUEST); 
     // now you can get anything you want from the request 
    } 

    public static void main(String[] args) throws Exception 
    { 
     String address = "http://127.0.0.1:8023/_WebServiceDemo"; 
     Endpoint.publish(address, new MyWebService()); 
     new DocumentServer(); 
     System.out.println("Listening: " + address); 
    } 
} 

我该怎么在Eclipse中做到这一点?请张贴链接到教程或快速一步一步的指南。我是.Net开发人员,我对Java很陌生。

谢谢。

PS:所以基本上我想以标准的方式发布这个服务,而不是调用这个主函数并使用Endpoint.publish()方法。

+0

基本创建web服务并部署到服务器和更改url部分http://www.youtube.com/channel/UC_9g5P2uLKhwUebVoNJzH5g – 2014-03-17 11:37:46

The Eclipse wiki有一个教程,使用Web Tools Platform来做你正在寻找的东西。它需要WTP和Tomcat,如果你没有那些已经可用的Eclipse。它从一个未注释的类开始,并以WSDL和测试客户端结束。它允许您查看生成的SOAP消息。

要创建,它会指示您选择要转换为Web服务的文件并运行File -> New -> Other... -> Web Services -> Web Service。然后单击Next,将滑块移动到Start Service的位置,将客户端移动到Test Client。您选择Monitor the Web Service,然后点击Finish。然后你可以和你的测试客户端一起玩,看看你生成的WSDL。

请注意,以上段落是本教程的摘要,您可以在提供的链接中完整地找到该教程的摘要。

+0

我做了所有的步骤,但当我尝试访问方法(无论是在我的Silverlight应用程序或服务资源管理器)我得到这个:org.apache.axis.InternalException:java.lang.Exception:无法找到一个匹配的Java操作WSDD操作“processQuery”(1 args) – 2011-04-12 13:32:45

+0

@Alireza - 你按照我的总结或实际教程? – justkt 2011-04-12 13:43:46

+2

我注意到你提到的异常是processQuery,但是这个方法被定义为带有catchital P的ProcessQuery。你有没有试图改变它们以匹配? – Sean 2011-04-12 14:00:59