DBs :
HTTP/1.1 301 Moved Permanently
    while executing
"::WS::Client::DoCall WSDBFetchServerService getSupportedDBs [list ]"
    (procedure "main_db" line 7)
    invoked from within
"main_db"
    (in namespace eval "::request" script line 68)
    invoked from within
"namespace eval ::request $script"
    ("::try" body line 12)

OUTPUT BUFFER:

#!/usr/local/bin/tclsh lappend auto_path /Users/gerald/Personal/Projects/tclws/ package require log package require WS::Client proc pdict { d {i 0} {p " "} {s " -> "} } { set errorInfo $::errorInfo set errorCode $::errorCode set fRepExist [expr {0 < [llength\ [info commands tcl::unsupported::representation]]}] while 1 { if { [catch {dict keys $d}] } { if {! [info exists dName] && [uplevel 1 [list info exists $d]]} { set dName $d unset d upvar 1 $dName d continue } return -code error "error: pdict - argument is not a dict" } break } if {[info exists dName]} { puts "dict $dName" } set prefix [string repeat $p $i] set max 0 foreach key [dict keys $d] { if { [string length $key] > $max } { set max [string length $key] } } dict for {key val} ${d} { puts -nonewline "${prefix}[format "%-${max}s" $key]$s" if { $fRepExist && ! [string match "value is a dict*"\ [tcl::unsupported::representation $val]] || ! $fRepExist && [catch {dict keys $val}] } { puts "'${val}'" } else { puts "" pdict $val [expr {$i+1}] $p $s } } set ::errorInfo $errorInfo set ::errorCode $errorCode return "" } proc main_db {} { # EBI fetch set url "http://www.ebi.ac.uk/ws/services/WSDbfetch?wsdl" set ret [::WS::Client::GetAndParseWsdl $url] puts "DBs :" set rep [::WS::Client::DoCall WSDBFetchServerService getSupportedDBs [list ]] pdict $rep puts "fetch :" set rep [::WS::Client::DoCall WSDBFetchServerService fetchBatch [list db uniprot ids "sydc_human,q55c99" format default style default]] pdict $rep return } main_db exit