??xml version="1.0" encoding="utf-8" standalone="yes"?>麻豆视频在线看,国产精品69久久久久,国产综合网站http://www.aygfsteel.com/alwayscy/category/17732.html<br> 有兴可以访问下我的生活博客Q?lt;a >qqmovie.qzone.com</a>zh-cnSun, 09 Oct 2011 02:15:26 GMTSun, 09 Oct 2011 02:15:26 GMT60一目了然PERL~码,是{?/title><link>http://www.aygfsteel.com/alwayscy/archive/2011/10/09/360236.html</link><dc:creator>我爱佛_</dc:creator><author>我爱佛_</author><pubDate>Sun, 09 Oct 2011 00:04:00 GMT</pubDate><guid>http://www.aygfsteel.com/alwayscy/archive/2011/10/09/360236.html</guid><wfw:comment>http://www.aygfsteel.com/alwayscy/comments/360236.html</wfw:comment><comments>http://www.aygfsteel.com/alwayscy/archive/2011/10/09/360236.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/alwayscy/comments/commentRss/360236.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/alwayscy/services/trackbacks/360236.html</trackback:ping><description><![CDATA[     摘要: 非常显易懂的PERL~码说明. <br>一目了然PERL~码,注意是{?nbsp; <a href='http://www.aygfsteel.com/alwayscy/archive/2011/10/09/360236.html'>阅读全文</a><img src ="http://www.aygfsteel.com/alwayscy/aggbug/360236.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/alwayscy/" target="_blank">我爱佛_</a> 2011-10-09 08:04 <a href="http://www.aygfsteel.com/alwayscy/archive/2011/10/09/360236.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>perl不用export,自动加入自己的搜索和动态链接库环境http://www.aygfsteel.com/alwayscy/archive/2011/10/03/359970.html我爱佛_我爱佛_Mon, 03 Oct 2011 13:37:00 GMThttp://www.aygfsteel.com/alwayscy/archive/2011/10/03/359970.htmlhttp://www.aygfsteel.com/alwayscy/comments/359970.htmlhttp://www.aygfsteel.com/alwayscy/archive/2011/10/03/359970.html#Feedback0http://www.aygfsteel.com/alwayscy/comments/commentRss/359970.htmlhttp://www.aygfsteel.com/alwayscy/services/trackbacks/359970.html下面以MACZ,如果是LINUX需要把DYLD发ؓLD


把下面代码加C码开?它就可以自启动了,不需要再EXPORT或?I


BEGIN {

        #需要加到LOADPATH的\?/font>

my $need = '/usr/local/nagios/pkg/ebase/';


push @INC, $need;

if ( $^O !~ /MSWin32/ ) {

my $ld = $ENV{DYLD_LIBRARY_PATH};

if ( !$ld ) {

$ENV{DYLD_LIBRARY_PATH} = $need;

}

elsif ( $ld !~ m#(^|:)\Q$need\E(:|$)# ) {

$ENV{DYLD_LIBRARY_PATH} .= ':' . $need;

}

else {

$need = "";

}

if ($need) {

exec 'env', $^X, $0, @ARGV;

}

}

}

@import url(http://www.aygfsteel.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

我爱佛_ 2011-10-03 21:37 发表评论
]]>
哭了Q整一天Java Runtime exec的挂死(不退出)问题Q原来是酱子http://www.aygfsteel.com/alwayscy/archive/2009/05/15/270925.html我爱佛_我爱佛_Fri, 15 May 2009 13:04:00 GMThttp://www.aygfsteel.com/alwayscy/archive/2009/05/15/270925.htmlhttp://www.aygfsteel.com/alwayscy/comments/270925.htmlhttp://www.aygfsteel.com/alwayscy/archive/2009/05/15/270925.html#Feedback2http://www.aygfsteel.com/alwayscy/comments/commentRss/270925.htmlhttp://www.aygfsteel.com/alwayscy/services/trackbacks/270925.html后来吃个饭都攑ּ了,居然又找到答案,要没看到它,那真以ؓ里面有鬼了?nbsp; 阅读全文

我爱佛_ 2009-05-15 21:04 发表评论
]]>
PERL通过CPAN和PROXY来安?/title><link>http://www.aygfsteel.com/alwayscy/archive/2009/05/12/270228.html</link><dc:creator>我爱佛_</dc:creator><author>我爱佛_</author><pubDate>Tue, 12 May 2009 08:31:00 GMT</pubDate><guid>http://www.aygfsteel.com/alwayscy/archive/2009/05/12/270228.html</guid><wfw:comment>http://www.aygfsteel.com/alwayscy/comments/270228.html</wfw:comment><comments>http://www.aygfsteel.com/alwayscy/archive/2009/05/12/270228.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/alwayscy/comments/commentRss/270228.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/alwayscy/services/trackbacks/270228.html</trackback:ping><description><![CDATA[如需要,讄PROXYQ?br /> export http_proxy=http://127.0.0.1:3128<br /> <br /> 启动Q然后设|MIRRORQ直接安装:<br /> perl -MCPAN -e shell<br /> cpan> o conf urllist set http://www.perl87.cn/CPAN/<br /> cpan> install JSON<br /> <img src ="http://www.aygfsteel.com/alwayscy/aggbug/270228.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/alwayscy/" target="_blank">我爱佛_</a> 2009-05-12 16:31 <a href="http://www.aygfsteel.com/alwayscy/archive/2009/05/12/270228.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>do/eval/requir区别http://www.aygfsteel.com/alwayscy/archive/2008/08/12/221440.html我爱佛_我爱佛_Tue, 12 Aug 2008 02:42:00 GMThttp://www.aygfsteel.com/alwayscy/archive/2008/08/12/221440.htmlhttp://www.aygfsteel.com/alwayscy/comments/221440.htmlhttp://www.aygfsteel.com/alwayscy/archive/2008/08/12/221440.html#Feedback0http://www.aygfsteel.com/alwayscy/comments/commentRss/221440.htmlhttp://www.aygfsteel.com/alwayscy/services/trackbacks/221440.html Ways to include code/library from another file (eval, do, require and use)

1)  do $file is like eval `cat $file`, except the former:
    1.1: searches @INC.
    1.2: bequeaths an *unrelated* lexical scope on the eval'ed code.

2)  require $file is like do $file, except the former:
    2.1: checks for redundant loading, slipping already loaded files.
    2.2: raises an exception on failure to find, compile, or execute $file.

3)  require Module is like require "Module.pm", except the former:
    3.1: translates each "::" into your system's directory separator.
    3.2: primes the parser to disambiguate class Module as an indirect object.

4)  use Module is like require Module, except the former:
    4.1: loads the module at compile time, not run-time.
    4.2: imports symbols and semantics from that package to the current one.


eval除了可以形成动态CODE外,q可以做异常捕捉Q?/p>

  eval {
...
};
if ($@) {
errorHandler($@);
}

$@在无异常时是NULLQ否则是异常原因


我爱佛_ 2008-08-12 10:42 发表评论
]]>
PAR和PPhttp://www.aygfsteel.com/alwayscy/archive/2008/08/11/221371.html我爱佛_我爱佛_Mon, 11 Aug 2008 13:13:00 GMThttp://www.aygfsteel.com/alwayscy/archive/2008/08/11/221371.htmlhttp://www.aygfsteel.com/alwayscy/comments/221371.htmlhttp://www.aygfsteel.com/alwayscy/archive/2008/08/11/221371.html#Feedback0http://www.aygfsteel.com/alwayscy/comments/commentRss/221371.htmlhttp://www.aygfsteel.com/alwayscy/services/trackbacks/221371.html阅读全文

我爱佛_ 2008-08-11 21:13 发表评论
]]>
ACTIVEPERL在LINUX下的安装以及PERL2EXE的?/title><link>http://www.aygfsteel.com/alwayscy/archive/2008/02/20/180803.html</link><dc:creator>我爱佛_</dc:creator><author>我爱佛_</author><pubDate>Wed, 20 Feb 2008 04:40:00 GMT</pubDate><guid>http://www.aygfsteel.com/alwayscy/archive/2008/02/20/180803.html</guid><wfw:comment>http://www.aygfsteel.com/alwayscy/comments/180803.html</wfw:comment><comments>http://www.aygfsteel.com/alwayscy/archive/2008/02/20/180803.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/alwayscy/comments/commentRss/180803.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/alwayscy/services/trackbacks/180803.html</trackback:ping><description><![CDATA[     摘要: ACTIVEPERL在LINUX下的安装以及PERL2EXE的?nbsp; <a href='http://www.aygfsteel.com/alwayscy/archive/2008/02/20/180803.html'>阅读全文</a><img src ="http://www.aygfsteel.com/alwayscy/aggbug/180803.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/alwayscy/" target="_blank">我爱佛_</a> 2008-02-20 12:40 <a href="http://www.aygfsteel.com/alwayscy/archive/2008/02/20/180803.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一U不需要WSDL用CXFQ原XFIREQ访问PERLQSOAP::LiteQ编写的WEB SERVICEhttp://www.aygfsteel.com/alwayscy/archive/2007/12/05/165446.html我爱佛_我爱佛_Wed, 05 Dec 2007 04:00:00 GMThttp://www.aygfsteel.com/alwayscy/archive/2007/12/05/165446.htmlhttp://www.aygfsteel.com/alwayscy/comments/165446.htmlhttp://www.aygfsteel.com/alwayscy/archive/2007/12/05/165446.html#Feedback0http://www.aygfsteel.com/alwayscy/comments/commentRss/165446.htmlhttp://www.aygfsteel.com/alwayscy/services/trackbacks/165446.html阅读全文

我爱佛_ 2007-12-05 12:00 发表评论
]]>
PERL中遇到Your vendor has not defined Fcntl macro F_GETFL解决Ҏhttp://www.aygfsteel.com/alwayscy/archive/2007/10/31/157300.html我爱佛_我爱佛_Wed, 31 Oct 2007 12:40:00 GMThttp://www.aygfsteel.com/alwayscy/archive/2007/10/31/157300.htmlhttp://www.aygfsteel.com/alwayscy/comments/157300.htmlhttp://www.aygfsteel.com/alwayscy/archive/2007/10/31/157300.html#Feedback0http://www.aygfsteel.com/alwayscy/comments/commentRss/157300.htmlhttp://www.aygfsteel.com/alwayscy/services/trackbacks/157300.html

今天在WINDOWS下用SOCKET时发现如下错误:QLINUX下正常)

Your vendor has not defined Fcntl macro F_GETFL, used at :/Perl/site/lib/IO/Multiplex.pm line 932.

 

只需要替换Multiplex.pm line 932处函数nonblockQ?

sub nonblock
{
my $fh = shift;
my $flags = fcntl($fh, F_GETFL, 0)
or die "fcntl F_GETFL: $!\n"
fcntl($fh, F_SETFL, $flags | O_NONBLOCK)
or die "fcntl F_SETFL $!\n"
}

替换为:

use constant WIN32 => $^O =~ /win32/i;

sub nonblock {
my $sock = shift;
if (WIN32) {
my $set_it = "1"
ioctl( $sock, 0x80000000 | (4 << 16) | (ord('f') << 8) | 126, $set_it) || return 0;
} else {
fcntl($sock, F_SETFL, fcntl($sock, F_GETFL, 0) | O_NONBLOCK) || return 0;
}
}

卛_?/p>

我爱佛_ 2007-10-31 20:40 发表评论
]]>
CXFQ咋d一点呢Q?Q箋Q已解决Q?/title><link>http://www.aygfsteel.com/alwayscy/archive/2007/08/23/138820.html</link><dc:creator>我爱佛_</dc:creator><author>我爱佛_</author><pubDate>Thu, 23 Aug 2007 06:13:00 GMT</pubDate><guid>http://www.aygfsteel.com/alwayscy/archive/2007/08/23/138820.html</guid><wfw:comment>http://www.aygfsteel.com/alwayscy/comments/138820.html</wfw:comment><comments>http://www.aygfsteel.com/alwayscy/archive/2007/08/23/138820.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/alwayscy/comments/commentRss/138820.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/alwayscy/services/trackbacks/138820.html</trackback:ping><description><![CDATA[?a href="http://www.aygfsteel.com/alwayscy/archive/2007/08/07/135074.html">上一文?/a>中的问题Q今天又再试了下Q居然解决了Q看来把遇到问题放一放是有好处的?br><br>W一Q是要用对CXF的库Q在一行代码未变的情况下,只要使用最新的库。看来在最新库里解决了数组问题Q?br>2.1-incubator-SNAPSHOT<br>没问题Q如果是用:<br>2.0-incubator<br>׃出现上篇文章的情c我使用MAVEN2Q就写成Q?br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">      </span><span style="COLOR: #008000"><!--</span><span style="COLOR: #008000">for cxf</span><span style="COLOR: #008000">--></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">dependency</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>        </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">groupId</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000">org.apache.cxf</span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">groupId</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>        </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">artifactId</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000">cxf-rt-frontend-jaxws</span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">artifactId</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>        </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">version</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000">2.1-incubator-SNAPSHOT</span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">version</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>        </span><span style="COLOR: #008000"><!--</span><span style="COLOR: #008000"> version>2.0-incubator</version</span><span style="COLOR: #008000">--></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">dependency</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">dependency</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>        </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">groupId</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000">org.apache.cxf</span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">groupId</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>        </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">artifactId</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000">cxf-rt-transports-http</span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">artifactId</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>        </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">version</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000">2.1-incubator-SNAPSHOT</span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">version</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">dependency</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">dependency</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>        </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">groupId</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000">org.apache.cxf</span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">groupId</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>        </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">artifactId</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000">cxf-rt-databinding-aegis</span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">artifactId</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>        </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">version</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000">2.1-incubator-SNAPSHOT</span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">version</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">dependency</span><span style="COLOR: #0000ff">></span></div> <br><br>W二Q对SOAP::Lite的改变,SOAP::Lite不支持doc/literalQ但通过阅读<br>"NET-based Web Service Using the SOAP::Lite Perl Library". <br>我的上篇文章有链接,我写的PERLE序在某些情况下依然不行?br>q次再加了两处改动后可以了Q(注意QCXF里不要用aegisDatabindingQ用默认的即可)<br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">my</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">$soap</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> SOAP</span><span style="COLOR: #000000">::</span><span style="COLOR: #000000">Lite<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>       </span><span style="COLOR: #000000">-></span><span style="COLOR: #000000"> uri(</span><span style="FONT-WEIGHT: bold; COLOR: #000000">'</span><span style="FONT-WEIGHT: bold; COLOR: #000000">http://magic.nms.exchangebit.com/</span><span style="FONT-WEIGHT: bold; COLOR: #000000">'</span><span style="COLOR: #000000">)<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>       </span><span style="COLOR: #000000">-></span><span style="COLOR: #000000"> on_action( </span><span style="COLOR: #0000ff">sub</span><span style="COLOR: #000000">{ </span><span style="COLOR: #0000ff">join</span><span style="COLOR: #000000"> </span><span style="FONT-WEIGHT: bold; COLOR: #000000">'</span><span style="FONT-WEIGHT: bold; COLOR: #000000">/</span><span style="FONT-WEIGHT: bold; COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> </span><span style="FONT-WEIGHT: bold; COLOR: #000000">'</span><span style="FONT-WEIGHT: bold; COLOR: #000000">http://www.alfredbr.com</span><span style="FONT-WEIGHT: bold; COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">$_</span><span style="COLOR: #000000">[</span><span style="COLOR: #800000">1</span><span style="COLOR: #000000">] })<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>       </span><span style="COLOR: #000000">-></span><span style="COLOR: #000000"> proxy(</span><span style="FONT-WEIGHT: bold; COLOR: #000000">'</span><span style="FONT-WEIGHT: bold; COLOR: #000000">http://127.0.0.1:8080/ebnms/NotifyService</span><span style="FONT-WEIGHT: bold; COLOR: #000000">'</span><span style="COLOR: #000000">)<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>           </span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">autotype(</span><span style="COLOR: #800000">0</span><span style="COLOR: #000000">);</span></div> <br><br>其中的autotype(0)非常重要。另外一处改动是Q程序中的根变量名改?arg0"Q即与WSDL中定义一致?br>实验发现Q带不带attr中的xmlns都可以。完整代码如下:<br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">use</span><span style="COLOR: #000000"> SOAP</span><span style="COLOR: #000000">::</span><span style="COLOR: #000000">Lite ( </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">trace </span><span style="COLOR: #000000">=></span><span style="COLOR: #000000"> all</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> maptype </span><span style="COLOR: #000000">=></span><span style="COLOR: #000000"> {} );<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">my</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">$soap</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> SOAP</span><span style="COLOR: #000000">::</span><span style="COLOR: #000000">Lite<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>       </span><span style="COLOR: #000000">-></span><span style="COLOR: #000000"> uri(</span><span style="FONT-WEIGHT: bold; COLOR: #000000">'</span><span style="FONT-WEIGHT: bold; COLOR: #000000">http://magic.nms.exchangebit.com/</span><span style="FONT-WEIGHT: bold; COLOR: #000000">'</span><span style="COLOR: #000000">)<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>       </span><span style="COLOR: #000000">-></span><span style="COLOR: #000000"> on_action( </span><span style="COLOR: #0000ff">sub</span><span style="COLOR: #000000">{ </span><span style="COLOR: #0000ff">join</span><span style="COLOR: #000000"> </span><span style="FONT-WEIGHT: bold; COLOR: #000000">'</span><span style="FONT-WEIGHT: bold; COLOR: #000000">/</span><span style="FONT-WEIGHT: bold; COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> </span><span style="FONT-WEIGHT: bold; COLOR: #000000">'</span><span style="FONT-WEIGHT: bold; COLOR: #000000">http://www.alfredbr.com</span><span style="FONT-WEIGHT: bold; COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">$_</span><span style="COLOR: #000000">[</span><span style="COLOR: #800000">1</span><span style="COLOR: #000000">] })<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>       </span><span style="COLOR: #000000">-></span><span style="COLOR: #000000"> proxy(</span><span style="FONT-WEIGHT: bold; COLOR: #000000">'</span><span style="FONT-WEIGHT: bold; COLOR: #000000">http://127.0.0.1:8080/ebnms/NotifyService</span><span style="FONT-WEIGHT: bold; COLOR: #000000">'</span><span style="COLOR: #000000">)<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>           </span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">autotype(</span><span style="COLOR: #800000">0</span><span style="COLOR: #000000">);<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">#</span><span style="COLOR: #008000">$soap->sendAlarmString ("good");<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>#$soap->sendAlarm (SOAP::Data->name(arg0=>{devName=>"hehe", devIp=>"ip1"}));</span><span style="COLOR: #008000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>{</span><span style="COLOR: #008000">#</span><span style="COLOR: #008000"> call send alarm</span><span style="COLOR: #008000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    </span><span style="COLOR: #0000ff">my</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">@params</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #008000">#</span><span style="COLOR: #008000">   $header,</span><span style="COLOR: #008000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">       SOAP</span><span style="COLOR: #000000">::</span><span style="COLOR: #000000">Data</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">name(arg0 </span><span style="COLOR: #000000">=></span><span style="COLOR: #000000"> goodhehe) <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    );<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff">my</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">$method</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> SOAP</span><span style="COLOR: #000000">::</span><span style="COLOR: #000000">Data</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">name(</span><span style="FONT-WEIGHT: bold; COLOR: #000000">'</span><span style="FONT-WEIGHT: bold; COLOR: #000000">ns1:sendAlarmString</span><span style="FONT-WEIGHT: bold; COLOR: #000000">'</span><span style="COLOR: #000000">)<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>       </span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">attr({</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">xmlns:ns1</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">=></span><span style="COLOR: #000000"> </span><span style="FONT-WEIGHT: bold; COLOR: #000000">'</span><span style="FONT-WEIGHT: bold; COLOR: #000000">http://magic.nms.exchangebit.com/</span><span style="FONT-WEIGHT: bold; COLOR: #000000">'</span><span style="COLOR: #000000">});<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff">my</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">$result</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">$soap</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">call(</span><span style="COLOR: #800080">$method</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">=></span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">@params</span><span style="COLOR: #000000">);<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff">print</span><span style="COLOR: #000000"> </span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">\nsend string alarm result:\n</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (</span><span style="COLOR: #800080">$result</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">fault)<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    {<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>       </span><span style="COLOR: #0000ff">print</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">$result</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">faultstring;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    }<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    {<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>       </span><span style="COLOR: #0000ff">print</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">$result</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">result;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    }<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff">print</span><span style="COLOR: #000000"> </span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">\nn</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>{</span><span style="COLOR: #008000">#</span><span style="COLOR: #008000"> call send dev alarm</span><span style="COLOR: #008000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    </span><span style="COLOR: #0000ff">my</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">@params</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (SOAP</span><span style="COLOR: #000000">::</span><span style="COLOR: #000000">Data</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">name(arg0</span><span style="COLOR: #000000">=></span><span style="COLOR: #000000">{devName</span><span style="COLOR: #000000">=></span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">hehe</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> devIp</span><span style="COLOR: #000000">=></span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">ip1</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">}));<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff">my</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">$method</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> SOAP</span><span style="COLOR: #000000">::</span><span style="COLOR: #000000">Data</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">name(</span><span style="FONT-WEIGHT: bold; COLOR: #000000">'</span><span style="FONT-WEIGHT: bold; COLOR: #000000">sendAlarm</span><span style="FONT-WEIGHT: bold; COLOR: #000000">'</span><span style="COLOR: #000000">);<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">#</span><span style="COLOR: #008000">       ->attr({"xmlns:ns1" => 'http://magic.nms.exchangebit.com/'});</span><span style="COLOR: #008000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff">my</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">$result</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">$soap</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">call(</span><span style="COLOR: #800080">$method</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">=></span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">@params</span><span style="COLOR: #000000">);<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff">print</span><span style="COLOR: #000000"> </span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">\nsend string alarm result:\n</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (</span><span style="COLOR: #800080">$result</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">fault)<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    {<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>       </span><span style="COLOR: #0000ff">print</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">$result</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">faultstring;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    }<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    {<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>       </span><span style="COLOR: #0000ff">print</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">$result</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">result;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    }<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff">print</span><span style="COLOR: #000000"> </span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">\n\n</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>{</span><span style="COLOR: #008000">#</span><span style="COLOR: #008000"> call send arr alarm</span><span style="COLOR: #008000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">    </span><span style="COLOR: #0000ff">my</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">@params</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>       SOAP</span><span style="COLOR: #000000">::</span><span style="COLOR: #000000">Data</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">name(arg0 </span><span style="COLOR: #000000">=></span><span style="COLOR: #000000"> [<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>       {devName</span><span style="COLOR: #000000">=></span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">hehe1</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> devIp</span><span style="COLOR: #000000">=></span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">ip1</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">}</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>       {devName</span><span style="COLOR: #000000">=></span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">hehe1</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> devIp</span><span style="COLOR: #000000">=></span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">ip1</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">}</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>       {devName</span><span style="COLOR: #000000">=></span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">hehe1</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> devIp</span><span style="COLOR: #000000">=></span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">ip1</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">}</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>       {devName</span><span style="COLOR: #000000">=></span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">hehe1</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> devIp</span><span style="COLOR: #000000">=></span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">ip1</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">}</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>       {devName</span><span style="COLOR: #000000">=></span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">hehe1</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> devIp</span><span style="COLOR: #000000">=></span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">ip1</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">}</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>       {devName</span><span style="COLOR: #000000">=></span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">hehe1</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> devIp</span><span style="COLOR: #000000">=></span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">ip1</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">}</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>       {devName</span><span style="COLOR: #000000">=></span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">hehe1</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> devIp</span><span style="COLOR: #000000">=></span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">ip1</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">}</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>       {devName</span><span style="COLOR: #000000">=></span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">hehe1</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> devIp</span><span style="COLOR: #000000">=></span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">ip1</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">}</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>       {devName</span><span style="COLOR: #000000">=></span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">hehe1</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> devIp</span><span style="COLOR: #000000">=></span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">ip1</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">}</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>       {devName</span><span style="COLOR: #000000">=></span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">hehe1</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> devIp</span><span style="COLOR: #000000">=></span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">ip1</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">}</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>       {devName</span><span style="COLOR: #000000">=></span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">hehe2</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> devIp</span><span style="COLOR: #000000">=></span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">ip2</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">}])<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    );<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff">my</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">$method</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> SOAP</span><span style="COLOR: #000000">::</span><span style="COLOR: #000000">Data</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">name(</span><span style="FONT-WEIGHT: bold; COLOR: #000000">'</span><span style="FONT-WEIGHT: bold; COLOR: #000000">sendAlarmArr</span><span style="FONT-WEIGHT: bold; COLOR: #000000">'</span><span style="COLOR: #000000">);<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff">my</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">$result</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">$soap</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">call(</span><span style="COLOR: #800080">$method</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">=></span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">@params</span><span style="COLOR: #000000">);<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff">print</span><span style="COLOR: #000000"> </span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">\nsend string alarm result:\n</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (</span><span style="COLOR: #800080">$result</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">fault)<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    {<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>       </span><span style="COLOR: #0000ff">print</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">$result</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">faultstring;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    }<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    {<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>       </span><span style="COLOR: #0000ff">my</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">@a</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> @{</span><span style="COLOR: #800080">$result</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">result</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">{item}};<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>       </span><span style="COLOR: #0000ff">foreach</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">$i</span><span style="COLOR: #000000"> (</span><span style="COLOR: #800080">@a</span><span style="COLOR: #000000">) {<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>               </span><span style="COLOR: #0000ff">print</span><span style="COLOR: #000000"> </span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">ele: $i->{devName}, $i->{devIp}\n</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>       }<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    }<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff">print</span><span style="COLOR: #000000"> </span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">\n\n</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>}</span></div> <img src ="http://www.aygfsteel.com/alwayscy/aggbug/138820.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/alwayscy/" target="_blank">我爱佛_</a> 2007-08-23 14:13 <a href="http://www.aygfsteel.com/alwayscy/archive/2007/08/23/138820.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CXFQ咋d一点呢Q?/title><link>http://www.aygfsteel.com/alwayscy/archive/2007/08/07/135074.html</link><dc:creator>我爱佛_</dc:creator><author>我爱佛_</author><pubDate>Tue, 07 Aug 2007 13:39:00 GMT</pubDate><guid>http://www.aygfsteel.com/alwayscy/archive/2007/08/07/135074.html</guid><wfw:comment>http://www.aygfsteel.com/alwayscy/comments/135074.html</wfw:comment><comments>http://www.aygfsteel.com/alwayscy/archive/2007/08/07/135074.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/alwayscy/comments/commentRss/135074.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/alwayscy/services/trackbacks/135074.html</trackback:ping><description><![CDATA[最q想用PERL通过SOAP与JAVA通信Q想CXFIREQ现在叫CXF提供的服务。但L差一Ҏ功?br><br>W一步,<br>׃用了SPRINGQ所以最先看了这文章:<a title="Writing a service with Spring" ><u><font color=#0000ff>Writing a service with Spring</font></u></a> <br>服务是徏成功了,PERL和JAVA是可以正帔R信了,详见<a href="http://www.aygfsteel.com/alwayscy/archive/2007/08/03/134343.html">上篇文章</a><br>可是CXF自己的CLIENT生成代码却访?#8220;自定义结构数l?#8221;的函C成功Q?br> public List<DeviceValue> sendAlarmArr (List<DeviceValue> arr);<br><br>W二步,<br>左试双不成功,甚至去试了Axis2Q但那个生成的WSDL把上面的l构变成AnyTypeQ估计不寏V?br>又回来,看了<a >Aegisl定</a>Q我q找到将它用到SPRING里的ҎQ?br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">beans </span><span style="COLOR: #ff0000">xmlns</span><span style="COLOR: #0000ff">="http://www.springframework.org/schema/beans"</span><span style="COLOR: #ff0000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top> xmlns:xsi</span><span style="COLOR: #0000ff">="http://www.w3.org/2001/XMLSchema-instance"</span><span style="COLOR: #ff0000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top> xmlns:jaxws</span><span style="COLOR: #0000ff">="http://cxf.apache.org/jaxws"</span><span style="COLOR: #ff0000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top> xsi:schemaLocation</span><span style="COLOR: #0000ff">="<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top> http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top> http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top> </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">import </span><span style="COLOR: #ff0000">resource</span><span style="COLOR: #0000ff">="classpath:META-INF/cxf/cxf.xml"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top> </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">import </span><span style="COLOR: #ff0000">resource</span><span style="COLOR: #0000ff">="classpath:META-INF/cxf/cxf-extension-soap.xml"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top> </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">import </span><span style="COLOR: #ff0000">resource</span><span style="COLOR: #0000ff">="classpath:META-INF/cxf/cxf-servlet.xml"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>   </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="serviceClass"</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">="com.exchangebit.nms.magic.NotifyServiceImpl"</span><span style="COLOR: #0000ff">/></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>  <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="aegisDatabinding"</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">="org.apache.cxf.aegis.databinding.AegisDatabinding"</span><span style="COLOR: #0000ff">/></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>          <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="serviceFactory"</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>        </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="dataBinding"</span><span style="COLOR: #ff0000"> ref</span><span style="COLOR: #0000ff">="aegisDatabinding"</span><span style="COLOR: #0000ff">/></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="serverBeanFactory"</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">="org.apache.cxf.frontend.ServerFactoryBean"</span><span style="COLOR: #ff0000"> init-method</span><span style="COLOR: #0000ff">="create"</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>        </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="address"</span><span style="COLOR: #ff0000"> value</span><span style="COLOR: #0000ff">="/NotifyService"</span><span style="COLOR: #0000ff">/></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>        </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="bindingId"</span><span style="COLOR: #ff0000"> value</span><span style="COLOR: #0000ff">="http://schemas.xmlsoap.org/soap/"</span><span style="COLOR: #0000ff">/></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>        </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="serviceBean"</span><span style="COLOR: #ff0000"> ref</span><span style="COLOR: #0000ff">="serviceClass"</span><span style="COLOR: #0000ff">/></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>        </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="serviceFactory"</span><span style="COLOR: #ff0000"> ref</span><span style="COLOR: #0000ff">="serviceFactory"</span><span style="COLOR: #0000ff">/></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>    </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">jaxws:endpoint <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>      </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="notifyService"</span><span style="COLOR: #ff0000"> <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>      implementor</span><span style="COLOR: #0000ff">="com.exchangebit.nms.magic.NotifyServiceImpl"</span><span style="COLOR: #ff0000"> <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>      address</span><span style="COLOR: #0000ff">="/NotifyService"</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>         </span><span style="COLOR: #008000"><!--</span><span style="COLOR: #008000">jaxws:serviceFactory><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>            <ref bean="serviceFactory"/><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>         </jaxws:serviceFactory</span><span style="COLOR: #008000">--></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>     </span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">jaxws:endpoint</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>   <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">beans</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top></span></div> <br>其实Q跟前一UJAX-WS的方式{换非常简单,把其中的注释L是Aegisl定Q注释掉是JAX-WS?br>客户端没有在SPRING里试成功Q但写代码也相当单,Aegis真好Q?br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">        getBean (</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">notifyClient</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>        <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>        ClientProxyFactoryBean factory </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> ClientProxyFactoryBean();<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>        factory.setServiceClass(NotifyService.</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">);<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>        factory.setAddress(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">http://127.0.0.1:8080/ebnms/NotifyService</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>        factory.getServiceFactory().setDataBinding(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> AegisDatabinding());<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>        NotifyService client </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (NotifyService) factory.create();<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>        DoTest (client);</span></div> <p><br>q次Q到是CXF的SERVER和CLIENT都可以正帔R信了。但我不说也知道啦,PERL又出问题?</p> <p> </p> W三步,<br>又进一步搜Q才知道Document, Literal, RPC, Encoding对SOAP消息的媄响,<a >q篇文章</a>(<a >中文?/a>)相当?<br>大义是RPC/Encoding方法名U放入了operation节中Qƈ且消息里含有cd信息Q不方便验?br>而Document/Literal通过增加WSDL复杂度,方法名、参数类型全部放入了types一节,方便了处理?br>而SOAP::Lite只支持RPC/Encoding的方式,但也有办法让它Ş成Doc/Lit的消息:<a >点这?/a>?br>但,q种Ҏ只支持JAX-WS的服务,Aegis的PERL׃出错了?br><br>所以,不管用哪U要么JAVA的CLIENT和SERVER通信有问题,不然是把PERL拒之门外。我怀疑是不是CXF的JAX-WS的数l处理有问题Q不然AegisZ不出错?另外QAegis对PERL的消息不够宽容,本已是Doc/Lit格式Q只是带有TYPE信息也会出错?br>不知如何解,先记在此Q以后回q头来再研究了? <img src ="http://www.aygfsteel.com/alwayscy/aggbug/135074.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/alwayscy/" target="_blank">我爱佛_</a> 2007-08-07 21:39 <a href="http://www.aygfsteel.com/alwayscy/archive/2007/08/07/135074.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SOAP::Litel装和处理struct及array参数及返回值时的要?/title><link>http://www.aygfsteel.com/alwayscy/archive/2007/08/03/134343.html</link><dc:creator>我爱佛_</dc:creator><author>我爱佛_</author><pubDate>Fri, 03 Aug 2007 14:37:00 GMT</pubDate><guid>http://www.aygfsteel.com/alwayscy/archive/2007/08/03/134343.html</guid><wfw:comment>http://www.aygfsteel.com/alwayscy/comments/134343.html</wfw:comment><comments>http://www.aygfsteel.com/alwayscy/archive/2007/08/03/134343.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/alwayscy/comments/commentRss/134343.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/alwayscy/services/trackbacks/134343.html</trackback:ping><description><![CDATA[     摘要: SOAP::Lite的Lite是说其好用,其实它的实现q不“轻量”Q功能也非常强大Q所以我们要用好它?在调用服务时Q有旉到有复杂l构或者数l时Q还是有点小ȝQ下面以调用以下三个函数Z分别写出SOAP::Lite如何l合它们的参敎ͼ其它情况也应该能q刃而解?public class DeviceValue {  &nbs...  <a href='http://www.aygfsteel.com/alwayscy/archive/2007/08/03/134343.html'>阅读全文</a><img src ="http://www.aygfsteel.com/alwayscy/aggbug/134343.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/alwayscy/" target="_blank">我爱佛_</a> 2007-08-03 22:37 <a href="http://www.aygfsteel.com/alwayscy/archive/2007/08/03/134343.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Net::Server::Multiplexl构http://www.aygfsteel.com/alwayscy/archive/2007/05/29/120637.html我爱佛_我爱佛_Tue, 29 May 2007 03:11:00 GMThttp://www.aygfsteel.com/alwayscy/archive/2007/05/29/120637.htmlhttp://www.aygfsteel.com/alwayscy/comments/120637.htmlhttp://www.aygfsteel.com/alwayscy/archive/2007/05/29/120637.html#Feedback0http://www.aygfsteel.com/alwayscy/comments/commentRss/120637.htmlhttp://www.aygfsteel.com/alwayscy/services/trackbacks/120637.html$self->{net_server}是MultiplexQؓ了能够实现多态调用(在父cM调用实现子类的方法,PERL中用SUPER实现Q,又定义了Q?/p>

Net::Server::Multiplex::MUX

每有一个新q接Q会NEW一个这L对象q行理?/p>

 

而封装的IO::Multiplex对象是存在:$self->{net_server}->{mux}中?/p>

我爱佛_ 2007-05-29 11:11 发表评论
]]>
关于Perl的几点:多行注释QREF函数Q类的初始化http://www.aygfsteel.com/alwayscy/archive/2007/05/24/119736.html我爱佛_我爱佛_Thu, 24 May 2007 07:31:00 GMThttp://www.aygfsteel.com/alwayscy/archive/2007/05/24/119736.htmlhttp://www.aygfsteel.com/alwayscy/comments/119736.htmlhttp://www.aygfsteel.com/alwayscy/archive/2007/05/24/119736.html#Feedback2http://www.aygfsteel.com/alwayscy/comments/commentRss/119736.htmlhttp://www.aygfsteel.com/alwayscy/services/trackbacks/119736.html多行注释Q?br>perl没有多行注释Q可以用下面代替Q?br>=pod
代码?
.
.
.
代码?
=cut


关于ref函数Q?br> ref EXPR
 ref     Returns a non-empty string if EXPR is a reference, the empty
         string otherwise. If EXPR is not specified, $_ will be used. The
         value returned depends on the type of thing the reference is a
         reference to. Builtin types include:

             SCALAR
             ARRAY
             HASH
             CODE
             REF
             GLOB
             LVALUE

         If the referenced object has been blessed into a package, then
         that package name is returned instead. You can think of "ref" as
         a "typeof" operator.



讲类的段落,比较明了Q?br>Object Construction
All objects are references, but not all references are objects. A reference won't work as an object unless its referent is specially marked to tell Perl what package it belongs to. The act of marking a referent with a package name--and therefore, its class, since a class is just a package--is known as blessing. You can think of the blessing as turning a reference into an object, although it's more accurate to say that it turns the reference into an object reference.

The bless function takes either one or two arguments. The first argument is a reference and the second is the package to bless the referent into. If the second argument is omitted, the current package is used.

$obj = { };                 # Get reference to anonymous hash.
bless($obj);                # Bless hash into current package.
bless($obj, "Critter");     # Bless hash into class Critter.
Here we've used a reference to an anonymous hash, which is what people usually use as the data structure for their objects. Hashes are extremely flexible, after all. But allow us to emphasize that you can bless a reference to anything you can make a reference to in Perl, including scalars, arrays, subroutines, and typeglobs. You can even bless a reference to a package's symbol table hash if you can think of a good reason to. (Or even if you can't.) Object orientation in Perl is completely orthogonal to data structure.

Once the referent has been blessed, calling the built-in ref function on its reference returns the name of the blessed class instead of the built-in type, such as HASH. If you want the built-in type, use the reftype function from the attributes module. See use attributes in Chapter 31, "Pragmatic Modules".

And that's how to make an object. Just take a reference to something, give it a class by blessing it into a package, and you're done. That's all there is to it if you're designing a minimal class. If you're using a class, there's even less to it, because the author of a class will have hidden the bless inside a method called a constructor, which creates and returns instances of the class. Because bless returns its first argument, a typical constructor can be as simple as this:

package Critter;
sub spawn { bless {}; }
Or, spelled out slightly more explicitly:
package Critter;
sub spawn {
    my     $self = {};       # Reference to an empty anonymous hash
    bless  $self, "Critter"; # Make that hash a Critter object
    return $self;            # Return the freshly generated Critter
}
With that definition in hand, here's how one might create a Critter object:
$pet = Critter->spawn;

12.4.1. Inheritable Constructors
Like all methods, a constructor is just a subroutine, but we don't call it as a subroutine. We always invoke it as a method--a class method, in this particular case, because the invocant is a package name. Method invocations differ from regular subroutine calls in two ways. First, they get the extra argument we discussed earlier. Second, they obey inheritance, allowing one class to use another's methods.

We'll describe the underlying mechanics of inheritance more rigorously in the next section, but for now, some simple examples of its effects should help you design your constructors. For instance, suppose we have a Spider class that inherits methods from the Critter class. In particular, suppose the Spider class doesn't have its own spawn method. The following correspondences apply:

Method Call Resulting Subroutine Call
Critter->spawn() Critter::spawn("Critter")
Spider->spawn() Critter::spawn("Spider")

The subroutine called is the same in both cases, but the argument differs. Note that our spawn constructor above completely ignored its argument, which means our Spider object was incorrectly blessed into class Critter. A better constructor would provide the package name (passed in as the first argument) to bless:

sub spawn {
    my $class =  shift;       # Store the package name
    my $self  =  { };
    bless($self, $class);     # Bless the reference into that package
    return $self;
}
Now you could use the same subroutine for both these cases:
$vermin = Critter->spawn;
$shelob = Spider->spawn;
And each object would be of the proper class. This even works indirectly, as in:
$type  = "Spider";
$shelob = $type->spawn;         # same as "Spider"->spawn
That's still a class method, not an instance method, because its invocant holds a string and not a reference.

If $type were an object instead of a class name, the previous constructor definition wouldn't have worked, because bless needs a class name. But for many classes, it makes sense to use an existing object as the template from which to create another. In these cases, you can design your constructors so that they work with either objects or class names:

sub spawn {
    my $invocant = shift;
    my $class    = ref($invocant) || $invocant;  # Object or class name
    my $self     = { };
    bless($self, $class);
    return $self;
}

12.4.2. Initializers
Most objects maintain internal information that is indirectly manipulated by the object's methods. All our constructors so far have created empty hashes, but there's no reason to leave them empty. For instance, we could have the constructor accept extra arguments to store into the hash as key/value pairs. The OO literature often refers to such data as properties, attributes, accessors, member data, instance data, or instance variables. The section "Instance Variables" later in this chapter discusses attributes in more detail.

Imagine a Horse class with instance attributes like "name" and "color":

$steed = Horse->new(name => "Shadowfax", color => "white");
If the object is implemented as a hash reference, the key/value pairs can be interpolated directly into the hash once the invocant is removed from the argument list:
sub new {
    my $invocant = shift;
    my $class = ref($invocant) || $invocant;
    my $self = { @_ };          # Remaining args become attributes
    bless($self, $class);       # Bestow objecthood
    return $self;
}
This time we used a method named new for the class's constructor, which just might lull C++ programmers into thinking they know what's going on. But Perl doesn't consider "new" to be anything special; you may name your constructors whatever you like. Any method that happens to create and return an object is a de facto constructor. In general, we recommend that you name your constructors whatever makes sense in the context of the problem you're solving. For example, constructors in the Tk module are named after the widgets they create. In the DBI module, a constructor named connect returns a database handle object, and another constructor named prepare is invoked as an instance method and returns a statement handle object. But if there is no suitable context-specific constructor name, new is perhaps not a terrible choice. Then again, maybe it's not such a bad thing to pick a random name to force people to read the interface contract (meaning the class documentation) before they use its constructors.

Elaborating further, you can set up your constructor with default key/value pairs, which the user could later override by supplying them as arguments:

sub new {
    my $invocant = shift;
    my $class   = ref($invocant) || $invocant;
    my $self = {
        color  => "bay",
        legs   => 4,
        owner  => undef,
        @_,                 # Override previous attributes
    };
    return bless $self, $class;
}

$ed       = Horse->new;                    # A 4-legged bay horse
$stallion = Horse->new(color => "black");  # A 4-legged black horse
This Horse constructor ignores its invocant's existing attributes when used as an instance method. You could create a second constructor designed to be called as an instance method, and if designed properly, you could use the values from the invoking object as defaults for the new one:
$steed  = Horse->new(color => "dun");
$foal   = $steed->clone(owner => "EquuGen Guild, Ltd.");

sub clone {
    my $model = shift;
    my $self  = $model->new(%$model, @_);
    return $self;     # Previously blessed by ->new
}



我爱佛_ 2007-05-24 15:31 发表评论
]]>
安装perl的net_ssleay的PPM?/title><link>http://www.aygfsteel.com/alwayscy/archive/2006/11/26/83576.html</link><dc:creator>我爱佛_</dc:creator><author>我爱佛_</author><pubDate>Sun, 26 Nov 2006 03:35:00 GMT</pubDate><guid>http://www.aygfsteel.com/alwayscy/archive/2006/11/26/83576.html</guid><wfw:comment>http://www.aygfsteel.com/alwayscy/comments/83576.html</wfw:comment><comments>http://www.aygfsteel.com/alwayscy/archive/2006/11/26/83576.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/alwayscy/comments/commentRss/83576.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/alwayscy/services/trackbacks/83576.html</trackback:ping><description><![CDATA[     摘要: 更新?008q??日: <br>最q,又再ơ试图自己安装OPENSSLQSSLeayQ用了SSLeay里README.WIN32说的Ҏ  <a href='http://www.aygfsteel.com/alwayscy/archive/2006/11/26/83576.html'>阅读全文</a><img src ="http://www.aygfsteel.com/alwayscy/aggbug/83576.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/alwayscy/" target="_blank">我爱佛_</a> 2006-11-26 11:35 <a href="http://www.aygfsteel.com/alwayscy/archive/2006/11/26/83576.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank">½</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ϳ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ϲ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ϫ</a>| <a href="http://" target="_blank">ҽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ϲ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">⳵</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">¬</a>| <a href="http://" target="_blank">ղ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">żҸ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">׸</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˰</a>| <a href="http://" target="_blank">͸</a>| <a href="http://" target="_blank">ʡ</a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>