我有一堂课
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 服务),但我m 不对:
...
<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。