Board logo

标题: 面向 Jython 的 Web 服务框架简介-2 WSF/Jython 特性 [打印本页]

作者: look_w    时间: 2018-8-23 20:56     标题: 面向 Jython 的 Web 服务框架简介-2 WSF/Jython 特性

WSF/Jython 特性下面列出了 WSF/Jython 的服务器端和客户端特性。
服务器端特性客户端特性编写 Jython 服务现在,我们将编写一个简单的 Jython 脚本,在其中实现一个名为 deduct 的操作。它接收两个输入变量,并返回这两个数值的差。由于我们需要执行 XML 模式生成,因此必须为 Jython 脚本添加注释。添加了注释的 Jython 方法如下例所示。            
清单 1. 简单服务
1
2
3
4
#@annotate("returns=int", "operationName=deduct", var1="integer", var2="integer")
def deduct(var1,var2):
    var3 = var1 - var2
    return var3




在注释 Jython 脚本时应该遵循的步骤如下:
清单 2. 注释
1
#@annotate("returns=int", "operationName=deduct", var1="integer", var2="integer")




使用限制在部署 Jython 脚本时,必须遵循以下指导方针:
清单 3.  添加到 axis.xml 中的内容
1
2
3
<deployer extension=".py" directory="scripts"
class="org.wso2.wsf.jython.deployer.JythonDeployer">
</deployer>




一个简单的服务依照上述关于注释的说明,您可以编写一个简单的 Jython 服务(如下所示),并借助 Jython 部署程序将它公开为 Web 服务。
清单 4. 示例服务
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#@annotate("returns=double", "operationName=f", a="double")
def f(a):
    return a

#@annotate("returns=int", "operationName=add", var1="integer", var2="integer")
def add(var1,var2):
    return var1+var2

#@annotate("returns=double", "operationName=deduct", var1="double", var2="double")
def deduct(var1,var2):
    return var1-var2

#@annotate("returns=int", "operationName=addTwo", var1="integer", var2="integer",
var3=(a="string", b="integer"))
def addTwo(var1,var2,var3):
    return var1+var2

#@annotate("returns=int", "operationName=doComplexStuff", var1="integer",
var2="(a="integer", b="integer")", var3="(a="string", b="integer")")
def doComplexStuff(var1,var2,var3):
    return var1

class MyClass:
    #@annotate("returns=integer", "operationName=MyClass.multiply", var1="integer",
    var2="integer")
    def multiply(var1,var2):
        return var1*var2






欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0