2011-10-12 16 views
6

Me gustaría desactivar la validación de esquema para los mensajes vinculados a JAXB. Estoy tratando con el código CXF del lado del cliente (primera generación WSDL). He intentado usarCXF 2.2.12: Cómo desactivar la validación de esquema en el lado del cliente

<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> 

Sin éxito (ver referencia CXF FAQ). He tenido dificultades para encontrar una forma programática de configuración de esta propiedad. También exploré el cortocircuito de CXF y el acceso al analizador, unmarshaller, etc.

Gracias por su ayuda.

+0

Para CXF 3 He utilizado esta propiedad:

Respuesta

5

Para desactivar la validación de esquema, debe establecer la propiedad schema-validation-enabled en false.

De acuerdo con la documentación referida por usted (CXF FAQ).

Para habilitar la validación del esquema (todas las peticiones y las respuestas serán validados contra el esquema) establece

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

Para desactivar la validación del esquema (ninguna de las solicitudes ni respuestas será validado en contra del esquema) no hacer nada porque es el comportamiento predeterminado o conjunto

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

o desde el código de la siguiente manera:

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); 
Cuestiones relacionadas