如何使用play!框架以便使用eclipse的web服务方法

时间:2012-03-27 15:49:10

标签: web-services playframework

我使用VisualStudio2010创建了一个Web服务(ASP.NET)。在这个服务中,我只有HelloWorld函数,它返回字符串“HelloWorld”。

我尝试做的是在我的controller.Application中调用此方法(在我的Web服务中)(在eclipse中使用play 2.0),以便在index.scala.html页面中显示结果。

我已经尝试过使用WS.Response,但它没有用,这是我的代码:

 public static Result index() {

     Promise<Response> promise = WS.url("http://localhost:59975/WebService1.asmx/HelloWorld").get();
     return async(promise.map(
                new Function<WS.Response, Result>() {
                    public Result apply(WS.Response response) {
                        return ok("Feed title:" + response.asXml());
                    }
                }
            ));

顺便说一下,我是一个新剧!用户以及是否有人可以解释有关函数的内容&lt;&gt;这会很好。

如果您想要更多解释,请问我。感谢


您好, 今天我使用以下代码获取我的Web服务正文:

public static Result index() {
    Promise<Response> promise = WS.url("http://localhost:59975/WebService1.asmx").get();        
    return ok(promise.get().getBody().toString());
}

但现在我会尝试获得HelloWorld的响应,所以我尝试了:

public static Result index() {
    Promise<Response> promise = WS.url("http://localhost:59975/WebService1.asmx/HelloWorld").get();     
    return ok(promise.get().getBody().toString());
}

我在跟踪堆栈跟踪时遇到错误:

  • [InvalidOperationException:Leformatpromandé'estpas reconnu pour l'URL se terminant par'/ HelloWorld'。]

  • System.Web.Services.Protocols.WebServiceHandlerFactory.CoreGetHandler(类型 type,HttpContext context,HttpRequest request,HttpResponse 回复)+569481

  • System.Web.Services.Protocols.WebServiceHandlerFactory.GetHandler(HttpContext的 context,String verb,String url,String filePath)+212

  • System.Web.Script.Services.ScriptHandlerFactory.GetHandler(HttpContext的 context,String requestType,String url,String pathTranslated)+47

  • System.Web.HttpApplication.MapHttpHandler(HttpContext context,String requestType,VirtualPath path,String pathTranslated,Boolean useAppConfig)+203

  • System.Web.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 128

  • System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean&amp; 已完成同步)+184

如果有人可以解释我做错了什么? THX。

1 个答案:

答案 0 :(得分:0)

我相信WS类只是Apache的HTTPClient或类似的东西的包装。连接到SOAP Web服务的意义并不是最好的,因为您必须手动处理请求/响应xml。

您可能希望使用Apache AxisApache CXF来构建HelloWorld服务的存根。