WSDL validation failed for custom FAULT message
Posted: Thu Dec 08, 2011 2:13 pm
Hi,
I have following WSDL file:
But following custom fault definition is rejected by Oxygen validation
with message:
E [WSDL] The 'body' element defined here is undefined for the SOAP namespace. The only valid element is "fault".
Well, on the other hand, the Altova XML Spy says that WSDL is all right. I am facing same issue with this definition in Oracle Service Bus Workshop, of course I can disable WSDL validation before deploy. The joke is, that it's working in live scenarios.
Ladislav
I have following WSDL file:
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:do="http://xmlns.lesycr.cz/DO/OsobaVybRiz/V1" xmlns:bs="http://xmlns.lesycr.cz/BS/OsobaVybRiz/V1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:core="http://xmlns.lesycr.cz/DO/Core/V1" targetNamespace="http://xmlns.lesycr.cz/BS/OsobaVybRiz/V1">
<documentation>
<ip:BusinessService ID="S20011" Name="OsobaVybRizBS" Version="1.0" Author="PBr" Created="2010-04-17" xmlns:ip="http://xmlns.lesycr.cz/IP/Info/V1">
<ip:Description>Služba poskytující osoby , které si prohlíželi výběrova řízení.</ip:Description>
</ip:BusinessService>
</documentation>
<types>
<xsd:schema elementFormDefault="qualified">
<xsd:import namespace="http://xmlns.lesycr.cz/DO/OsobaVybRiz/V1" schemaLocation="../../../../DataObjects/D200Portal/OsobaVybRiz/V1/OsobaVybRizDM.xsd"/>
</xsd:schema>
</types>
<message name="InsertOsobaVybRizListReqMsg">
<part name="InsertOsobaVybRizListDM" element="do:InsertOsobaVybRizListDM"/>
</message>
<message name="DataFaultMsg">
<part name="DataFault" element="core:DataFault"/>
</message>
<message name="OsobaVybRizRespMsg">
<part name="Result" element="core:Result"/>
</message>
<portType name="OsobaVybRizBS">
<operation name="insertOsobaVybRizList">
<input message="bs:InsertOsobaVybRizListReqMsg"/>
<output message="bs:OsobaVybRizRespMsg"/>
<fault name="fault" message="bs:DataFaultMsg"/>
</operation>
</portType>
<binding name="OsobaVybRizBSSOAP11Binding" type="bs:OsobaVybRizBS">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="insertOsobaVybRizList">
<soap:operation soapAction="http://xmlns.lesycr.cz/BS/OsobaVybRiz/V1/insertOsobaVybRizList" style="document"/>
<input>
<soap:body parts="InsertOsobaVybRizListDM" use="literal"/>
</input>
<output>
<soap:body parts="Result" use="literal"/>
</output>
<fault name="fault">
<soap:body parts="DataFault" use="literal"/>
</fault>
</operation>
</binding>
</definitions>
Code: Select all
<soap:body parts="DataFault" use="literal"/>
E [WSDL] The 'body' element defined here is undefined for the SOAP namespace. The only valid element is "fault".
Well, on the other hand, the Altova XML Spy says that WSDL is all right. I am facing same issue with this definition in Oracle Service Bus Workshop, of course I can disable WSDL validation before deploy. The joke is, that it's working in live scenarios.
Ladislav