使用 python 开发 Web Service
2008-09-30 13:03:38 来源:WEB开发网这段代码无需太多解释。port 定义了 web service 发布的端口号。ZSI 包的 AsServer 方法只有两个参数:一个是端口;另外一个是包含了 web 服务实现代码的类,在我们的实验中就是 mySoapServices。字符串 test,表示 web 服务发布时的虚拟路径。当上述代码成功运行之后,就会在 localhost 上开启一个 web server,并在端口 8888 发布 myServices 服务。一切都非常简单,体现了用 python 语言的最吸引人的特点,快速而强大!
我们将在本机访问 myServices,相应的 URL 为 http://localhost/test?wsdl。
编写 java 客户端
现在我们使用 eclipse 集成环境来开发 web services 的客户端程序,调用前面章节描述的那些 web services。
Eclipse 提供了一个简单的方法来创建 web service 应用程序,即 Web Service Wizard。
首先创建一个 Web Project。
打开 File->New->Other…->Dynamic Web Project,创建一个新的工程。
图 12.
然后就可以创建 java 客户端。选择 File -> New -> Other... -> Web Services -> Web Service Client
图 13.
选择 Next,在下一个窗口中的 Service Definition 中填写相应的 webservice 的发布地址 URL。在本文中为: http://localhost:8888/test?wsdl
图 14.
选择 Finish 按钮。将自动生成 java 代码。包括以下几个文件: MyService_PortType.java MyService_Service.java MyService_ServiceLocatior.java MyServiceProxy.java MyServiceSOAPStub.java
另外 showUser() 返回一个复杂对象,所以 eclipse 还创建了一个 java 类表示该复杂对象类,文件名为 UserInfo.java
作为测试,我们写了一个 java 小程序,调用 getTime。
import org.example.www.myService.MyServiceProxy;
public class HelloClient {
public static void main(String[] args){
try {
System.out.println("Step1");
MyServiceProxy hello = new MyServiceProxy();
System.out.println("Step2");
java.lang.String str = hello.getTime();
System.out.println("step over");
System.out.println(str);
}
catch (Exception ex)
{
System.out.println(ex.getMessage());
}
}
}
sayHello 和 showUser 的调用代码与上面的示例类似。
总结
用 Eclipse 的 WTP 开发 WSDL 文件,用 python 实现 Web 服务都比较简单而快速。用这两个强大的工具能够迅速地开发 Web 服务应用,适用于原型产品的快速开发。 这样就能抓住先机,比对手更快的推出新的Web应用,从而在市场上立于不败之地。
更多精彩
赞助商链接