Subject: | found unrecognised attribute {http://schemas.xmlsoap.org/wsdl/}arrayType (ignored) at... |
use SOAP::WSDL;
my $soap = SOAP::WSDL->new(wsdl => $service_address);
gives on execution:
found unrecognised attribute {http://schemas.xmlsoap.org/wsdl/}arrayType
(ignored) at /home/perl/5.12.2/lib/site_perl/5.12.2/SOAP/WSDL/Base.pm
line 130.
The corresponding WSDL is attached.
Subject: | WSDL_arraytest.xml |
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="MyCompany.SubDivision" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="MyCompany.SubDivision" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">some description</wsdl:documentation>
<wsdl:types>
<xsd:schema elementFormDefault="qualified" targetNamespace="MyCompany.SubDivision">
<xsd:complexType name="Description">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="some_id" type="xsd:integer" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ArrayOfDescription">
<xsd:complexContent mixed="false">
<xsd:restriction base="SOAP-ENC:Array">
<xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="tns:Description[]" />
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="DeleteServer">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="strMACAddress" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="DeleteServerResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="status" type="xsd:integer" />
<xsd:element minOccurs="1" maxOccurs="1" name="errmessage" type="xsd:string" />
<xsd:element minOccurs="1" maxOccurs="1" name="content" type="tns:ArrayOfDescription" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</wsdl:types>
<wsdl:message name="DeleteServerSoapIn">
<wsdl:part name="parameters" element="tns:DeleteServer" />
</wsdl:message>
<wsdl:message name="DeleteServerSoapOut">
<wsdl:part name="parameters" element="tns:DeleteServerResponse" />
</wsdl:message>
<wsdl:portType name="MyCompany.SubDivisionSoap">
<wsdl:operation name="DeleteServer">
<wsdl:input message="tns:DeleteServerSoapIn" />
<wsdl:output message="tns:DeleteServerSoapOut" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="MyCompany.SubDivisionSoap" type="tns:MyCompany.SubDivisionSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="DeleteServer">
<soap:operation soapAction="MyCompany.SubDivision/DeleteServer" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="MyCompany.SubDivision">
<wsdl:port name="MyCompany.SubDivisionSoap" binding="tns:MyCompany.SubDivisionSoap">
<soap:address location="http://127.0.0.1/soap/server_arraytest.php" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>