web service及web服务,是为了实现“基于web无缝集成”的目标而提出的全新概念,希望通过web服务能够实现不同的系统之间的相互调用,从而实现系统集成的平台无关系。
web服务是一个应用程序,它为调用者提供一个能够通过web进行调用的API,使调用者能够用编程的方式通过web调用来开发应用程序。
web服务的默认的格式是xml,封装和交换信息的默认协议是SOAP(simple object access protocol 简单对象访问协议),服务的描述语言是WSDL。
第一步:使用myeclipse搭建环境,创建服务器端的工程,在工程的名字上右击鼠标,选择myeclipse->add xfire web service -> next 选择 Core LIbraries 是添加服务器端的支持,HTTP CLient 是添加客户端的支持的,然后点击 finish 。
第二步:创建服务器端的接口和实现类。
package com;
public interface IHelo {
public abstract String get(String name);
}
实现类:
package com;
public class Helo implements IHelo {
public String get(String name){
return "hello"+name;
}
}
第三步:在webServices.xml 添加如下代码:
<service>
<name>cxdd</name>
<namespace>www</namespace>
<serviceClass>com.IHelo</serviceClass>
<implementationClass>com.Helo</implementationClass>
</service>
第四步:编写web.xml
<servlet>
<servlet-name>XFireServlet</servlet-name>
<servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
第五步:创建客户端工程,添加xfire的,同创建服务器工程。
把服务器端的接口打包成jar包,添加到客户端工程中。创建一个类:
import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
import com.IHelo;
public class F {
public static void main(String[] args) {
Service s=new ObjectServiceFactory().create(IHelo.class);
XFireProxyFactory f=new XFireProxyFactory(XFireFactory.newInstance().getXFire());
String url="启动tomcat , 在浏览器中输入访问服务器工程+/services/ ,在WSDL里最下面找见url 复制到此处";
try {
IHelo i=(IHelo)f.create(s,url);
System.out.println(i.get("哈哈哈"));
} catch (Exception e) {
}
}
}
好了运行程序看见 输出 “hello哈哈哈” 大功告成了