gpt4 book ai didi

eclipse - 生成 WSDL 时忽略 @XmlTransient - Axis2 WS

转载 作者:行者123 更新时间:2023-12-01 16:08:02 29 4
gpt4 key购买 nike

我有课

public class Calculator {
public Test getTest(){
return new Test();
}
}

我想将其公开为 Web 服务。测试定义是:

public class Test {
private Test2[] tests;
@XmlTransient
public Test2[] getTests() {
return tests;
}
public void setTests(Test2[] tests) {
this.tests = tests;
}
}

现在,在 Test2[] 测试中添加 @XmlTransient 注释,我希望它不会列在生成的 WSDL 中(我使用的是 Eclipse,因此右键单击“计算器”>“Web 服务”>“生成 Web 服务”),但我错了:

...
<wsdl:types>
<xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="...">
<xs:complexType name="Test">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="tests" nillable="true" type="ax21:Test2"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Test2">
<xs:sequence/>
</xs:complexType>
</xs:schema>
...
</wsdl:types>
...

正如您所看到的,测试仍然存在于 WSDL 中(第 5 行)。如果有用,我正在使用 Axis2、Eclipse Indigo。

最佳答案

这仍然是一个问题,但我找到了解决方法。我添加到我的 services.xml 中:

    <parameter name="beanPropertyRules">
<bean class="package.Test" excludeProperties="tests" />
</parameter>

即:

 <bean class="package.Object" excludeProperties="propertyToExcludeFromWSDL" />

这有效。

关于eclipse - 生成 WSDL 时忽略 @XmlTransient - Axis2 WS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12899314/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com