php – CodeIgniter Web服务客户端

我是CI的新手,我想从Web服务WebLogic(位于:http://services.insw.go.id/web-services/nsw?operation.invoke=getListGA的服务器)检索XML数据.我想从服务器获取XML响应.我该怎么做?

我在控制器上做了这个功能(resttest.PHP)

public function getRest()
{
    $this->rest->initialize(array('server' => 'http://services.insw.go.id'));

    $lartas = $this->rest->get('web-services/nsw',array('operation.invoke' => 'getListGA'),'xml');
    die(var_dump($lartas));
}

有时我会收到类似“array(0){}”的错误,如果我刷新,我会得到所有HTML视图,就像我浏览时一样:http://services.insw.go.id/web-services/nsw?operation.invoke=getListGA

我错了,或者错过了一些步骤,或者您对如何更改此代码有任何建议?

解决方法:

看起来您的Web服务使用SOAP(简单对象访问协议).这不是REST.您将希望在SoapClient类中使用PHP内置的Soap扩展.通过这种方式,可以轻松地将XML“请求”发布到该页面,该页面将返回xml结果而不是html视图(我假设).

>检查Soap肥皂扩展名已加载到您的服务器上
>阅读SoapClient http://php.net/manual/en/class.soapclient.php
>查看该Web服务是否提供WSDL(Web服务描述语言)文件.
>使用wsdl创建soap客户端的实例并调用所需的函数.

来自PHP.net的简单示例

$client = new SoapClient("http://localhost/code/soap.wsdl");
$something =  $client->HelloWorld(array());
echo $something->HelloWorldResult;

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念