On Feb 6, 2013, at 2:27 PM, "Gagnon, David" <[email protected]> wrote:
> I just started with CXF, So I anyone can help me solving that issues… If you are using code generated from the WSDL using the CXF wsdl2java tool for both server and client, then this would be completely down inside the JAXB runtime on the server side. I would definitely check the stack traces and such there. You don't mention what version of CXF you are using. Older versions of CXF had older versions of JAXB included that did have some issues related to element references. Definitely make sure you are using the latest 2.7.3. Dan > > I get a fault for the following request complaining that XXXX:EL1 shall in > fact be from the namespace https://yyyy.com/Services/. > > I included the WSDL below. It`s probably a misunderstood from my part > regarding namespace. But this example comes from a production env and the > request is generated using SoapUi... > > I rather not disable the validation. > > Is anyone can tell me where exactly is my mistake or how I can have CXF > accepts this request ? > > Thanks for your help > > David > > > REQUEST > --------------------------------------------------------------------------- > <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:ser="https://yyyy.com/Services/" > xmlns:xxxx="http://www.xxx.ca/WS/XXXX"> > <soapenv:Header/> > <soapenv:Body> > <ser:Request> > <xxxx:EL1/> > </ser:Request> > </soapenv:Body> > </soapenv:Envelope> > > > RESPONSE FAULT > --------------------------------------------------------------------------- > <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> > <soap:Body> > <soap:Fault> > <faultcode>soap:Client</faultcode> > <faultstring>Unmarshalling Error: cvc-complex-type.2.4.a: Invalid > content was found starting with element 'xxxx:EL1'. One of > '{"https://yyyy.com/Services/":EL1}' is expected.</faultstring> > </soap:Fault> > </soap:Body> > </soap:Envelope> > > > WSDL > ------------------------------------------------------------ > <?xml version="1.0" encoding="utf-8"?> > <wsdl:definitions xmlns:s1="http://www.xxx.ca/WS/XXXX" > xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:s="http://www.w3.org/2001/XMLSchema" > xmlns:tns="https://yyyy.com/Services/" > targetNamespace="https://yyyy.com/Services/" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> > <wsdl:types> > <s:schema elementFormDefault="qualified" > targetNamespace="https://yyyy.com/Services/"> > <s:import namespace="http://www.xxx.ca/WS/XXXX" /> > <s:element name="Request"> > <s:complexType> > <s:sequence> > <s:element minOccurs="0" maxOccurs="1" ref="s1:EL1" /> > </s:sequence> > </s:complexType> > </s:element> > <s:element name="Response"> > <s:complexType> > <s:sequence> > <s:element minOccurs="1" maxOccurs="1" > name="RequestResult" type="s:int" /> > </s:sequence> > </s:complexType> > </s:element> > </s:schema> > <s:schema elementFormDefault="qualified" > targetNamespace="http://www.xxx.ca/WS/XXXX"> > <s:element name="EL1" type="s1:EL1" /> > <s:complexType name="EL1"> > <s:sequence> > <s:element minOccurs="0" maxOccurs="1" name="EL2" > type="s:string" /> > </s:sequence> > </s:complexType> > </s:schema> > </wsdl:types> > <wsdl:message name="RequestSoapIn"> > <wsdl:part name="parameters" element="tns:Request" /> > </wsdl:message> > <wsdl:message name="RequestSoapOut"> > <wsdl:part name="parameters" element="tns:Response" /> > </wsdl:message> > <wsdl:portType name="WSSoap"> > <wsdl:operation name="Request"> > <wsdl:input message="tns:RequestSoapIn" /> > <wsdl:output message="tns:RequestSoapOut" /> > </wsdl:operation> > </wsdl:portType> > <wsdl:binding name="WSSoap" type="tns:WSSoap"> > <soap:binding transport="http://schemas.xmlsoap.org/soap/http" > style="document" /> > <wsdl:operation name="Request"> > <soap:operation soapAction="https://yyyy.com/Services/Request" > style="document" /> > <wsdl:input> > <soap:body use="literal" /> > </wsdl:input> > <wsdl:output> > <soap:body use="literal" /> > </wsdl:output> > </wsdl:operation> > </wsdl:binding> > <wsdl:service name="TestService"> > <wsdl:port name="WSSoap" binding="tns:WSSoap"> > <soap:address location="https://xxx.com/OnlineServices/Service" /> > </wsdl:port> > </wsdl:service> > </wsdl:definitions> > -- Daniel Kulp [email protected] - http://dankulp.com/blog Talend Community Coder - http://coders.talend.com
