Hi XML::Compile people,

I am stuck trying to get a certain WSDL file to compile:

  ./wsdl-explain.pl --wsdl example-short.wsdl --compile

panic: findName called without name
 at .../site_perl/5.22.4/XML/Compile/Cache.pm line 529

I've attached a heavily pruned and sanitised version of the file.

Any suggestions?

/Lars
<?xml version="1.0" encoding="UTF-8"?>
<WSDL:definitions
  xmlns="http://schemas.xmlsoap.org/wsdl/";
  xmlns:SOAP="http://schemas.xmlsoap.org/wsdl/soap/";
  xmlns:WSDL="http://schemas.xmlsoap.org/wsdl/";
  xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/";
  xmlns:xxxx="urn:vendor_xxxx"
  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
  xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/";
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
  xmlns:xsd="http://www.w3.org/2001/XMLSchema";
  targetNamespace="urn:vendor_xxxx"
  name="vendor_xxxx" >
  <WSDL:types>
    <xsd:schema targetNamespace="urn:vendor_xxxx" elementFormDefault="unqualified" attributeFormDefault="unqualified">
      <xsd:complexType name="sessionLoginOutroles">
        <xsd:complexContent>
          <xsd:restriction base="SOAP-ENC:Array">
            <xsd:sequence>
              <xsd:element name="roles" type="xxxx:nameValue" nillable="false" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
            <xsd:attribute ref="SOAP-ENC:arrayType" WSDL:arrayType="xxxx:nameValue[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="sessionLoginOutgroups">
        <xsd:complexContent>
          <xsd:restriction base="SOAP-ENC:Array">
            <xsd:sequence>
              <xsd:element name="groups" type="xsd:string" nillable="false" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
            <xsd:attribute ref="SOAP-ENC:arrayType" WSDL:arrayType="xsd:string[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="sessionLoginIn">
        <xsd:all>
          <xsd:element name="username" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="false"/>
          <xsd:element name="namespace" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
          <xsd:element name="password" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="false"/>
        </xsd:all>
      </xsd:complexType>
      <xsd:complexType name="sessionLoginOut">
        <xsd:all>
          <xsd:element name="err" type="xsd:unsignedInt" minOccurs="1" maxOccurs="1" nillable="false"/>
          <xsd:element name="errtxt" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="false"/>
          <xsd:element name="sessionid" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="false"/>
          <xsd:element name="roles" type="xxxx:sessionLoginOutroles" minOccurs="0" maxOccurs="1" nillable="true"/>
          <xsd:element name="groups" type="xxxx:sessionLoginOutgroups" minOccurs="0" maxOccurs="1" nillable="true"/>
        </xsd:all>
      </xsd:complexType>
      <xsd:complexType name="sessionLogoutIn">
        <xsd:all>
        </xsd:all>
      </xsd:complexType>
      <xsd:complexType name="sessionLogoutOut">
        <xsd:all>
          <xsd:element name="err" type="xsd:unsignedInt" minOccurs="1" maxOccurs="1" nillable="false"/>
          <xsd:element name="errtxt" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="false"/>
        </xsd:all>
      </xsd:complexType>
    </xsd:schema>
  </WSDL:types>
  <message name="xxxxHeader">
    <part name="request" type="xxxx:requestHeader"/>
  </message>
  <message name="xxxxFaultDetail">
    <part name="errtxt" type="xsd:string"/>
  </message>
  <message name="sessionLoginInMsg">
    <part name="in" type="xxxx:sessionLoginIn"/>
  </message>
  <message name="sessionLoginOutMsg">
    <part name="out" type="xxxx:sessionLoginOut"/>
  </message>
  <message name="sessionLogoutInMsg">
    <part name="in" type="xxxx:sessionLogoutIn"/>
  </message>
  <message name="sessionLogoutOutMsg">
    <part name="out" type="xxxx:sessionLogoutOut"/>
  </message>
  <WSDL:portType name="xxxxPort">
    <WSDL:operation name="sessionLogin">
      <WSDL:input message="xxxx:sessionLoginInMsg"/>
      <WSDL:output message="xxxx:sessionLoginOutMsg"/>
      <WSDL:fault message="xxxx:xxxxFaultDetail" name="xxxxFaultDetail"/>
    </WSDL:operation>
    <WSDL:operation name="sessionLogout">
      <WSDL:input message="xxxx:sessionLogoutInMsg"/>
      <WSDL:output message="xxxx:sessionLogoutOutMsg"/>
      <WSDL:fault message="xxxx:xxxxFaultDetail" name="xxxxFaultDetail"/>
    </WSDL:operation>
  </WSDL:portType>
  <WSDL:binding name="xxxxBinding" type="xxxx:xxxxPort">
    <SOAP:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="sessionLogin">
      <SOAP:operation/>
      <input>
        <SOAP:header use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; message="xxxx:xxxxHeader" part="request" namespace="urn:vendor_xxxx"/>
        <SOAP:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; namespace="urn:vendor_xxxx"/>
      </input>
      <output>
        <SOAP:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; namespace="urn:vendor_xxxx"/>
      </output>
      <fault name="xxxxFaultDetail">
        <SOAP:fault name="xxxxFaultDetail" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; namespace="urn:vendor_xxxx"/>
      </fault>
    </operation>
    <operation name="sessionLogout">
      <SOAP:operation/>
      <input>
        <SOAP:header use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; message="xxxx:xxxxHeader" part="request" namespace="urn:vendor_xxxx"/>
        <SOAP:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; namespace="urn:vendor_xxxx"/>
      </input>
      <output>
        <SOAP:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; namespace="urn:vendor_xxxx"/>
      </output>
      <fault name="xxxxFaultDetail">
        <SOAP:fault name="xxxxFaultDetail" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; namespace="urn:vendor_xxxx"/>
      </fault>
    </operation>
  </WSDL:binding>
  <WSDL:service name="vendor_xxxx">
    <port name="vendor_xxxx" binding="xxxx:xxxxBinding">
      <SOAP:address location="http://127.0.0.1:1234/"/>
    </port>
  </WSDL:service>
</WSDL:definitions>
_______________________________________________
Xml-compile mailing list
[email protected]
http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/xml-compile

Reply via email to