2009-07-26 10 views
5

जावा ईई 1.4 में जेएक्स-आरपीसी 1.1 का उपयोग करके, मैं वेब सेवा का पर्दाफाश कैसे कर सकता हूं, इसलिए wsdl में एक जटिल प्रकार (व्यक्ति) है जहां व्यक्ति के गुणों में से एक तिथि है जो डब्लूएसडीएल/एक्सएसडी में डेटटाइम (जहां समय नहीं चाहता था) की बजाय डब्लूएसडीएल/एक्सएसडी में केवल एक तारीख (जैसे जन्मतिथि) के रूप में दिखाया गया है?जावा वेब सेवा, तिथि के बजाय xsd दिनांक समय

मुझे पसंद है XSD wsdl में संदर्भित करने के लिए होगा

<xs:element name="birthdate" type="xs:date"/> 
बजाय

<xs:element name="birthdate" type="xs:dateTime"/> 

java.util.Calendar और java.util.Date दोनों को XSD डेटाप्रकार पैदा करने के लिए लग रहे हैं दिनांक समय हो जब wsdl/xsd में प्रस्तुत किया गया।

मुझे पता है कि जावा ईई 1.4 में जावा ईई 5 जैसी टिप्पणियां नहीं हैं, लेकिन क्या वेब सेवा को xs: date datatype का उपयोग करने के लिए कोई तरीका है?

उत्तर

1

मुझे वास्तव में यह पता चला कि यह ठीक से कैसे किया जाए।

वेब-आईएनएफ/wsdl/(schemaname) .xsd में मैंने डेटटाइप तिथि से तारीख तक बदल दिया और सेवा को फिर से तैनात किया और यह मेरे मौजूदा java.util.Calendar प्रकारों के साथ काम करता है।

0

IBM docs के अनुसार आप सही हैं, दोनों तारीख और तारीख कैलेंडर पर समय मानचित्र। केवल दिनांक भाग का उपयोग करने का एक मानक तरीका प्रतीत नहीं होता है, बेशक आप roll your own (दिलचस्प रूप से संदर्भित आलेख का दूसरा पृष्ठ कहता है कि तारीख केवल तिथियों के लिए है, लेकिन पृष्ठ 3 इसे कैलेंडर पर मानचित्र की पुष्टि करता है)।

संदर्भ के लिए doing this in WCF के बारे में एक समान प्रश्न है।

+1

इस उत्तर के लिए धन्यवाद, यह सहायक है, लेकिन वेब सेवा को xs: date फ़ील्ड के साथ wsdl का खुलासा करने के तरीके की मेरी समस्या को हल करने में मेरी सहायता नहीं करता है। क्लाइंट एप्लिकेशन ने अनुरोध किया कि wsdl केवल तारीख का खुलासा करे, डेटटाइम नहीं। – jasonmw

1

मुझे नहीं लगता कि आप इसे प्राप्त करने में सक्षम होंगे, जेएक्स-आरपीसी में लचीलापन नहीं है (यही वजह है कि यह जावाईई 5 में मारे गए थे)।

सामान्य तौर पर, मैं आमतौर पर पाते हैं कि डबल्यूएसडीएल जनरेटर सटीक WSDL मैं चाहता हूँ उत्पन्न करने के लिए सूचक क्षमता की जरूरत नहीं है, और इसलिए मैं उन्हें इस्तेमाल करने के लिए एक प्रारंभिक बिंदु के रूप में एक डबल्यूएसडीएल उत्पन्न करने के लिए करते हैं, और उसके बाद परिणाम को संशोधित। फिर आप डब्लूएसडीएल को एक जेनरेटेड के बजाए स्थिर फ़ाइल के रूप में सर्वर करते हैं। यह आदर्श नहीं है, लेकिन यह एक बड़ा सौदा नहीं है।

संबंधित मुद्दे