0

我正在尝试使用 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,但这也不被接受。

4

1 回答 1

1

文档

复写()

serializer->autotype() 的快捷方式。这使您可以指定序列化程序是否会尝试为您进行自动输入。默认设置为真。

所以关掉这个。

于 2014-06-26T10:44:22.260 回答