However the supplied example files have incorrect xml, when corrected the examples stop working.
In the Insurance Policy example of SST Web Services
file 1: SstWSInsurancePolicyInterface.xsd
- Code: Select all
<xsd:schema targetNamespace="http://www.SstWSInsurancePolicyInterface.com/SstWSInsurancePolicyInterface" xmlns:tns="http://www.SstWSInsurancePolicyInterface.com/SstWSInsurancePolicyInterface"
file 2: SstWSInsurancePolicyInterface-interface.wsdl
- Code: Select all
<types>
<xsd:schema targetNamespace="http://www.SstWSInsurancePolicyInterface.com/SstWSInsurancePolicyInterface"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" >
<xsd:import namespace="http://www.SstWSInsurancePolicyInterface.com/SstWSInsurancePolicyInterface"
schemaLocation="http://vasthost:63001/SstWSInsurancePolicyInterface.xsd" />
</xsd:schema>
However, the xsd:import in file 2 violates the following import constraint:
http://www.w3.org/TR/xmlschema-1/#composition-schemaImport wrote:1 The appropriate case among the following must be true:
1.1 If the namespace [attribute] is present, then its ·actual value· must not match the ·actual value· of the enclosing <schema>'s targetNamespace [attribute].
When changing the targetNamespace of the import OR changing the namespace of document 1, the required type isn't found because the schemaAt: method returns NIL.
At the moment we have fixed this temporarily so that the schemaAt: method also looks through its imported schemas to find the correct schema.
We used the same fix in
SstWSXmlObjectCache>>schemaNamed: aName