前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WebService深入学习之四:使用生成存根的方式访问WebService

WebService深入学习之四:使用生成存根的方式访问WebService

作者头像
the5fire
发布2019-02-28 14:36:28
6200
发布2019-02-28 14:36:28
举报
文章被收录于专栏:Python程序员杂谈

这篇文章和那个读取天气预报的类似.

首先你需要根据WebService的描述,即WSDL语言生成本地的访问文件(java文件)。你需要用的axis中的org.apache.axis.wsdl.WSDL2Java,关于这个的使用网上有很多教程,这里我就最简单的描述一下使用方式,编写一个bat文件:

代码语言:javascript
复制
set AXIS_HOME=C:\Program Files\Java\axis-1_4
set CLASSPATH=.;%AXIS_HOME%\lib\axis.jar;%AXIS_HOME%\lib\axis-ant.jar;%AXIS_HOME%\lib\commons-discovery-0.2.jar;%AXIS_HOME%\lib\commons-logging-1.0.4.jar;%AXIS_HOME%\lib\jaxrpc.jar;%AXIS_HOME%\lib\log4j-1.2.8.jar;%AXIS_HOME%\lib\saaj.jar;%AXIS_HOME%\lib\wsdl4j-1.5.1.jar

java org.apache.axis.wsdl.WSDL2Java  -p com.test http://localhost:8088/axis/HelloWorld.jws?wsdl

关于参数-p:打包的意思,后面就是包名。其实后面的那个url地址换成磁盘上的wsdl文件也是可以的。

然后会在你的bat文件所在文件夹下生成一个com文件夹,里面按照src方式存有源码,你需要把com文件拷到新建工程的src下。

然后在写一个MyClient类来通过存根读取webservice上面的内容:

代码语言:javascript
复制
package client;

import java.rmi.RemoteException;
import com.test.HelloWorldService;
import com.test.HelloWorldServiceLocator;
import com.test.HelloWorld_PortType;
import javax.xml.rpc.ServiceException;

public class MyClient {

	public static void main(String[] args) {

		HelloWorldService hs = new HelloWorldServiceLocator();
		HelloWorld_PortType hcpt;
		try {
			hcpt = hs.getHelloWorld();
			System.out.println(hcpt.sayHello("胡阳"));
		} catch (ServiceException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		} catch (RemoteException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}
}

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2011-01-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档