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


Consuming Java RESTFul web service with PHP client

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

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

我开发了一个使用Java RESTful Web服务

服务器和Java RESTful客户端的Web应用程序,该客户端通过Jersey和Servlets使用Web服务。

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

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

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

这是一个很容易解决的问题。 对于企业应用程序,我已对相同的解决方案进行了建模。Java 层具有 CXF restful Web 服务,映射到 SOAP 端点(外部系统(和实体对象(通过 Hibernate/IBatis 映射(的混合。使用 CXF 休息层相当简单。 在PHP中,我绝对推荐使用Guzzle客户端。

/** 使用休息服务 **/

$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 客户端的伟大之处在于,您不需要启用/安装 CURL,它可以使用其他传输机制。