2010-05-04 19 views
9

मैं अपने टेपेस्ट्री परियोजना के लिए बाकी को जोड़ने के लिए, और इसलिए पता करने के लिए कि यह कैसे लागू करने की आवश्यकता चाहते हैं।टेपेस्ट्री + शेष

बेहतर तरीका क्या है?

thx।

[संपादित करें, इस सवाल का जवाब से नकल:] मैं, प्राप्त जोड़ने डाल, पोस्ट और मेरे टेपेस्ट्री आवेदन करने के लिए सेवाओं को हटाना होगा। मैं देखता हूं कि टेपेस्ट्री में रीस्टफुल यूआरएल है लेकिन जेएक्स-आरएस और एनोटेशन के बारे में क्या है?

+0

टेपेस्ट्री 5 सब अपने आप में शोकहारा सिद्धांतों इस प्रकार है। क्या आप अपने आवेदन में एक शानदार वेब सेवा जोड़ना चाहते हैं? कृपया अपने प्रश्न को स्पष्ट करें ताकि लोग इसका अर्थ समझ सकें। – Henning

+0

अच्छा प्रश्न है कि मैं अपने आप को +1 –

उत्तर

10

आप Restlet API या किसी अन्य JAX-आरएस कार्यान्वयन कि एक सर्वलेट के रूप में चला सकते हैं इस्तेमाल कर सकते हैं।

वेब सेवा टेपेस्ट्री के साथ अच्छी तरह एक साथ नहीं हो करवाने के लिए, वहाँ एक बात आप में कॉन्फिगर करना है अपने Tapestry application module:

/** 
* Keep Tapestry from processing requests to the web service path. 
* 
* @param configuration {@link Configuration} 
*/ 
public static void contributeIgnoredPathsFilter(
     final Configuration<String> configuration) { 
    configuration.add("/ws/.*"); 
} 

यह टुकड़ा/ws को अनुरोधों को हैंडल करने नहीं टेपेस्ट्री फिल्टर बताता है/पथ जहां वेब सेवा स्थित है।

<filter> 
    <filter-name>app</filter-name> 
    <filter-class>org.apache.tapestry5.spring.TapestrySpringFilter</filter-class> 
</filter> 
<filter-mapping> 
    <filter-name>app</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

<!-- Restlet adapter --> 
<servlet> 
    <servlet-name>WebService</servlet-name> 
    <servlet-class> 
     com.noelios.restlet.ext.spring.SpringServerServlet 
    </servlet-class> 

    ... 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>WebService</servlet-name> 
    <!-- This path must also be set in AppModule#contributeIgnoredPathsFilter, 
     otherwise Tapestry, being a request filter, will try to handle 
     requests to this path. --> 
    <url-pattern>/ws/*</url-pattern> 
</servlet-mapping> 

मदद करनी चाहिए यही कारण है कि आप आरंभ:

गया है कि आपकी web.xml लगभग टेपेस्ट्री के साथ साथ एक Restlet सर्वलेट के साथ की तरह दिखना चाहिए दिखा एक टुकड़ा है।

8

आप एक टेपेस्ट्री परियोजना में एक बाकी वेब सेवा को एकीकृत चाहते हैं तो टेपेस्ट्री के RESTful यूआरएल शायद पर्याप्त नहीं हैं।

this Tynamo module के माध्यम से RESTEasy को टेपेस्ट्री में एकीकृत करना संभव है। RESYEasy JAX-RS संगत है।

मैं टेपेस्ट्री साथ RESTEasy का इस्तेमाल किया है नहीं है, लेकिन वसंत 2.5 के साथ, और यह वास्तव में अच्छी तरह से काम किया।

+1

सोच रहा था मैं Tynamo मॉड्यूल के माध्यम से टेपेस्ट्री अनुप्रयोग के साथ resteasy का इस्तेमाल किया है और यह बहुत ही सीधी-सपाट था। एक आकर्षण की तरह काम किया (हालांकि मुझे बहुत ही सरल आवश्यकताएं थीं) – antonlitvinenko

+0

दरअसल आपको 'रीस्टेसी' का उपयोग करने के लिए 'टायनामो' की आवश्यकता नहीं है। – Andremoniy

+0

मैं टायनाम मॉड्यूल के साथ जाऊंगा, मैंने इसे कई परियोजनाओं में उपयोग किया है और यह ठीक काम करता है। – lukewm