经过两天实践成功在FastAdmin集成SOAP

服务器配置我就不说了。

在服务端一定把服务的定义写在控制器外面,例如。

class Modulestock extends Frontend{
    protected $noNeedLogin = ['*'];
    public function info($moduleid = ''){
        $item = new \app\index\model\Module();
        $itemstock = new \app\index\model\Modulestock();
        $iteminfo = $item->with('stocks')->find(['itemid'=>$moduleid]);
        $tanteng = new \stdClass();
        $tanteng->itemid = $iteminfo['itemid'];
        $tanteng->name = $iteminfo['name'];
        $tanteng->enname = $iteminfo['enname'];
        $iteminfo2 = array();
        return $iteminfo;
    }
}

$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : (isset($GLOBALS['HTTP_RAW_POST_DATA']) ? $GLOBALS['HTTP_RAW_POST_DATA'] : '');

$server = new \SoapServer(null,array('uri' => "abcd"));
$server->setClass("\app\index\controller\Modulestock");
//$server->service($HTTP_RAW_POST_DATA);
$server->handle();

注意uri,自己定义,在客户端调用的时候,要保持一致。

客户端调用

try{
    $soap = new \SoapClient(null,array(
	"location" => "http://www.andiff.net/admin/modulestock/info",
	"uri"      => "abcd",  //资源描述符服务器和客户端必须对应
	'trace'    => true,
	'encoding' =>'utf-8'));
	//$soap->__soapCall('querySherry',$paras);
	$s = $soap->info($this->request->param('ids'));
	$arr = $s->relation;
	$arr2 = array();
	foreach ($arr['stocks'] as $k => $v) {
		$arr2[$k]=get_object_vars($v);
	}
	$this->view->assign("s2",$arr2);
	$this->view->assign("s",$s->data);
	return $this->view->fetch();
}catch(Exction $e){
	echo print_r($e->getMessage(),true);
}

这段代码可以放在任意一个控制器里面,说白了,服务端定义好了,客户端怎么调用都可以。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
soaoffice示例代码 SOAOffice是一种中间件软件,不能直接给最终用户使用,需要软件编程人员将SOAOffice集成到软件系统中才能发挥它的威力。比较直观的来说,通常有以下需求的Web开发者推荐使用SOAOffice:   1. 需要把数据库字段内容填充到Word/Excel指定位置的;   2. 需要把Word/Excel指定位置的内容提取出来保存到数据库字段的;   3. 需要动态生成指定格式的Word文档的;   4. 需要把html页面中表格导出到excel的;   5. 需要在html页面中套打票据、报表的;   6. 需要在html页面中显示复杂报表,并要求精确打印预览及打印的;   7. 需要动态生成中国式复杂格式报表的;   8. 需要在html页面中输入复杂票据的;   9. 使用ole服务器自动化技术调用Word/Excel经常产生死进程或系统不稳定的;   10.Web系统中调用Word/Excel的页面有大量并发用户访问的;   11.使用jacob、jxl、apache poi的;   12.需要在Web中调用Word/Excel,并且追求系统运行稳定、可靠的;   13.最终用户可以浏览 Word/Excel/Ppt 文档内容,但需要禁止复制、粘贴、下载、另存的;   14.需要在html页面中在线编辑Word公文的;   15.需要在协同办公中强制保留Word修改痕迹的;   16.需要在协同办公中手写批注、手写签名、加盖电子印章、模板套红的;   17.需要在新闻编辑中强制保留Word修改痕迹、手写批注、圈阅的;   18.需要在远程教育中实现试卷、作业在线批改的。   19.需要在html页面中把Word转换为pdf的;   20.需要在html页面中快速打开、显示pdf的;   21.需要在Ajax架构里调用Word/Excel的,包括服务器端和客户端Javascript都适用。   22.需要控制不同的用户在Word/Excel中不同的区域中编辑权限的;   23.需要在企业局域网内架设在线Office文档中心、知识管理的;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值