我正在尝试使用 SOAP::Lite 获取 Perl 脚本来与 Web 服务通信。
我有一个服务的 WSDL,但有些字段的类型定义为 complexType / simpleType 没有指定名称。
服务器验证我随请求发送的输入信息,但由于给出的类型不正确而失败。
我该如何克服这个问题?如果我在手动请求中省略输入信息,服务器似乎很高兴,但我正在努力让 SOAP::Lite 不发出类型(如果我没有指定一个,它会猜测一个)。另一种选择是提供服务器期望的类型,但我无法弄清楚那是什么。(提供原始 XML 也可以,但感觉很脏……)
此类字段的 WSDL:
<xs:element name="Description">
<xs:annotation>
<xs:documentation>Free text field</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
我试图将其标记为xs:string
,但这也不被接受。