我们有部署在JBoss
中的自定义Java代码。我们正在触发Web服务调用,并且正在使用WSDL
框架来生成Apache Axis
文件。
我的问题是对于某些标签,minOccurs
和maxOccurs
属性存在,但是对于其他一些标签,这些属性不存在。
如果我想在元素标签内添加minOccurs
和maxOccurs
属性,那么我必须在哪里配置?这个Apache Axis
框架将如何生成这些属性。
WSDL示例:
<wsdl:definitions xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="urn:sif.siperian.com" xmlns:intf="urn:sif.siperian.com"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:sif.siperian.com">
<!--
WSDL created by Apache Axis version: 1.3
Built on Oct 05, 2005 (05:23:37 EDT)
-->
<wsdl:types>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" targetNamespace="urn:sif.siperian.com">
<complexType name="Account">
<sequence>
<element name="accountNumber" nillable="true" type="xsd:string"/>
<element name="accountType" nillable="true" type="xsd:string"/>
<element name="cardholderName" nillable="true" type="xsd:string"/>
<element name="city" nillable="true" type="xsd:string"/>
<element name="expirationMonth" nillable="true" type="xsd:string"/>
<element name="expirationYear" nillable="true" type="xsd:string"/>
<element name="hubStateInd" nillable="true" type="xsd:string"/>
<element name="issuingCompany" nillable="true" type="xsd:string"/>
<element name="pkeySrcObject" nillable="true" type="xsd:string"/>
<element name="postalCode" nillable="true" type="xsd:string"/>
<element name="rowidObject" nillable="true" type="xsd:string"/>
<element name="securityCode" nillable="true" type="xsd:string"/>
<element name="source" nillable="true" type="xsd:string"/>
<element name="stateProvince" nillable="true" type="xsd:string"/>
<element name="streetName" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="ArrayOfAccount">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="item"
type="impl:Account"/>
</sequence>
</complexType>
</schema>
</wsdl:types>
</wsdl:definitions>
在以上WSDL中,<complexType name="Account">
没有属性minOccurs
和maxOccurs
。
<complexType name="ArrayOfAccount">
同时具有这两个属性。
答案 0 :(得分:0)
以下是有关如何构建以下元素的Java代码示例:
<element maxOccurs="1" minOccurs="0" name="Test" nillable="true" type="xsd:string"/>
Java代码:
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("test");
elemField.setXmlName(new javax.xml.namespace.QName("http://www.test.com", "Test"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setMinOccurs(0);
elemField.setNillable(true);
希望这会有所帮助。