32
Written by xlingfairy
Saturday, 06 February 2010 12:32
先说说我前面遇到的挫折:
复杂类型 与 数组.
这个问题困扰我好几天了, C# 写的 client 在请求SOAP方法之后,报错:
soap 未识别指定的类型: name='struct'
这个 struct 可能是其它的,你在PHP里定义的类.
解决办法是,指定 style 为 literal , 默认的为: encoded , 参见:
http://framework.zend.com/manual/en/zend.soap.autodiscovery.html
这个页面最下面的代码框里有写.
Last Updated ( Saturday, 06 February 2010 12:42 )
|
21
Written by xlingfairy
Saturday, 06 February 2010 10:52
还是同样的代码在本地(windows)返回的是正常的. 但是在服务器上却返回:
Procedure 'xxx' not present
查了一下GOOGLE,在2007年的时候,有人报告过这个 BUG:
http://bugs.php.net/bug.php?id=42086
但是都快3年了,这个BUG应该早以修复了吧( windows 本地 执行没有这个错误).
最后找到一个解决办法:
http://www.anty.info/2008/09/01/soap-procedure-foo-not-present/
ini_set("soap.wsdl_cache_enabled", "0");
$soap = new Zend_Soap_Server ( URL . "/?wsdl"); // this current file here
$soap->setClass ( 'Joomla_User' );
$soap->handle ();
问题解决.
46
Written by xlingfairy
Thursday, 28 January 2010 16:34
本来希望获取存储过程执行后,所返回的行数的, 结果同一个存储过程,完全相同的参数,在两个不同的页面里, @@ROWCOUNT 和 返回的结果集的条数不一致,这让我相当怀疑 @@ROWCOUNT 的准确性...!
81
Written by xlingfairy
Saturday, 23 January 2010 10:57
想用 c# 做个 joomla 的管理程序,直接用 php 写,有诸多不便.
joomla 是模块化的,这需要我这个管理程序也要是模块化的,这里,我把它叫插件化。
以前没做过类似的功能,在网上搜索了一把,做个例子出来。
首先,插件必须都有共同的接口,这样文件在主程序里调用。
public interface IPlugin {
string GroupMenu{get;}
string Menu{get;}
Form GetForm();
Form GetSettingForm();
}
第二,调用插件,这段是主要的代码,从网上COPY的,做了一点点修改:
Last Updated ( Saturday, 23 January 2010 11:11 )
|
25
Written by xlingfairy
Saturday, 06 February 2010 10:04
试着用 ZendFramework 的 SOAP, 相同的代码,在我本地(windows apache)和服务器(linux, http://test.dajiaozi.com/phpinfo.php)上返回的WSDL却有一点出入:
<xsd:restriction base="soap-enc:Array">
<xsd:attribute ref="soap-enc:arrayType" wsdl:arrayType="tns:User[]"/>
</xsd:restriction>
在服务器上,产生的 wsdl 里, 没有 wsdl:arrayType="tns:User[]" 这个 attribute.
很是纳闷. 服务器上我放的是 ZendFramework mini 1.10
Last Updated ( Saturday, 06 February 2010 10:10 )
67
Written by xlingfairy
Monday, 25 January 2010 20:24
对于抓取的网页数据,不规则的HTML着实让人头痛,在某些浏览器下,如果一个标签未关闭,会引起意想不到的错误.
PHP里, DOMDocument 有个 loadHTML 功能, 利用这个函数,可以分析不规则的HTML,并规则化.
C# 里, XMLDocument 没有类似的功能,用正则表达式我也考虑过,但是要写出来个这样的东东,并不是一天两天的能完成的事. 我也试着用 Winista.Text.HtmlParser 这个东东,但是试验得知:容错特别差(可能是我不会用,也可能是版本太低了吧)!
108
Written by xlingfairy
Saturday, 16 January 2010 15:30
joomla 的 module 有 all, none , Select Menu Item(s) 三个选项,基本来说,可以控制 module 任意显示了,但是如果想指定一个 module 除某些菜单不显示,就有点烦琐了,因为某些内容并没有对应到菜单上,要做这样,就必须先把内容对应到某个菜单,然后在 module 里选 Select Menu Item(s) , 不选择不要显示的菜单。
这真是件痛苦的事情。
现在我把它改改,加个选项:除选择的项目之外
这个 module 的逻辑差点把我给套进去了,搞了一上午才搞定。
ALTER TABLE jos_modules ADD IsExcept BOOL DEFAULT FALSE;
如果为 1 (true) 就是除选择的菜单之外。除了选择的菜单不显示该 module ,其它都的都显示。
把 jos 改成你自己的前缀。
|
|
|
|