View Ticket
Not logged in
Ticket UUID: 2b16ac75c53fe5745351a3f2ffa6bc4961e49fe3
Title: Making nested soap requests
Status: Closed Type: Documentation
Severity: Important Priority: Immediate
Subsystem: Client_Side Resolution: Rejected
Assigned to: unassigned
Last Modified: 2015-03-19 02:46:52
Version Found In: 2.3.4
Description & Comments:
This is the sample request I would like to make, to get the matching results from TABLE1 & TABLE2
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:my:functions">
   <soapenv:Header/>
   <soapenv:Body>
      <urn:MY_TABLES>
         <!--You may enter the following 50 items in any order-->
         <TABLE1>
            <!--Zero or more repetitions:-->
            <item>
               <!--Optional:-->
               <FIELD1>%</FIELD1>
            </item>
         </TABLE1>

         <TABLE2>
            <!--Zero or more repetitions:-->
            <item>
               <!--Optional:-->
               <FIELD1>%</FIELD1>
            </item>
         </TABLE2>

         <TABLE1_FLAG>Y</TABLE1_FLAG>
         <TABLE2_FLAG>Y</TABLE2_FLAG>
      </urn:MY_TABLES>
   </soapenv:Body>
</soapenv:Envelope>


package require WS::Client
package require WS::Utils

set wsdlInfo [::WS::Client::GetAndParseWsdl "https://mytablesurl.com"]
# The parsing happens successfully

# But making a request as below throws me errors
set argList {TABLE1 {item {FIELD1 %}} TABLE1_FLAG Y TABLE2 {item {FIELD1 %}} TABLE2_FLAG Y}
puts [::WS::Client::DoCall MY_TABLESService MY_TABLES $argList]

Error thrown

can't read "simpleTypes(Client,Z_OSS_RFC_TABLESService,TABLE1)": no such element in array
    while executing
"set xns $simpleTypes($mode,$service,$typeName)"
    (procedure "convertDictToType" line 30)
    invoked from within
"convertDictToType $mode $service $doc $retNode $resultValue $itemType"
    (procedure "::WS::Utils::convertDictToType" line 196)
    invoked from within
"::WS::Utils::convertDictToType Client $serviceName $doc $reply $argList $xns:$msgType $forceNs"
    (procedure "buildDocLiteralCallquery" line 81)
    invoked from within
"buildDocLiteralCallquery $serviceName $operationName $url $argList"
    (procedure "buildCallquery" line 16)
    invoked from within
"buildCallquery $serviceName $operationName $url $argList"
    invoked from within
"::WS::Client::DoCall MY_TABLESService MY_TABLES $argList"
    invoked from within

Please could you detail on how to make such nested SOAP requests?


gwlester added on 2014-01-08 23:05:04 UTC:
This has nothing to do with "nested tables" but rather it looks like something is not being understood in the WSDL (actually in the schema/type definition part of it).

Please provide the WSDL so I can debug it.


gwlester added on 2015-03-19 02:46:52 UTC:
Reporter never supplied information required to debug the issue -- rejecting.