WebService的创建发布以及应用

1.创建WebService服务

创建Web Service Project , 然后下一步知道结束.

配置对应的web.xml

加debug的原因是测试Web服务是否成功

如果出现页面则成功

地址为 http://localhost:8686/项目名/services/

即可

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <servlet>
    <servlet-name>XFireServlet</servlet-name>
    <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>
  	<init-param>
  		<param-name>debug</param-name>
  		<param-value>true</param-value>
  	</init-param>
  	<load-on-startup>0</load-on-startup>
  </servlet>
  
  <servlet-mapping>
    <servlet-name>XFireServlet</servlet-name>
    <url-pattern>/services/*</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

配置对应的Services.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
	<service>
		<!--服务名称-->
		<name>AddNum</name>
		<!--接口-->
		<serviceClass>com.sun.vo.IAddNum</serviceClass>
		<!--实现类-->
		<implementationClass>com.sun.vo.AddNum</implementationClass>
	</service>
</beans>
扫描二维码关注公众号,回复: 1238348 查看本文章

2.创建Web项目

添加类库:选择项目,右键,构建路径,添加库,MyEclipse Libraries,选择XFire 1.2 Core Libraries  与 XFire 1.2 JAXB2 Libraries 与 XFire 1.2 HTTP Client Libraries.

3种方法调用

第一种必须要了解应用的接口,并且在自己项目中创建.

package test;

import java.net.MalformedURLException;

import org.codehaus.xfire.XFire;
import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
/**
 * 接口文件
 * @author mac
 *
 */
public class TestClient {
	public static void main(String[] args) {
		// 元数据类型
		Service model = new ObjectServiceFactory()
				.create(ICurrencyConvert.class);
		// 代理类
		XFire xfire = XFireFactory.newInstance().getXFire();
		XFireProxyFactory factory = new XFireProxyFactory(xfire);
		ICurrencyConvert client = null;
		try {
			client = (ICurrencyConvert) factory.create(model,
					"http://localhost:8686/webservice/services/currencyConvert");
			System.out.println(client.convert(53.43));
		} catch (MalformedURLException e) {
			// TODO 自动生成 catch 块
			e.printStackTrace();
		}

	}
}

 第二种方法需要知道WDSL的路径 在debug中可以看到

点击wdsl后 可以复制URL地址栏地址即可

package test2;

import java.net.MalformedURLException;
import java.net.URL;

import org.codehaus.xfire.client.Client;

public class TestClient2 {
	public static void main(String[] args) {
			try {
				Client client=new Client(new URL("http://localhost:8686/webservice/services/currencyConvert?wsdl"));
				//第一个参数是方法名,第二个参数为webservivce方法的参数
				Object obj[]=client.invoke("convert", new Object[]{233.3});
				System.out.println(obj[0]);
			} catch (MalformedURLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
	}
}

 第三种方法

 在对应的Web项目中,选择项目,右键,其他,选择Web Services,选择Web   Service Client,下一步选择WSDL URL(在里面填入WSDL地址),下一步完成即可.此功能在Eclipse5.5以上版本不可用.

猜你喜欢

转载自itcheng.iteye.com/blog/1222325
今日推荐