SoapMapper: array dimensions do not match definition

  • Thread starter Florian.Schmitt
  • Start date
F

Florian.Schmitt

Hi,

i'm stuck with a problem that leads to the error message cited in the
subject. After Googling i found that some other people had this problem
already in 2003 without getting response. I hope i've more luck three
years later...

I'm exploring the possibilities of accessing and XML database (exist db
1.1rc2) via its SOAP Query interface from a VBA macro using the MS SOAP
Type Library v3.0. I used the MS Web Services Toolkit to create the VBA
proxy classes to access the SOAP interface.

Connecting and using getResource works fine, but i encountered a
problem as i tried to check the availability of a document in the eXist
db using the xquery Method of the Query Interface and the
doc-available() xquery function. Executing this Function on an document
existing in the eXist db, i get an VBA error saying "SoapMapper: array
dimensions do not match definition".

The eXist log says that it receives the xquery correctly (i think so):

2006-12-05 11:33:16,031 [http-8080-Processor24] DEBUG
(QuerySoapBindingImpl.java [query]:268) - query:
doc-available('/test/testdoc.xml')

The corresponding SOAP Response is:
(...)
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<xqueryResponse xmlns="urn:exist">
<xqueryReturn>
<collections/>
<hits>1</hits>
<queryTime>0</queryTime>
</xqueryReturn>
</xqueryResponse>
</soapenv:Body>
</soapenv:Envelope>

The collections element is empty as there's no collection or document
to return, only the hits count matters. The collections element is also
marked as nillable in the WSDL file describing the SOAP Query
Interface. I suppose that the VBA Code isn't able to process the empty
collections element correctly (other users reported that the problem
occurs when an empty array is returned).

I already found the hint to change the type of the corresponding VBA
variable to variant, but this is already the case (output of the Web
Services Toolkit). So this doesn't help.

After all, i think the question is how to handle a returned empty array
correctly. Any help is appreciated.

Florian
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top