我有一個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