Troubleshooting
Problem
You are using DFHWS2LS to create a COBOL copybook from a vendor supplied WSDL for an outbound Web service. You receive error message DFHPI9027E The XML parser error has found an error.
Symptom
DFHPI9027E The XML parser error has found an error: "XSD: Element reference 'http://www.w3.org/2001/XMLSchema#schema' is unresolved" at line "296" and column "2319" in document "name.wsdl".
Cause
The statement causing the error message is <s:element ref="s:schema" />
Diagnosing The Problem
The WSDL was evaluated with the ECLIPSE Validation Tool and it pointed to the line below as being incorrect, just as the DFHPI9027E message stated: line 296 column 19. The <s:element ref="s:schema"/> statement is causing the error:
000294 <s:complexType>
=COLS> ----+----1----+----2----+----3----+----4----+----5
000295 <s:sequence>
000296 <s:element ref="s:schema" /> <-- Bad Line
000297 <s:any />
000298 </s:sequence>
000299 </s:complexType>
The error issued by the Validation Tool reads as follows:
Error resolving component 's:schema'. It was detected that 's:schema' is in namespace 'http://www.w3.org/2001/XMLSchema', but components from this namespace are not referenceable from schema document "wsdlname.wsdl". If this is the incorrect namespace, perhaps the prefix of 's:schema' needs to be changed. If this is the correct namespace, then an appropriate 'import' tag should be added to 'wsdlname.wsdl'.
Resolving The Problem
You need to replace the <s:element ref="s:schema"/> with an <s:any/> element. If that is done in this WSDL then there would be 2 s:any elements in the same scope and CICS does not support this. However, you can use a minOccurs and maxOccurs to get around this problem, as shown below:
The original XML:
<s:complexType>
<s:sequence>
<s:element ref="s schema />
<s:any />
</s:sequence>
</s:complexType>
Would be replaced with:
<s:complexType>
<s:sequence>
<s:any maxOccurs="2" minOccurs="2"/>
</s:sequence>
<s:complexType>
With MAPPING-LEVEL=2.1 or higher this will be processed by CICS. The application in CICS will receive raw XML in a container that is the content of the s:any elements. The application is responsible for processing the contents of the container.
Product Synonym
CICS/TS CICS TS CICS Transaction Server
Was this topic helpful?
Document Information
Modified date:
15 June 2018
UID
swg21381850