在一个分布式应用上面用到了webservice,记录一下。
1、创建web项目(xfire)
2、编写接口以及实现类
3、在WEB-INFO下面新建META-INF文件夹,新建services.xml。内容如下
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>名称</name>
<serviceClass>接口全称</serviceClass>
<implementationClass>接口实现</implementationClass>
</service>
</beans>
4、编辑web.xml对service拦截
<servlet>
<servlet-name>XFireServlet</servlet-name>
<servlet-class>
org.codehaus.xfire.transport.http.XFireConfigurableServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/servlet/XFireServlet/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
5、发布运行,网页打开 http://localhost:8080/项目名称/services
6、客户端调用,这里面就根据wsdl地址进行一下调用,其他方式以后再进行尝试
Client client = new Client(new URL("接口url"));
String msg = Thread.currentThread().getName();
Object[] result = client.invoke("方法", new Object[]{参数});