Subject: Soap client: Unknown node type xsd:all

From: Lennart Borgman <[email-masked]>
Date: Thu, 3 Mar 2011 18:13:51 +0100

I get an error when starting from "emacs -Q" and calling

  (require 'soap-client)
  (soap-load-wsdl-from-url "http://www.showmyip.com/soap2008/server.php?wsdl")

with the backtrace below. I do not know soap so I do not know if this
is a bug in Emacs.

This is with a recent Emacs:

GNU Emacs 24.0.50.1 (i386-mingw-nt5.1.2600) of 2011-03-02

Debugger entered--Lisp error: (error "Unknown node type xsd:all")
  signal(error ("Unknown node type xsd:all"))
  error("Unknown node type %s" xsd:all)
  soap-parse-complex-type((xsd:complexType ((name .
"IP_Address_Properties")) "\n  " (xsd:all nil "\n   " (xsd:element
((name . "IP") (type . "xsd:string"))) "\n   " (xsd:element ((name .
"HOST") (type . "xsd:string"))) "\n   " (xsd:element ((name .
"COUNTRY") (type . "xsd:string"))) "\n   " (xsd:element ((name .
"STATE") (type . "xsd:string"))) "\n   " (xsd:element ((name . "CITY")
(type . "xsd:string"))) "\n   " (xsd:element ((name . "ISP") (type .
"xsd:string"))) "\n   " (xsd:element ((name . "ORG") (type .
"xsd:string"))) "\n   " (xsd:element ((name . "PROXY") (type .
"xsd:string"))) "\n   " (xsd:element ((name . "PROXY_HOST") (type .
"xsd:string"))) "\n   " (xsd:element ((name . "PROXY_COUNTRY") (type .
"xsd:string"))) "\n   " (xsd:element ((name . "PROXY_STATE") (type .
"xsd:string"))) "\n   " (xsd:element ((name . "PROXY_CITY") (type .
"xsd:string"))) "\n   " (xsd:element ((name . "PROXY_ISP") (type .
"xsd:string"))) "\n   " (xsd:element ((name . "PROXY_ORG") (type .
"xsd:string"))) "\n   " (xsd:element ((name . "DATETIME_STAMP") (type
. "xsd:string"))) "\n   " (xsd:element ((name . "TIMESERVER_STAMP")
(type . "xsd:string"))) "\n   " (xsd:element ((name . "VERSION") (type
. "xsd:string"))) "\n   " (xsd:element ((name . "COMMENTS") (type .
"xsd:string"))) "\n   " (xsd:element ((name . "CURRENCY_CODE") (type .
"xsd:string"))) "\n   " (xsd:element ((name . "CURRENCY_NAME") (type .
"xsd:string"))) "\n   " (xsd:element ((name . "CONTINENT") (type .
"xsd:string"))) "\n   " (xsd:element ((name . "NATIONALITY") (type .
"xsd:string"))) "\n   " (xsd:element ((name . "PROXY_CURRENCY_CODE")
(type . "xsd:string"))) "\n   " (xsd:element ((name .
"PROXY_CURRENCY_NAME") (type . "xsd:string"))) ...) "\n "))
  soap-parse-schema((xsd:schema ((targetNamespace .
"http://www.showmyip.com/soap2008/")) "\n " (xsd:import ((namespace .
"http://schemas.xmlsoap.org/soap/encoding/"))) "\n " (xsd:import
((namespace . "http://schemas.xmlsoap.org/wsdl/"))) "\n "
(xsd:complexType ((name . "IP_Address_Properties")) "\n  " (xsd:all
nil "\n   " (xsd:element ((name . "IP") (type . "xsd:string"))) "\n
" (xsd:element ((name . "HOST") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "COUNTRY") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "STATE") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "CITY") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "ISP") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "ORG") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "PROXY") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "PROXY_HOST") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "PROXY_COUNTRY") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "PROXY_STATE") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "PROXY_CITY") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "PROXY_ISP") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "PROXY_ORG") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "DATETIME_STAMP") (type . "xsd:string"))) "\n
" (xsd:element ((name . "TIMESERVER_STAMP") (type . "xsd:string")))
"\n   " (xsd:element ((name . "VERSION") (type . "xsd:string"))) "\n
" (xsd:element ((name . "COMMENTS") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "CURRENCY_CODE") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "CURRENCY_NAME") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "CONTINENT") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "NATIONALITY") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "PROXY_CURRENCY_CODE") (type . "xsd:string")))
"\n   " (xsd:element ((name . "PROXY_CURRENCY_NAME") (type .
"xsd:string"))) ...) "\n ") "\n"))
  soap-parse-wsdl((definitions ((xmlns:SOAP-ENV .
"http://schemas.xmlsoap.org/soap/envelope/") (xmlns:xsd .
"http://www.w3.org/2001/XMLSchema") (xmlns:xsi .
"http://www.w3.org/2001/XMLSchema-instance") (xmlns:SOAP-ENC .
"http://schemas.xmlsoap.org/soap/encoding/") (xmlns:tns .
"http://www.showmyip.com/soap2008/") (xmlns:soap .
"http://schemas.xmlsoap.org/wsdl/soap/") (xmlns:wsdl .
"http://schemas.xmlsoap.org/wsdl/") (xmlns .
"http://schemas.xmlsoap.org/wsdl/") (targetNamespace .
"http://www.showmyip.com/soap2008/")) "\n" (types nil (xsd:schema
((targetNamespace . "http://www.showmyip.com/soap2008/")) "\n "
(xsd:import ((namespace .
"http://schemas.xmlsoap.org/soap/encoding/"))) "\n " (xsd:import
((namespace . "http://schemas.xmlsoap.org/wsdl/"))) "\n "
(xsd:complexType ((name . "IP_Address_Properties")) "\n  " (xsd:all
nil "\n   " (xsd:element ((name . "IP") (type . "xsd:string"))) "\n
" (xsd:element ((name . "HOST") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "COUNTRY") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "STATE") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "CITY") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "ISP") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "ORG") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "PROXY") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "PROXY_HOST") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "PROXY_COUNTRY") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "PROXY_STATE") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "PROXY_CITY") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "PROXY_ISP") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "PROXY_ORG") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "DATETIME_STAMP") (type . "xsd:string"))) "\n
" (xsd:element ((name . "TIMESERVER_STAMP") (type . "xsd:string")))
"\n   " (xsd:element ((name . "VERSION") (type . "xsd:string"))) "\n
" (xsd:element ((name . "COMMENTS") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "CURRENCY_CODE") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "CURRENCY_NAME") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "CONTINENT") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "NATIONALITY") (type . "xsd:string"))) "\n   "
(xsd:element ((name . "PROXY_CURRENCY_CODE") (type . "xsd:string")))
"\n   " (xsd:element ((name . "PROXY_CURRENCY_NAME") (type .
"xsd:string"))) ...) "\n ") "\n") "\n") "\n" (message ((name .
"callshowmyipRequest")) (part ((name .
"optional_registered_ddns_name") (type . "xsd:string"))) (part ((name
. "optional_language_code") (type . "xsd:string"))) (part ((name .
"optional_access_key") (type . "xsd:string")))) "\n" (message ((name .
"callshowmyipResponse")) (part ((name . "return") (type .
"tns:IP_Address_Properties")))) "\n" (portType ((name .
"callshowmyipPortType")) (operation ((name . "callshowmyip")) (input
((message . "tns:callshowmyipRequest"))) (output ((message .
"tns:callshowmyipResponse"))))) "\n" (binding ((name .
"callshowmyipBinding") (type . "tns:callshowmyipPortType"))
(soap:binding ((style . "rpc") (transport .
"http://schemas.xmlsoap.org/soap/http"))) (operation ((name .
"callshowmyip")) (soap:operation ((soapAction .
"http://www.showmyip.com/soap2008/server.php/callshowmyip") (style .
"rpc"))) (input nil (soap:body ((use . "encoded") (namespace .
"http://www.showmyip.com/soap2008/") (encodingStyle .
"http://schemas.xmlsoap.org/soap/encoding/")))) (output nil (soap:body
((use . "encoded") (namespace . "http://www.showmyip.com/soap2008/")
(encodingStyle . "http://schemas.xmlsoap.org/soap/encoding/"))))))
"\n" (service ((name . "callshowmyip")) (port ((name .
"callshowmyipPort") (binding . "tns:callshowmyipBinding"))
(soap:address ((location .
"http://www.showmyip.com/soap2008/server.php"))))) "\n"))
  soap-load-wsdl-from-url("http://www.showmyip.com/soap2008/server.php?wsdl")
  eval((soap-load-wsdl-from-url
"http://www.showmyip.com/soap2008/server.php?wsdl"))
  eval-last-sexp-1(nil)
  eval-last-sexp(nil)
  call-interactively(eval-last-sexp nil nil)