2011-10-12 12 views
6

Vorrei disattivare la convalida dello schema per i messaggi associati a JAXB. Ho a che fare con il codice CXF lato client (WSDL di prima generazione). Ho provato a utilizzareCXF 2.2.12: Come disattivare la convalida dello schema sul lato client

<jaxws:client name="{http://apache.org/hello_world_soap_http}SoapPort" 
    createdFromAPI="true"> 
    <jaxws:properties> 
     <entry key="schema-validation-enabled" value="true" /> 
    </jaxws:properties> 
</jaxws:client> 

Senza successo (vedere riferimento CXF FAQ). Ho avuto difficoltà a trovare un modo programmatico per impostare questa proprietà. Ho anche esplorato il cortocircuito CXF e l'accesso al parser, unmarshaller, ecc.

Grazie per il vostro aiuto.

+0

Per CXF 3 ho usato questa proprietà:

risposta

5

Per disattivare la convalida dello schema è necessario impostare la proprietà schema-validation-enabled su false.

Secondo la documentazione inviata dall'utente (CXF FAQ).

Per abilitare la convalida dello schema (tutte le richieste e le risposte saranno convalidati contro schema) impostato

<entry key="schema-validation-enabled" value="true" /> 

Per disattivare la convalida dello schema (nessuna delle richieste, né risposte verrà convalidato contro lo schema) non fare nulla perché è il comportamento predefinito o impostare

<entry key="schema-validation-enabled" value="false" /> 
1

o dal codice come segue:

Client client = ClientProxy.getClient(XYZSOAPEndPoint); 
    HTTPConduit http = (HTTPConduit) client.getConduit(); 
    HTTPClientPolicy policy = new HTTPClientPolicy(); 
    policy.setAllowChunking(false); 
    http.setClient(policy); 
    ((BindingProvider)XYZSOAPEndPoint).getRequestContext().put("schema-validation-enabled",true); 
Problemi correlati