Validating SOAP response messages fails with E cvc-elt.1:
Having trouble installing Oxygen? Got a bug to report? Post it all here.
-
- Posts: 4
- Joined: Mon Sep 05, 2005 4:48 pm
Validating SOAP response messages fails with E cvc-elt.1:
Hi,
I'm trying to develop a set of code to use XSLT to transform SOAP responses from a WebSphere Application Server V5.1 into HTML so that we can look for data quality problems.
Using IBM's TCP/IP monitor I can capture the SOAP XML as it is returned to the client. When I try to validate the message in oXygen I get the following message:
SystemID: C:\OxygenProjects\WebServicesXML\XMLFiles\AuthorizationResponse.xml
Location: 2:234
Description: E cvc-elt.1: Cannot find the declaration of element 'soapenv:Envelope'.
URL: http://www.w3.org/TR/xmlschema-1/#cvc-elt
[b]Below is a sample of the overall message:[/b]
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<getAuthorizationByVOResponse xmlns="http://webservices.authorization.oxhp.com">
<getAuthorizationByVOReturn>
<statusAction xsi:nil="true" xmlns="http://valueobjects.commons.oxhp.com" />
<statusError xmlns="http://valueobjects.commons.oxhp.com">NO_ERROR</statusError>
<statusMessage xmlns="http://valueobjects.commons.oxhp.com">No error.</statusMessage>
<statusTrace xsi:nil="true" xmlns="http://valueobjects.commons.oxhp.com" />
<lnkAuthorizationDetailResponseVO xmlns="http://valueobjects.authorization.oxhp.com">
</lnkAuthorizationDetailResponseVO>
</getAuthorizationByVOReturn>
</getAuthorizationByVOResponse>
</soapenv:Body>
</soapenv:Envelope>
The goal is to accept the TCP/IP trace output as sent by the server and then transform it for the end-user to examine for data inconsistencies.
Is there any solution to this error, [b]without[/b] modifying the SOAP output message???
Thanks,
Bob
I'm trying to develop a set of code to use XSLT to transform SOAP responses from a WebSphere Application Server V5.1 into HTML so that we can look for data quality problems.
Using IBM's TCP/IP monitor I can capture the SOAP XML as it is returned to the client. When I try to validate the message in oXygen I get the following message:
SystemID: C:\OxygenProjects\WebServicesXML\XMLFiles\AuthorizationResponse.xml
Location: 2:234
Description: E cvc-elt.1: Cannot find the declaration of element 'soapenv:Envelope'.
URL: http://www.w3.org/TR/xmlschema-1/#cvc-elt
[b]Below is a sample of the overall message:[/b]
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<getAuthorizationByVOResponse xmlns="http://webservices.authorization.oxhp.com">
<getAuthorizationByVOReturn>
<statusAction xsi:nil="true" xmlns="http://valueobjects.commons.oxhp.com" />
<statusError xmlns="http://valueobjects.commons.oxhp.com">NO_ERROR</statusError>
<statusMessage xmlns="http://valueobjects.commons.oxhp.com">No error.</statusMessage>
<statusTrace xsi:nil="true" xmlns="http://valueobjects.commons.oxhp.com" />
<lnkAuthorizationDetailResponseVO xmlns="http://valueobjects.authorization.oxhp.com">
</lnkAuthorizationDetailResponseVO>
</getAuthorizationByVOReturn>
</getAuthorizationByVOResponse>
</soapenv:Body>
</soapenv:Envelope>
The goal is to accept the TCP/IP trace output as sent by the server and then transform it for the end-user to examine for data inconsistencies.
Is there any solution to this error, [b]without[/b] modifying the SOAP output message???
Thanks,
Bob

-
- Posts: 9420
- Joined: Fri Jul 09, 2004 5:18 pm
Hi Bob
The problem is that the file you are trying to validate does not hava a reference to the schema used for validation.
There are actually 2 solutions to this problem:
1) Without modifying the SOAP response xml file. Open it in Oxygen, click the toolbar button called "External Validation" (near the Validation button),
then choose as a XML schema file the "envelope.xsd" file located in the Oxygen/frameworks/wsdl/xsd/ directory.
2) With modification to the XML file. Click the "Associate schema" toolbar button, choose the same schema as above, the click Validate.
Hope this helps,
Regards, Radu.
The problem is that the file you are trying to validate does not hava a reference to the schema used for validation.
There are actually 2 solutions to this problem:
1) Without modifying the SOAP response xml file. Open it in Oxygen, click the toolbar button called "External Validation" (near the Validation button),
then choose as a XML schema file the "envelope.xsd" file located in the Oxygen/frameworks/wsdl/xsd/ directory.
2) With modification to the XML file. Click the "Associate schema" toolbar button, choose the same schema as above, the click Validate.
Hope this helps,
Regards, Radu.
-
- Posts: 4141
- Joined: Fri Mar 28, 2003 2:12 pm
Post by sorin_ristache »
Hello,
There is a another simple solution: associate a default schema to all SOAP messages by adding a rule to the table available in Preferences - Editor - Tag Insight - Default:
- for Namespace: http://schemas.xmlsoap.org/soap/envelope/
- for Root local name: Envelope
- for File name: <ANY> (the default value)
- for Schema type: XML Schema
- for Schema URI: use the file open button to select a file envelope.xsd containing the SOAP Envelope schema.
Then just load any SOAP response file in <oXygen/> and press the Validate button. It works because the default Tag Insight schema is used also for validation.
Best regards,
Sorin
There is a another simple solution: associate a default schema to all SOAP messages by adding a rule to the table available in Preferences - Editor - Tag Insight - Default:
- for Namespace: http://schemas.xmlsoap.org/soap/envelope/
- for Root local name: Envelope
- for File name: <ANY> (the default value)
- for Schema type: XML Schema
- for Schema URI: use the file open button to select a file envelope.xsd containing the SOAP Envelope schema.
Then just load any SOAP response file in <oXygen/> and press the Validate button. It works because the default Tag Insight schema is used also for validation.
Best regards,
Sorin
-
- Posts: 4
- Joined: Mon Sep 05, 2005 4:48 pm
Thank you Radu and sorin,
I had stumbled across the solution that Radu suggested. I browsed the Internet for the url and I found the schema that it referenced. I created my own soapenv.xsd and used an external reference to associate it with my SOAP message.
I haven't tried sorin's solution, but I will very soon. I'm working with output from seven different services, so these solutions are very much appreciated.
Regards,
Bob
I had stumbled across the solution that Radu suggested. I browsed the Internet for the url and I found the schema that it referenced. I created my own soapenv.xsd and used an external reference to associate it with my SOAP message.
I haven't tried sorin's solution, but I will very soon. I'm working with output from seven different services, so these solutions are very much appreciated.

Regards,
Bob
Jump to
- Oxygen XML Editor/Author/Developer
- ↳ Feature Request
- ↳ Common Problems
- ↳ DITA (Editing and Publishing DITA Content)
- ↳ SDK-API, Frameworks - Document Types
- ↳ DocBook
- ↳ TEI
- ↳ XHTML
- ↳ Other Issues
- Oxygen XML Web Author
- ↳ Feature Request
- ↳ Common Problems
- Oxygen Content Fusion
- ↳ Feature Request
- ↳ Common Problems
- Oxygen JSON Editor
- ↳ Feature Request
- ↳ Common Problems
- Oxygen PDF Chemistry
- ↳ Feature Request
- ↳ Common Problems
- Oxygen Feedback
- ↳ Feature Request
- ↳ Common Problems
- Oxygen XML WebHelp
- ↳ Feature Request
- ↳ Common Problems
- XML
- ↳ General XML Questions
- ↳ XSLT and FOP
- ↳ XML Schemas
- ↳ XQuery
- NVDL
- ↳ General NVDL Issues
- ↳ oNVDL Related Issues
- XML Services Market
- ↳ Offer a Service