• 普元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服务

  • 相关阅读:
    CSS 实现隐藏滚动条同时又可以滚动
    手机端自适应布局demo
    手机端自适应布局demo
    手机端自适应布局demo
    七个帮助你处理Web页面层布局的jQuery插件
    一笔画问题
    数组模拟邻接表
    邻接矩阵存图
    BFS 遍历图
    DFS 遍历图
  • 原文地址:https://www.cnblogs.com/runningRookie/p/14348230.html
Copyright © 2020-2023  润新知