我正在使用Java Web Services。我有一个创建Web服务的任务,它将以下列格式发送SOAP请求。
<CreateAccount>
<field name="name">xyz abc</field>
<field name="dob">1989-04-05</field>
<field name="phone">9999999999</field>
<field name="address">vvk</field>
</CreateAccount>
我使用类型部分创建了WSDL文件,如
<wsdl:types>
<xsd:schema targetNamespace="abc">
<xsd:element name="CreateAccount">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="field" maxOccurs="3" minOccurs="0">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute type="xsd:string" name="name" use="required"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
但是当我尝试打开WSDL url时,它会显示
错误 - makeTypeElement()被告知创建一个类型“{../XYZService/}>>CreateAccount>field”,没有包含元素
我尝试使用谷歌搜索但没有得到正确的结果。造成这种情况的原因是什么?如何解决?
答案 0 :(得分:0)
尝试更改您的属性元素,如下所示。
<xsd:attribute type="xsd:string" name="name" use="required" />
答案 1 :(得分:0)
我明白了。 我认为这是Axis的一个错误。我用Axis2试了一下,它运行正常。