2011-10-12 15 views
6

पर स्कीमा सत्यापन को कैसे बंद करें मैं जेएक्सबी-बाध्य संदेशों के लिए स्कीमा सत्यापन बंद करना चाहता हूं। मैं क्लाइंट-साइड सीएक्सएफ कोड (डब्लूएसडीएल पहली पीढ़ी) से निपट रहा हूं। मैंनेसीएक्सएफ 2.2.12: क्लाइंट साइड

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

सफलता के बिना (संदर्भ CXF FAQ देखें) का उपयोग करने का प्रयास किया है। मुझे इस संपत्ति की सेटिंग्स के प्रोग्रामेटिक तरीके खोजने में कठिनाई हुई है। मैंने शॉर्ट सर्किटिंग सीएक्सएफ और पार्सर, अनमारशर इत्यादि का भी पता लगाया है।

आपकी मदद के लिए धन्यवाद।

+0

सीएक्सएफ 3 के लिए मैंने इस संपत्ति का उपयोग किया है: <प्रविष्टि कुंजी = "सेट-जैक्सबी-सत्यापन-घटना-हैंडलर" मान = "झूठा" /> –

उत्तर

5

स्कीमा सत्यापन को बंद करने के लिए आपको schema-validation-enabled संपत्ति false पर सेट करनी चाहिए।

आपके द्वारा संदर्भित दस्तावेज के अनुसार (CXF FAQ)।

स्कीमा मान्यता (सभी अनुरोधों और प्रतिक्रियाओं स्कीमा के खिलाफ मान्य किया जाएगा) को सक्षम करने के

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

सेट स्कीमा सत्यापन को अक्षम (अनुरोध है और न ही प्रतिक्रियाओं में से कोई भी स्कीमा के खिलाफ सत्यापित किया जाएगा,) कुछ नहीं कर कारण यह है डिफ़ॉल्ट व्यवहार या सेट

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

या कोड से इस प्रकार है:

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); 
संबंधित मुद्दे