2010-10-13 54 views
1

我正在使用Axis2和Eclipse来创建我的web服务。我已经创建了我的模式对象以包含在WSDL中,但我不希望将某些字段包含在此过程中。防止包含某些字段的WSDL生成

原因是这些相同的对象将会在数据库中使用hibernate持久化。我在域类声明中添加了暂态,但我仍然在WSDL中看到该域!

有没有办法阻止某些字段被包含在WSDL中?

谢谢。

回答

1

使用excludePropertiesservices.xml

<parameter name="beanPropertyRules"> 
    <bean class="sample.Address" excludeProperties="street,number" /> 
    <bean class="sample.AddressParent" excludeProperties="zipcode" /> 
</parameter> 

http://wso2.org/library/2893

2

而是一个逗号分隔的excludeProperties使用管道( “|”)

+0

对于大家感兴趣的原因:Axis2所使用常规表达式根据配置的字符串匹配类和属性,它不仅仅分割“,”等。因此用“,”分隔的多个属性将不再工作。检查实现:http://grepcode.com/file/repo1.maven.org/maven2/org.apache.axis2/axis2-kernel/1.6.2/org/apache/axis2/deployment/util/BeanExcludeInfo.java# BeanExcludeInfo.isExcludedProperty%28java.lang.String 29% – 2014-10-29 17:53:18