`
lan13217
  • 浏览: 496141 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

YII webservics not persent

 
阅读更多

php.ini 

 

; Enables or disables WSDL caching feature.

; http://php.net/soap.wsdl-cache-enabled

soap.wsdl_cache_enabled=0

 

php netbeans debug

https://netbeans.org/kb/docs/php/debugging_zh_CN.html

 

yii webservice(document/literal encoding for WDSL)

https://github.com/yiisoft/yii/issues/94

https://github.com/nineinchnick/yii/commit/a61b6de16ef4044230cca6f54f241ede6b9b5705

 

<?php

class StockController extends CController
{
    public function actions()
    {
        /*
        return array(
            'quote'=>array(
                'class'=>'CWebServiceAction',
            ),
        );*/
        return array(
            'wsdl'=>array(
                'class'=>'CWebServiceAction',
                'serviceOptions' => array(
                    'generatorConfig' => array(
                        'class' => 'CWsdlGenerator',
                        'operationBodyStyle'=>array('use'=>'literal'),
                        'bindingStyle'=>'document',
                    ),
                ),
            ),
        );
    }

    /**
     * @param string the symbol of the stock
     * @return float the stock price
     * @soap
     */
    public function getPrice($symbol)
    {
        $prices=array('IBM'=>100, 'GOOGLE'=>350);
        return isset($prices[$symbol])?$prices[$symbol]:0;
        //...return stock price for $symbol
    }
    public function actionView()
    {
        return "ss"
    }
}

 http://stackoverflow.com/questions/1523460/ensuring-valid-utf-8-in-php

<?php

class StockController extends CController
{
    public function actions()
    {
        /*
        return array(
            'quote'=>array(
                'class'=>'CWebServiceAction',
            ),
        );*/
        return array(
            'wsdl'=>array(
                'class'=>'CWebServiceAction',
                'serviceOptions' => array(
                    'generatorConfig' => array(
                        'class' => 'CWsdlGenerator',
                        'operationBodyStyle'=>array('use'=>'literal'),
                        'bindingStyle'=>'document',
                    ),
                ),
            ),
        );
    }

    /**
     * @param string the symbol of the stock
     * @return float the stock price
     * @soap
     */
    public function getPrice($symbol)
    {
        $prices=array('IBM'=>100, 'GOOGLE'=>350);
        return isset($prices[$symbol])?$prices[$symbol]:0;
        //...return stock price for $symbol
    }
    /**
     * @param string the symbol of the stock
     * @return string the stock price
     * @soap
     */
    public function createPost($symbol)
    {       
        echo $symbol;
        $model=new Post;
        $model->title='title';
        $model->content='content';
        $model->status=2;
        $model->create_time=1230952187; 
        $model->update_time=1230952187; 
        $model->author_id=1; 
        $model->tags='test';
        if($model->save()){
            return '添加一条记录';
        }else{
            return '添加失败';
        }
    }
    /**
     * @param string the symbol of the stock
     * @return string the stock price
     * @soap
     */
    public function sendPost($symbol)
    {       
        $data=base64_decode($symbol);
        $temp=bzdecompress($data);
        $megObject = json_decode(make_safe_for_utf8_use($temp),true);
        $posts = json_decode($megObject['dataBody'],true); 
        //if(gettype($megObject['dataBody'])=="string"){
        //}
        //return gettype($posts);
        $postSucces=0;
        $postFaile=0;
        foreach($posts as $value)
        {
            //return $value;
            //return $value["title"];
            $model=new Post;
            $model->title=$value["title"];
            $model->content=$value["content"];
            $model->tags=$value["tags"];
            $model->create_time=$value["create_time"]; 
            $model->update_time=$value["update_time"]; 
            $model->status=$value["status"];
            $model->author_id=$value["author_id"];
            if($model->save()){
                $postSucces++;
            }else{
                $postFaile++;
            }
         }
        return "postSucces:".$postSucces.";postFaile".$postFaile;
    }
    public function actionView()
    {       
        $model=new Post;
        $model->title='title';
        $model->content='content';
        $model->tags='test';
        $model->create_time=1230952187; 
        $model->update_time=1230952187; 
        $model->status=2;
        $model->author_id=1;
        if($model->save()){
            echo '添加一条记录';
        }else{
            echo '添加失败';
        }
    }
    public function actionShow()
    {   
        $msg="{\"dataBody\":\"[{\\\"author_id\\\":100,\\\"content\\\":\\\"mytitle0\\\",\\\"create_time\\\":1389071330977,\\\"id\\\":0,\\\"status\\\":1,\\\"tags\\\":\\\"110\\\",\\\"title\\\":\\\"mytitle你好0\\\",\\\"update_time\\\":0},{\\\"author_id\\\":101,\\\"content\\\":\\\"mytitle1\\\",\\\"create_time\\\":1389071330977,\\\"id\\\":1,\\\"status\\\":1,\\\"tags\\\":\\\"110\\\",\\\"title\\\":\\\"mytitle你好1\\\",\\\"update_time\\\":0},{\\\"author_id\\\":102,\\\"content\\\":\\\"mytitle2\\\",\\\"create_time\\\":1389071330977,\\\"id\\\":2,\\\"status\\\":1,\\\"tags\\\":\\\"110\\\",\\\"title\\\":\\\"mytitle你好2\\\",\\\"update_time\\\":0},{\\\"author_id\\\":103,\\\"content\\\":\\\"mytitle3\\\",\\\"create_time\\\":1389071330977,\\\"id\\\":3,\\\"status\\\":1,\\\"tags\\\":\\\"110\\\",\\\"title\\\":\\\"mytitle你好3\\\",\\\"update_time\\\":0},{\\\"author_id\\\":104,\\\"content\\\":\\\"mytitle4\\\",\\\"create_time\\\":1389071330977,\\\"id\\\":4,\\\"status\\\":1,\\\"tags\\\":\\\"110\\\",\\\"title\\\":\\\"mytitle你好4\\\",\\\"update_time\\\":0},{\\\"author_id\\\":105,\\\"content\\\":\\\"mytitle5\\\",\\\"create_time\\\":1389071330977,\\\"id\\\":5,\\\"status\\\":1,\\\"tags\\\":\\\"110\\\",\\\"title\\\":\\\"mytitle你好5\\\",\\\"update_time\\\":0},{\\\"author_id\\\":106,\\\"content\\\":\\\"mytitle6\\\",\\\"create_time\\\":1389071330977,\\\"id\\\":6,\\\"status\\\":1,\\\"tags\\\":\\\"110\\\",\\\"title\\\":\\\"mytitle你好6\\\",\\\"update_time\\\":0},{\\\"author_id\\\":107,\\\"content\\\":\\\"mytitle7\\\",\\\"create_time\\\":1389071330977,\\\"id\\\":7,\\\"status\\\":1,\\\"tags\\\":\\\"110\\\",\\\"title\\\":\\\"mytitle你好7\\\",\\\"update_time\\\":0},{\\\"author_id\\\":108,\\\"content\\\":\\\"mytitle8\\\",\\\"create_time\\\":1389071330977,\\\"id\\\":8,\\\"status\\\":1,\\\"tags\\\":\\\"110\\\",\\\"title\\\":\\\"mytitle你好8\\\",\\\"update_time\\\":0},{\\\"author_id\\\":109,\\\"content\\\":\\\"mytitle9\\\",\\\"create_time\\\":1389071330977,\\\"id\\\":9,\\\"status\\\":1,\\\"tags\\\":\\\"110\\\",\\\"title\\\":\\\"mytitle你好9\\\",\\\"update_time\\\":0}]\",\"sendTime\":1389071331061,\"type\":\"list\"}";
        //echo $msg;
        $megObject = json_decode($msg);
        //echo $megObject->dataBody;
        $posts = json_decode($megObject->dataBody);
        foreach($posts as $value)
        {
            echo $value->title;
            $model=new Post;
            $model->title=$value->title;
            $model->content=$value->content;
            $model->tags=$value->tags;
            $model->create_time=$value->create_time; 
            $model->update_time=$value->update_time; 
            $model->status=$value->status;
            $model->author_id=$value->author_id;
            $model->save();
         }
//        $model=new Post;
//        $model->title='title';
//        $model->content='content';
//        $model->tags='test';
//        $model->create_time=1230952187; 
//        $model->update_time=1230952187; 
//        $model->status=2;
//        $model->author_id=1;
//        if($model->save()){
//            echo '添加一条记录';
//        }else{
//            echo '添加失败';
//        }
    }
        
}
function make_safe_for_utf8_use($string) {
    if (preg_match('%^(?:
          [\x09\x0A\x0D\x20-\x7E]            # ASCII
        | [\xC2-\xDF][\x80-\xBF]             # non-overlong 2-byte
        | \xE0[\xA0-\xBF][\x80-\xBF]         # excluding overlongs
        | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  # straight 3-byte
        | \xED[\x80-\x9F][\x80-\xBF]         # excluding surrogates
        | \xF0[\x90-\xBF][\x80-\xBF]{2}      # planes 1-3
        | [\xF1-\xF3][\x80-\xBF]{3}          # planes 4-15
        | \xF4[\x80-\x8F][\x80-\xBF]{2}      # plane 16
    )*$%xs', $string))
        return $string;
    else
        return iconv('gbk', 'UTF-8', $string);
}

 

分享到:
评论

相关推荐

    yii框架中文文档、yii中文手册教程

    “yii框架中文手册教程.pdf”是Yii框架的中文版官方手册,它是学习Yii框架的重要资源。这份PDF文档通常会包括以下内容: 1. **安装与配置**:介绍如何在服务器上安装Yii,以及设置基本的项目环境。 2. **快速入门**...

    yii2swoole让yii2运行在swoole上

    1. **Yii2框架与Swoole的集成**:Yii2swoole是将Yii2框架与Swoole进行整合的扩展,允许Yii2应用利用Swoole的高性能特性。它提供了在Swoole环境下运行Yii2的基础设施,包括请求处理、事件监听、session和cookie管理等...

    Yii 2文件下载

    标题提到的"Yii 2文件下载"可能指的是Yii 2.0框架的安装包或者相关的扩展或示例代码。 在描述中,我们看到“找了好久才找到的Yii2.0”,这可能暗示了Yii 2.0的相关资源并不总是容易找到,尤其对于初学者来说,可能...

    Yii2.0打造京东商城平台PHP电商实战Yii2.0视频教程

    Yii2.0级基于Yii1.X完全重写的,不仅是小版本升级的升级。所以想要系统学习Yii2.0这个框架这套教程可以从实战项目带你入手。不错的学习YII框架的基础课程,电商系统的结构完整、框架资源太大,传百度网盘了,链接在...

    yii2 通用后台系统

    "yii2 通用后台系统"是一个基于Yii2框架构建的企业级后台管理系统,旨在提供一套全面、高效的后台管理解决方案,包括用户管理、权限控制、数据统计等功能,帮助开发者快速搭建稳定且功能丰富的后台应用。 在Yii2...

    Yii权威指南思维导图

    "Yii权威指南思维导图"显然是一个帮助开发者理解和掌握Yii框架核心概念和架构的工具。通过这个思维导图,我们可以深入学习Yii框架的主要组成部分,理解其类结构以及类之间的关系。 首先,让我们来看看Yii框架的基础...

    YII 2数据库迁移(Migrations) 使用教程

    ### YII 2数据库迁移(Migrations) 使用教程 #### 一、数据库迁移概念与作用 在软件开发过程中,随着项目的推进和技术需求的变化,数据库结构往往也需要进行调整或更新。为了更好地管理和跟踪这些变更,YII 2框架...

    yii1.1.10 开发包(包含yii权威指南以及yii博客例子讲解)

    Yii 1.1.10是该框架的一个版本,它提供了丰富的特性和优化,以帮助开发者更高效地构建复杂的Web应用程序。这个开发包包含了Yii框架的核心库、相关的文档和一个具体的博客应用实例,这对于初学者和有经验的开发者来说...

    深入理解Yii2.0

    《深入理解Yii2.0》是一本干货。主要讲解Yii2.0及所代表的最新一代Web开发框架的新特性、新技术、新理念、新模式。 采用的方式是分析框架的源代码,尝试从根上进行理解和阐述,并融入个人使用Yii开发的一些经验和...

    yii框架中文手册教程和YII模板

    Yii框架是一款高效的、基于组件的PHP开发框架,用于...总之,Yii框架中文手册教程和YII模板资源是学习和开发Yii应用的宝贵资料。通过深入学习和实践,开发者可以充分利用Yii的强大功能,构建出高效、可扩展的Web应用。

    yii-1.0.4.r920

    在“yii-1.0.4.r920”版本中,我们可以看到 Yii 的一个早期稳定版本,它提供了许多核心特性,旨在简化开发流程并提高应用性能。 1. MVC(模型-视图-控制器)架构模式:Yii 遵循 MVC 设计模式,将应用程序逻辑分为三...

    yii-1.1.8.r3324

    "yii-1.1.8.r3324" 版本是 Yii 框架的一个特定发行版,它在 1.1.x 系列中的一个稳定版本。这个版本号表示该框架在 1.1 主线版本基础上的第 3324 个修订版本。接下来,我们将深入探讨 Yii 框架以及这个版本的一些关键...

    yii2-v2.0.6

    Yii 2.0.6 是一个非常重要的版本更新,在这个框架的迭代历程中扮演了关键的角色。Yii 2 是一个高性能、组件化的 PHP 框架,专为开发 Web 2.0 应用程序而设计。这次更新的版本 2.0.6 带来了许多改进和修复,使得...

    yii的小部件使用

    ### yii的小部件使用 在Yii框架中,小部件(Widgets)是用于封装并重用页面元素的一种机制。本文主要探讨如何在Yii框架中利用小部件(Widgets)来提高开发效率,尤其是在快速生成增删改查功能时的具体应用,并结合...

    新下载的yii2,yii framework

    标题中的“新下载的yii2”指的是用户最近获取了Yii2框架的最新版本。Yii2是不断更新和维护的,每个新版本可能包含性能优化、新的功能特性或对已有功能的改进,因此保持框架的更新对于利用最新的技术和提高开发效率至...

    yii框架下的yii_blog 博客系统

    Yii提供了一套完善、高效的解决方案,帮助开发者快速构建各种类型的应用程序,尤其在Web开发领域,它以其高效性能和灵活的架构赢得了广大开发者青睐。在这个"yii_blog 博客系统"中,你将学习到如何使用Yii框架来搭建...

    基于Yii2+layui的后台框架模板,实现了完善的RBAC权限控制-yii2-admin-theme.zip

    在Yii2中,RBAC可以通过yii\rbac组件来实现。这个组件支持创建角色、任务、规则,并将它们关联起来。用户可以被分配到角色,角色则拥有特定的权限。Yii2的RBAC系统允许动态调整权限,比如在运行时添加或删除用户的...

    Yii 中文帮助文档

    Yii 是什么 Yii 是一个基于组件、用于开发大型 Web 应用的高性能 PHP 框架。它将 Web 编程中的可重用性发挥到极致,能够显著加速开发进程。Yii(读作“易”)代表简单(easy)、高效(efficient)、可扩展(extensible)。...

    YII-1.1.8中文手册

    这个"YII-1.1.8中文手册"是针对Yii 1.1.8版本的官方文档的中文翻译,旨在帮助中国开发者更好地理解和使用Yii框架。在阅读这份手册之前,首先需要了解一些基本的Web开发知识和PHP编程基础。 Yii 1.1.8是该框架的一个...

    yii新闻系统源码

    Yii新闻系统的源码分析 Yii框架是PHP领域中的一款高性能、基于组件的开发框架,它为构建高效、可扩展的Web应用提供了强大的支持。在这个"yii新闻系统源码"中,我们可以深入理解Yii框架的核心特性以及如何应用于实际...

Global site tag (gtag.js) - Google Analytics