5 Replies Latest reply on Jan 5, 2007 1:43 AM by HakonAmundsen

    WebService for SOAP - problem with wsdl file parser

    Bill_Brama
      Hi group,

      I have one problem with WebService class

      In my wsdl file I have:


      <xsd:complexType name="DirectoryListing">
      <xsd:sequence>
      <xsd:element name="directories" type="tns:Directory" minOccurs="1" maxOccurs="unbounded" ></xsd:element>
      <xsd:element name="files" type="tns:File" minOccurs="0" maxOccurs="unbounded"></xsd:element>
      </xsd:sequence>
      </xsd:complexType>


      And I've got the following error when calling function which return this type of data:


      WSDLError faultString="Type tns:DirectoryListing not resolvable" faultCode="WSDL.BadType" faultDetail="null"]
      at mx.rpc.soap::WSDLParser/ http://www.adobe.com/2006/flex/mx/internal::parseMessage() |C:\dev\enterprise_gmc\frameworks\mx\rpc\soap\WSDLParser.as:749]
      at mx.rpc.soap::WSDLOperation/parseMessages() |C:\dev\enterprise_gmc\frameworks\mx\rpc\soap\WSDLOperation.as:62]
      at mx.rpc.soap::Operation/ http://www.adobe.com/2006/flex/mx/internal::invokePendingCall() |C:\dev\enterprise_gmc\frameworks\mx\rpc\soap\Operation.as:532]
      at mx.rpc.soap::Operation/send() |C:\dev\enterprise_gmc\frameworks\mx\rpc\soap\Operation.as:492]
      at Function/ http://adobe.com/AS3/2006/builtin::apply()
      at mx.rpc::AbstractService/ http://www.adobe.com/2006/actionscript/flash/proxy::callProperty() |C:\dev\enterprise_gmc\frameworks\mx\rpc\AbstractService.as:287]



      This function work with php soap client, so I assume that soap communication is ok.

      Whole wsdl file: http://hoborg.zapto.org/~wojtas/workspace/ensure%20back-end/ensure.wsdl
      function name: getDirectoryListing
      port: FilesPort
      test Page

      I can make work around by creating new type DirectoriesList and FilesList as soap-enc:Array, but I think that it's a bug in WebService implementation.

      ...
      Also, you can't create a function without input, WebService won't parse the wsdl file (You have to create fake nullElement or nullType)