को बनाएं और लिंक XSD मैं JAX-आरएस कि तर्क के रूप में मनमाने ढंग से जटिल वस्तुओं में लेने की जरूरत का उपयोग कर कुछ सेवाओं का निर्माण कर रहा हूँ, न सिर्फ पूर्णांकों और तार की तरह पुरातन। A discussion on the CXF mailing list सिर्फ इस मामले में एक एकल पैरामीटर के रूप में एक आवरण वस्तु का उपयोग करने के कहते हैं।एक WADL
मेरी चिंता यह है कि सेवा में इनपुट प्रारूप को कैसे दस्तावेज़ित किया जाए? यदि एक सेवा है जो निम्नलिखित की तरह कुछ लग रहा है बनाने:
@POST
@Produces("application/json")
@Consumes("application/json")
@Path("oneParam")
public ComplexObject2 myServiceMethod(ComplexObject1 obj) {
Foo f = obj.foo
Bar b = obj.bar
...
}
स्वत: जनरेट WADL CXF पैदा करता है कि केवल निम्न का उत्पादन करेगा:
<resource path="/oneParam">
<method name="POST">
<request>
<representation mediaType="application/json"/>
</request>
<response>
<representation mediaType="application/json"/>
</response>
</method>
</resource>
यह वही अनुरोध या वास्तव में प्रतिक्रिया पर कोई जानकारी नहीं होती शामिल हैं। सेर्गेई CXF मेलिंग सूची पर कहा कि यह प्रतिनिधित्व करने के लिए एक स्कीमा से जोड़ने के लिए संभव हो गया था, लेकिन कैसे मुझे लगता है कि क्या करना चाहिए? और मैं एक्सएसडी कैसे बना सकता हूं?
(पी एस idempotent संसाधनों के लिए पोस्ट का उपयोग RESTful नहीं हो सकता है, लेकिन यह यहाँ महत्वपूर्ण नहीं है के रूप में हम सार Json का उपयोग कर आरपीसी करने में कर रहे हैं यह वह जगह है और अधिक या कम एक 1:।। एक मौजूदा सोप आधार पर API का 1 क्लोन)
स्कीमा डेवलपर्स पता लगाना क्या भेजा है और लौट आए, जरूरी नहीं कि एक मशीन द्वारा उत्पादन को मान्य करने के है मदद करने के लिए है। तो यह एक्सएमएल पर लागू होता है और जेसन मेरे लिए इतना महत्वपूर्ण नहीं है। – oligofren