tclsoap array-based queries



I'm having trouble submitting an array as part of a query to a SOAP
server. The same problems occur when switching to a Perl
implementation (which is not what I want to use anyway). Following is
the code, the XML sent as the query, and the server's error reply. My
hunch is that the 1999 and 2001 references are "red-herrings" and that
this query should work, given some better sense of how to generate the
array information - all of my [non-array] string queries to this
server are working just fine.

Any feedback would be appreciated. I am using tclsoap-1.6.7 on Linux
[Fedora-7]. I have been stepping through the code with RamDebugger
6.2, but it seems as if every part of the code I step through has to
be part of a monolithic file, as breakpoints I set in other files are
ignored. Anyway, I'll continue to poke through the code, but knowing
for certain what XML needs to be produced for this server would help
me know how to either modify my invocation or write a separate routine
(passed as -wrapProc) to generate the query.

Thanks,
-Kevin

The following code:
**************************************************************************************
package require tcldom
package require SOAP

# Provides the names of all the instrument types available for the
specified view[s].
proc call_getInstruments {mission instrList} {
upvar $mission missionList $instrList instruments

set params [ list "arrayOfString_1" "string()" ]
foreach src $missionList {
if {[catch {SOAP::create getInstruments \
-uri "http://cdaweb.gsfc.nasa.gov/WS/CDASWS"; \
-proxy "http://cdaweb.gsfc.nasa.gov/WS/jaxrpc"; \
-params $params} err_msg]} {
puts stderr "call_getInstruments Create error: $err_msg"
} else {
if {[catch {set instrGroup_list [getInstruments $src]} err_msg]}
{
puts stderr "call_getInstruments Invocation error: $err_msg"
} else {
set typesList($view) $instrGroup_list
}
}
}
} ;# call_getInstruments

set sat "ace"
call_getInstruments sat instr_array
**************************************************************************************

generates the following XML:
**************************************************************************************
<?xml version='1.0'?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/
envelope/'
xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/
encoding/'
SOAP-ENV:encodingStyle='http://schemas.xmlsoap.org/
soap/encoding/'
xmlns:xsd='http://www.w3.org/1999/XMLSchema'
xmlns:xsi='http://www.w3.org/1999/XMLSchema-
instance'>
<SOAP-ENV:Body>
<ns:getInstruments xmlns:ns='http://cdaweb.gsfc.nasa.gov/WS/
CDASWS'>
<arrayOfString_1 xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/
encoding/'
xsi:type='SOAP-ENC:Array'
SOAP-ENC:offset='[0]'
SOAP-ENC:arrayType='xsd:string[1]'>
<item xsi:type='xsd:string'>ace
</item>
</arrayOfString_1>
</ns:getInstruments>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
**************************************************************************************

and the server gives the following error:
Invocation error: env:Client
{JAXRPCTIE01: caught exception while handling request:
unexpected array element type:
expected={http://www.w3.org/2001/XMLSchema}string,
actual={http://www.w3.org/1999/XMLSchema}string}
.



Relevant Pages

  • Query Regarding SOAP
    ... My Query is what all should i need to use it? ... Do i require SOAP server? ... suggestion Please..... ...
    (microsoft.public.vb.general.discussion)
  • Re: MailMerge hangs and crashes with Access on Server
    ... Since I am fairly new to working in this environment, I am not sure what you mean by an "Access group" with help to restructuring the query? ... "Peter Jamieson" wrote: ... All I know is that the performance of queries depends to a large extent on whether, for example, a join is performed on the client side, or on the server side, incurring no network traffic and potentially benefitting from caching on the server. ... There are no dialog boxes, and actually, I have now split the database, and have kept the Word templates and the Access frontend locally on my machine, and moved the backend to the server. ...
    (microsoft.public.word.mailmerge.fields)
  • Re: Performance Benchmarks?
    ... Are attribute relationships defined properly on the dimensions? ... If you run Profiler against the server, how long is spent in "Query ... I have created aggregations (Partitions tab in cube design). ...
    (microsoft.public.sqlserver.olap)
  • High CPU in client (Excel, OWC, Proclarity, etc.) accessing Analysis Services
    ... the OWC10 with 3 dimensions on the row axis, ... The largest size of any of these 4 dimensions < 360 members. ... Performance Guide to optimize the query, the cube, the server, etc. ...
    (microsoft.public.sqlserver.olap)
  • Re: Performance Benchmarks?
    ... adding memory on the server can help you; more data can be cached on the ... Here is my test query. ... )} DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM ... I have created aggregations (Partitions tab in cube design). ...
    (microsoft.public.sqlserver.olap)