普元EOS生成WebService時使用自定義實體映射屬性

概述

最近使用普元EOS(下面簡稱EOS),製作Web Service接口供其他系統調用時發現, 使用EOS的DataObject作爲入參報錯, 按官方文檔的示例也依然報錯, 錯誤原因難以查找,便產生自己寫一個JavaBean來實現自定義參數入參的問題, 但是JavaBean中由於按照駝峯式命名的規範, 在直接生成Web Service時xml的節點也同樣會以駝峯的形式顯示,而我的需求是節點顯示成下劃線分隔並且是大寫英文。經過我搜集查詢資料發現是有方法可以映射的。

解決方法

由於EOS中集成了XFire,因此我們需要在自定義的JavaBean同目錄下新建一個與JavaBean同名稱的.aegis.xml文件,例子如下,假設我們需要一個Product類作爲JavaBean,目錄結構及代碼如下:

package com.primeton.eos;

public class Product {
	private String productName;
	private String producePlace;
	private Integer price;

	public String getProductName() {
		return productName;
	}

	public void setProductName(String productName) {
		this.productName = productName;
	}

	public String getProducePlace() {
		return producePlace;
	}

	public void setProducePlace(String producePlace) {
		this.producePlace = producePlace;
	}

	public Integer getPrice() {
		return price;
	}

	public void setPrice(Integer price) {
		this.price = price;
	}
}

而在同目錄裏下生成Product.aegis.xml

<?xml version="1.0" encoding="UTF-8"?>
<mappings>
	<mapping name="PRODUCT">
		<property name="price" mappedName="PRICE"/>
		<property name="producePlace" mappedName="PRODUCE_PLACE"/>
		<property name="productName" mappedName="PRODUCT_NAME"/>
	</mapping>
</mappings>

右鍵邏輯構件(構件名稱爲CustomerManagement.componentType),生成Web Service,而生成的wsdl文件時,如果生成後的節點顯示爲in0,in1,可修改生成後的wsdl爲指定名稱,如下例子由in0修改爲PRODUCTS,訪問的節點也會隨機改變

 

入參映射到我們的JavaBean類的配置就完成了。

參考鏈接

普元EOS技術文檔-Web Service開發
在Java中使用XFire配置文件aegis開發Web服務

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章