What do you think Dan?

2013/6/21 David Karlsen <[email protected]>

> Maybe that faq should refer to how to configure the endpoints for "full
> schema validation" (e.g. not only based off the JAXB annotations). The
> annotations lack some metadata so that the validation is not 100% like in
> the schema.
>
> Needed configuration:
> 1. delcare a prefix for the namespace of the service
> 2. declare the serviceName attribute to point to the name in the wsdl
> 3. declare the endpointName attribute to point to the name in the wsdl
> Like this:
>
>         <jaxws:endpoint xmlns:cust="urn:srv.jfr.tac.fs.edb.com:
> ws:customer:v1"
>                 serviceName="cust:TACSCustomerService_V1"
>                 endpointName="cust:TACSCustomerService_V1PortTypeSoap11"
>                 implementor="#customerServiceV1Ws"
>                 address="/TACSCustomerService_V1"
>                 wsdlLocation="wsdl/TACSCustomerService_V1.wsdl">
>                 <jaxws:properties>
>                         <entry key="schema-validation-enabled"
> value="${cxf.schemaValidation:true}" />
>                         <entry key="faultStackTraceEnabled"
> value="${cxf.faultStackTraceEnabled}" />
>                         <entry key="exceptionMessageCauseEnabled"
> value="${cxf.exceptionMessageCauseEnabled}" />
>                 </jaxws:properties>
>         </jaxws:endpoint>
>
>
>
>
> 2013/6/19 Daniel Kulp <[email protected]>
>
>>
>> Answered in the FAQ:
>>
>>
>> http://cxf.apache.org/faq.html#FAQ-HowcanIturnonschemavalidationforjaxwsendpoint%3F
>>
>> Dan
>>
>>
>>
>> On Jun 19, 2013, at 12:20 PM, Hilderich <[email protected]> wrote:
>>
>> > Hello All!
>> >
>> > we are using Apache CXF together with Apache Camel inside Apache Karaf:
>> >
>> > - Apache CXF Compatibility Bundle Jar (2.6.3)
>> > - camel-cxf (2.10.2)
>> >
>> > We are using a web service via code first apprach.
>> >
>> > The issue we are encounter is that an missing parameter inside the
>> > /complexType /
>> > (XML Schema) is ignored by the validation although the /complexType /is
>> > configured
>> > as follows (WSDL snippet):
>> > ...
>> > <xs:complexType name="orderDataMergingBean">
>> >   <xs:sequence>
>> >            <xs:element name="brandNo" type="xs:string"/>
>> >            <xs:element name="brandName" type="xs:string"/>
>> >            <xs:element name="packageType" type="xs:string"/>
>> >            <xs:element name="packageFormat" type="xs:string"/>
>> >            <xs:element name="inputDir" type="xs:string"/>
>> >            <xs:element minOccurs="0" name="acceptanceTimestamp"
>> > type="xs:dateTime"/>
>> >           <xs:element minOccurs="0" name="orderSource"
>> type="xs:string"/>
>> >           <xs:element name="override" type="xs:boolean"/>
>> >    </xs:sequence>
>> > </xs:complexType>
>> > ...
>> >
>> > When we omit e.g. the /packageType /information for the request the web
>> > service can be
>> > used still though /packageTyp /is equipped implicit with minOccurs=1 and
>> > maxOccurs=1.
>> >
>> > How can we configure the web service properly to refuse such a request
>> and
>> > tell the client
>> > that such a request is invalid?
>> >
>> > The Java class (code first approach) looks as below:
>> >
>> > @XmlRootElement(name = "order")
>> > @XmlAccessorType(XmlAccessType.FIELD)
>> > public class OrderDataMergingBean implements Serializable {
>> >
>> >       ...
>> >       @XmlElement(required=true)
>> >       private TecdocType packageType;
>> > ...
>> >
>> > Many thanks in advanced
>> > Hilderich
>> >
>> >
>> >
>> > --
>> > View this message in context:
>> http://cxf.547215.n5.nabble.com/elements-with-minOccurs-1-in-a-complexType-not-honoured-tp5729512.html
>> > Sent from the cxf-user mailing list archive at Nabble.com.
>>
>> --
>> Daniel Kulp
>> [email protected] - http://dankulp.com/blog
>> Talend Community Coder - http://coders.talend.com
>>
>>
>
>
> --
> --
> David J. M. Karlsen - http://www.linkedin.com/in/davidkarlsen
>



-- 
--
David J. M. Karlsen - http://www.linkedin.com/in/davidkarlsen

Reply via email to