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>

 

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以上版本不可用.

 

發佈了75 篇原創文章 · 獲贊 2 · 訪問量 3231
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章