-- If one tries to grab a schema item using the helper methods, if that item doesn't exist and the namespace is not in the BUILT_IN_NAMESPACES list then throw a SchemaError. Now failure to specify an import dependency will result in an error like:
ZSI.wstools.XMLSchema.SchemaError: schema "urn:webservices" does not import namespace "urn:base"
when "item.getTypeDefinition()" is called and the "type" attribute value QName is in a namespace that hasn't been declared as a dependency
So basically this throws errors when can't find a schema item that is supposed to be defined, rather than just returning None most of the time, which is always an error condition.
M a Utility.py
-- use M2Crypto if available for TimeOutSocket, and standard "ssl" if it's not
--
-- fix for exclusive c14n, fairly extensive changes were necessary to
pass down dict of unused prefix:namespace mappings.
<... xmlns:ns1="urn:bla" xmlns:ns2="urn:bla2"..
<CanonicalizeMe
<...
<ns1:whatever>
So now if I do an exclusive of "CanonicalizeMe" now the xmlns:ns1="urn:bla"
will be added to ns1:whatever element
Modified Files:
ZSI/generate/containers.py
ZSI/generate/wsdl2python.py
-- fix for bug 1420662, restriction of anyType.
test/wsdl2py/test_OpcDaGateway.py
-- prepended "hangs_" to a couple test_ methods that hang now.
ZSI/wstools/XMLSchema.py
-- removed a comment
----------------------------------------------------------------------
Modified Files:
ZSI/generate/__init__.py
-- added a BP message.
ZSI/generate/wsdl2python.py
ZSI/generate/containers.py
-- Changed rpc/enc generation so that a new Struct with pname=None is constructed
with the "conventional" typecode. Also moved a lot of "setup" code into "setUp"
method.
ZSI/wstools/WSDLTools.py
-- removed some comments
----------------------------------------------------------------------
Committing in .
Modified Files:
ZSI/wstools/Utility.py -- add little check for None
$ wsdl2py.py -f authority.xml.html
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/2.4/bin/wsdl2py.py", line 7, in ?
execfile(__file__)
File "/Users/boverhof/Desktop/Workspace/Python/zsi/scripts/wsdl2py.py", line 196, in ?
main()
File "/Users/boverhof/Desktop/Workspace/Python/zsi/scripts/wsdl2py.py", line 183, in main
wsm.writeClient(fd)
File "/Users/boverhof/Desktop/Workspace/Python/zsi/ZSI/generate/wsdl2python.py", line 211, in writeClient
sd.fromWsdl(service, **kw)
File "/Users/boverhof/Desktop/Workspace/Python/zsi/ZSI/generate/wsdl2python.py", line 273, in fromWsdl
self.locator.setUp(service)
File "/Users/boverhof/Desktop/Workspace/Python/zsi/ZSI/generate/containers.py", line 331, in setUp
info = (p.getBinding().getPortType().name, p.getBinding().name, ab.location)
File "/Users/boverhof/Desktop/Workspace/Python/zsi/ZSI/wstools/WSDLTools.py", line 1106, in getBinding
return wsdl.bindings[self.binding]
File "/Users/boverhof/Desktop/Workspace/Python/zsi/ZSI/wstools/Utility.py", line 1169, in __getitem__
return self.data[nsuri][name]
KeyError: u'http://www.omg.org/LSID/2003/AuthorityServiceSOAPBindings'
----------------------------------------------------------------------
Committing in .
Modified Files:
ZSI/TCapache.py ZSI/TCcompound.py ZSI/TCtimes.py ZSI/writer.py
ZSI/generate/wsdl2dispatch.py ZSI/wstools/Utility.py
-- finished the _get_idstr conversion, and added a "createMethodBody"
method to wsdl2dispatch.WSAServiceModuleWriter which is now called
in "setUp".
----------------------------------------------------------------------
Modified Files:
XMLSchema.py -- fixed bug with xsd:import w/o schemaLocation.
This bug may have been introduced with recursive import fix.
----------------------------------------------------------------------
Modified Files:
Tag: serialize-dom-scheme
ZSI/TC.py
-- bug fix in QName.
ZSI/generate/containers.py
-- changed "TypesHeaderContainer" made the import a class variable
so I can globally modify it's contents.
ZSI/generate/utility.py
ZSI/generate/wsdl2python.py
No tag
ZSI/wstools/XMLSchema.py
-- changed <xsd:imports> to prevent recursion errors and to
stop unnecessary duplicate XMLSchema objects representing the
same namespace from being created.
----------------------------------------------------------------------
Modified Files:
ZSI/wstools/XMLSchema.py -- fixed a few syntax errors in Restriction class,
and removed "self.facets" in ComplexType which was never used?
----------------------------------------------------------------------
For cookies, getheaders() is Python 2.3; use getallmatchingheaders
In SoapWriter, put nsdecls on body, not envelope
Record facets (restrictions) in XMLSchema.py <vchen@datapower.com>
Remove Send()'s kwargs out of _args list <efrain@bogotron.net>
Modified Files:
XMLSchema.py -- added a method for grabbing a schema item
with a (namespace, name) directly rather than via an
XML attribute.
----------------------------------------------------------------------
Modified Files:
XMLSchema.py -- added couple convenience methods, for grabbing
things like boolean values and resolving qnames for attributes.
----------------------------------------------------------------------
Modified Files:
Namespaces.py
-- added some new WSRF namespaces.
WSDLTools.py
-- look for resourceProperties in all relevant namespaces.
XMLSchema.py
-- added 1 convenience method.
----------------------------------------------------------------------
Modified Files:
Utility.py
-- created a new func "basejoin" for python2.3, because python2.3
and python2.4 have different implementations(python2.3 is broke in
it's handling of current directory ./ ).
WSDLTools.py
-- fixed problem with wsdl:imports in WSDLTools.load, need to
_import all <wsdl:import>'s then check again if any <wsdl:import>'s
were added to main document and do again and again. Also fixed
problem with assigning base locations to these <wsdl:import>'s.
-- Remove all <wsdl:import>'s after they have been processed, or
deemed to be redundant.
-- grab basejoin from wstools.Utility
XMLSchema.py
-- grab basejoin from wstools.Utility
----------------------------------------------------------------------
Modified Files:
XMLSchema.py -- added the item trace to an exception thrown
when an unexpected child is encountered in complexType.fromDom
method so one can see where the problem is occuring.
----------------------------------------------------------------------
Modified Files:
Utility.py -- need to do isfile check before calling mod func
"urlopen" for cross-platform compat.
----------------------------------------------------------------------