ofbiz发布成服务访问时遇到的问题

来源:互联网 发布:红孩儿大话火焰山 知乎 编辑:程序博客网 时间:2024/06/06 02:25

在一个服务中,其中有一个参数是date类型的,当我们export后,访问地址却出错,这样解决就可以了

在ofbiz/framework/service/src/org/ofbiz/service/ModelParam.java里面有个这样的方法:protected String java2wsdlType() throws WSDLException

这个方法是来吧serivce中参数类型转换成web service的参数类型的, 额外补充说明一点,在ofbiz中实体中的字段类型,对应的java中的数据类型的定义是通过一个xml文件定义的,在framework/entity/fieldtype下,这下面有很多个文件,是不同的数据库对应的配置文件,无论是mysql或者是derby,实体中的date对应的java类型是java.sql.Date。
在protected String java2wsdlType() throws WSDLException 方法中,大家找一下,只有java.util.Date这个的转换,而没有java.sql.Date的转换,问题就出在这:
好了,我们新加一段在这个函数里面:
  1.         } else if (ObjectType.instanceOf(java.sql.Date.classthis.type)) {
  2.             return "dateTime";
  3.         } else if (ObjectType.instanceOf(java.sql.Time.classthis.type)) {
  4.             return "string";
  5.         }
对java.sql.Date和java.sql.Time进行一下处理,重新build一下源代码,再试着访问一下,果然就可以了。

原创粉丝点击