IDE 用的是MyEclipse5.1.0GA,TOMCAT 是 6.0。xfire 1.2
步骤1:新建webservices工程!
步骤2:新建webservces 服务端(建立完毕后将会出现接口类和实现类)
步骤3:配置TOMCAT ,配置服务器端到TOMCAT ,然后
通过webservices视图来测试webservices
http://localhost:8086/Hello/services/Hello?WSDL
这个是固定格式 : 第一个 Hello 是你新建工程的名字,第二个是webservcies 服务的名字
把地址放到TOMCAT 里运行下,如果出现XML ,说明服务器端配置完毕
然后写个测试类,调用 服务的方法
public
static
void
main(String[] args)
...
{
//根据xfire提供的api查找到对应的swdl,然后得到webservice的苦户端对象IHello
//就可以调用它们的方法。
//和ejb组件类似,但是webservice可以在异构平台下操作
//很方面跨网络
Service srvcModel = new ObjectServiceFactory().create(IHello.class);
XFireProxyFactory factory = new XFireProxyFactory(XFireFactory
.newInstance().getXFire());
String helloWorldURL = "http://localhost:8008/Hello/services/Hello";
try ...{
IHello srvc = (IHello) factory.create(srvcModel, helloWorldURL);
String result = srvc.getHello("测试");
System.out.print(result);
} catch (MalformedURLException e) ...{
e.printStackTrace();
}
//根据xfire提供的api查找到对应的swdl,然后得到webservice的苦户端对象IHello
//就可以调用它们的方法。
//和ejb组件类似,但是webservice可以在异构平台下操作
//很方面跨网络
Service srvcModel = new ObjectServiceFactory().create(IHello.class);
XFireProxyFactory factory = new XFireProxyFactory(XFireFactory
.newInstance().getXFire());
String helloWorldURL = "http://localhost:8008/Hello/services/Hello";
try ...{
IHello srvc = (IHello) factory.create(srvcModel, helloWorldURL);
String result = srvc.getHello("测试");
System.out.print(result);
} catch (MalformedURLException e) ...{
e.printStackTrace();
}
在整个测试过程中,出现了2个错误,第一个是找不到org.apache.commons.httpclient.methods里的RequestEntity.class类,后来我取APACHE 网站下载了D:/包/commons-httpclient-3.0.1-2006-05-06.jar 包 ,搞定。然后测试类里的helloWorldURL 这个地址是你的WSDL 描述语言的地址 。