微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。