-- lazy evaluation of known namespace bombing when that schema is not passed in. It should be ignored, esp if it is a well known schema like SOAPENC or XSD
-- 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
--
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:
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:
XMLSchema.py -- added a couple convenience methods for grabbing
various Schema Items.
----------------------------------------------------------------------
Modified Files:
WSDLTools.py
-- removed a line that was screwing up imports/includes of
when WSDL file was specified to "wsdl2py" via a relative path.
XMLSchema.py
-- stop requiring suffix "xsd" for schema files.
----------------------------------------------------------------------
Modified Files:
XMLSchema.py -- added a couple helper methods for discovering
whether or not an element should be qualified.
----------------------------------------------------------------------
Modified Files:
Namespaces.py
-- Added a SOAP-1.2 binding
WSDLTools.py
-- Added some methods from grabbing ElementDeclaration and
TypeDefintion from Message instances.
XMLSchema.py
-- fixed a bug in SchemaReader.
logging.py
-- added a couple more functions, and a level to basic logger.
----------------------------------------------------------------------
Modified Files:
Utility.py -- catch any exceptions thrown when a DOM is loaded up,
throw a ParseError with old ex.args and inform which file
caused the problem.
XMLSchema.py -- For attributeGroup incorrectly adding global
attribute declarations, but these are declared locally.
----------------------------------------------------------------------
Modified Files:
WSDLTools.py
XMLSchema.py
--removed some print statements I left behind.
----------------------------------------------------------------------
Modified Files:
WSDLTools.py
-- resolution of default WS-Action was incorrect when using
imported portTypes.
XMLSchema.py
-- added a couple helper functions, and a few more Markers
for introspecting modelGroups and simpleType derivations.
----------------------------------------------------------------------
Modified Files:
XMLSchema.py -- Shouldn't check attributes for WSDL definition
since it's legal to specify <any> attribute in <definition>
----------------------------------------------------------------------
Modified Files:
XMLSchema.py -- required another condition in getItemTrace,
need to check if at <xsd:schema> or <wsdl:definition>,
also added some info to SchemaError throw in checkAttributes.
Now provides namespace/attribute and the Schema Item containing
the offending attribute.
----------------------------------------------------------------------
~
Modified Files:
XMLSchema.py
-- added a few convience methods, and 'disabled' a few methods
to force a sane usage.
__init__.py
-- removed use of python logging module, and replaced it with
the below.
Added Files:
logging.py
-- simple interface to log message to, can write your own
logger class. By default do no logging.
----------------------------------------------------------------------
Modified Files:
XMLSchema.py -- added some code to generate user interpretable
exceptions.
BEFORE:
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/ZSI/wstools/Utility.py", line 600, in __getitem__
return self.data[key]
KeyError: u'xtvd'
AFTER:
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/ZSI/wstools/XMLSchema.py", line 465, in getQNameAttribute
raise KeyError, "targetNamespace(%s) collection(%s) has no item(%s)"\
KeyError: u'targetNamespace(urn:TMSWebServices) collection(types) has no item(xtvd)'
----------------------------------------------------------------------
Modified Files:
Utility.py
XMLSchema.py -- just moved SplitQName out of here and into Utility
Added Files:
Namespaces.py -- WSDL, SOAP, SCHEMA, XMLNS namespaces here. Doesn't
require PyXml
----------------------------------------------------------------------