java - 使用 PHP 客户端使用 Java RESTFul Web 服务

标签 java php web-services rest tomcat

我在开发将使用在 NetBeans 7.1.1 中创建的 Java RESTful 服务的 PHP 客户端时遇到了一些问题。

对于那些不知道的人:当您创建基于 MySQL 数据库(实体)的 Java RESTful Web 服务时,NetBeans 将自动创建实体类和每个实体“门面”,可以称为服务提供商。

我使用 Java RESTful 网络服务服务器和通过 Jersey 和 Servlet 使用网络服务的 Java RESTful 客户端开发了一个网络应用程序。

现在开始计划中的 PHP 客户端:我已经用谷歌搜索了很多,我看到的是:没有互操作性(或者我是“菜鸟”),这是网络服务的目的之一。我知道如何在 PHP 中创建 RESTful web 服务,并与 PHP 客户端通信,与 Java 相同,但我想要的是创建 Java RESTful web 服务服务器和 php 客户端。

对不起,如果我在这个问题上说错了,请随时纠正我。

如果有人能帮助我,给我一些想法、代码示例、解释“诀窍”,我将不胜感激。

最佳答案

这是一个很容易解决的问题。对于企业应用程序,我已经为相同的解决方案建模。 Java 层具有 CXF restful Web 服务映射到混合的 SOAP 端点(外部系统)以及实体对象(通过 Hibernate/IBatis 映射)。使用 CXF 剩余层非常简单。在 PHP 中,我肯定会推荐使用 Guzzle 客户端。

/** 使用 REST 服务 **/

$client = new Client("http://example.com/);

$locationRequest = $client->get('/someservice/rest/location/findstatebyzip.json?zip=12345');
$locationResponse = $locationRequest->send();

$locationResults = json_decode($locationResponse->getBody());

Guzzle Client 的优点在于您不需要启用/安装 CURL,它可以使用其他传输机制。

关于java - 使用 PHP 客户端使用 Java RESTFul Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10383077/

相关文章:

java - 在哪里设置 EJB3 客户端的 Web 服务主机名

java - REST API 架构

php - str_shuffle 和随机性

javascript - 如何知道哪个图像被点击

java - Android java测试 float 负值和正值无法正常工作?

java - android 中正确的静态变量

javascript - 搜索 JSON 格式的数组

java - WstxUnexpectedCharException : Unexpected character '"' (code 34) in DOCTYPE declaration; expected a space between public and system identifiers

java - 从 pom.xml 为现有 Maven 项目创建 WAR 文件

java - 获取和设置选定的索引 JSpinner