我有一个Java应用程序。它有3个重要的功能提供重要的数据。我想为这个应用程序创建一个Web界面。我想从PHP访问这些函数(调用它们)并检索返回的数据。达到此目的的最佳方法是什么?我以前创建的WSDL的Web服务,但我遇到了解释的一些问题在这里:从PHP访问java应用程序
这里:
PHP: SoapClient constructor is very slow (takes 3 minutes)
如果有任何其他方式(或更好的方法),请让我知道我该怎么做。 预先感谢您。
我有一个Java应用程序。它有3个重要的功能提供重要的数据。我想为这个应用程序创建一个Web界面。我想从PHP访问这些函数(调用它们)并检索返回的数据。达到此目的的最佳方法是什么?我以前创建的WSDL的Web服务,但我遇到了解释的一些问题在这里:从PHP访问java应用程序
这里:
PHP: SoapClient constructor is very slow (takes 3 minutes)
如果有任何其他方式(或更好的方法),请让我知道我该怎么做。 预先感谢您。
Hessian矩阵是一个协议可以你:
http://en.wikipedia.org/wiki/Hessian_%28web_service_protocol%29
揭露的Java应用程序如使用JAX-RS的服务。您可以使用泽西岛http://jersey.java.net/快速启动并运行。一旦你这样做,你可以很容易地一样的东西发出袅袅命令:
假设你有一个从球衣必要的罐子,你已经配置了web.xml(遵循球衣入门教程),你可以在做到这一点Java方面:
@Path("/helloservice")
public class HelloServiceResource {
@GET
@Path("/sayhello")
@Produces("application/json")
public String sayHello() {
return "{\"message\":\"Hello\"}";
}
}
现在在PHP中,您可以:
// create a new cURL resource
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "http://myserver.com/myapp/helloservice/sayhello");
curl_setopt($ch, CURLOPT_HEADER, 0);
// grab URL and pass it to the browser
curl_exec($ch);
// close cURL resource, and free up system resources
curl_close($ch);
谢谢。在[我的其他问题](http://stackoverflow.com/questions/5929669/call-a-wsdl-web-service-created-by-java-from-nushphere-phped)我张贴如何我的应用程序作为服务。它是否适用于此?如果是这样,你能告诉我如何在所描述的服务中调用'sayHello'函数吗? – 2011-05-17 23:12:41
我编辑了我的答案给你一个Java片的例子。 – 2011-05-17 23:32:30
谢谢,但既然我是PHP和Java的新手,我不太明白它是如何工作的。那么我怎么能通过论证呢?我在哪里得到结果使用它?而且,我应该更改Java代码以返回{message:},...东西吗?怎么样字符串数组返回类型或自定义类型? – 2011-05-18 10:31:45
谢谢。我使用了Thrift。一路上有一些小的速度颠簸,但最终让我感觉很舒服:D我对结果很满意,我认为这是值得的。特别是你提供的教程帮助了我。再次感谢。 – 2011-05-18 23:15:30
非常欢迎你,我也跟着同一个教程来学习Thrift。除了彻底的文档外,我认为Thrift是非常强大的IDL。 – anubhava 2011-05-19 00:01:54
优秀的,非常漂亮的博客教程在节俭我必须说。 – anubhava 2011-08-05 18:01:51