2016-08-23 10 views
5

मैं स्प्रिंग बूट SOAP वेबसाइट सेवा नमूना प्रोजेक्ट का उपयोग कर SOAP वेब सेवा बना रहा हूं। यदि मैं निम्नलिखित कोड का उपयोग गतिशील रूप से जेनरेट किया गया डब्लूएसडीएल ऑपरेशंस दिखाता है।स्प्रिंगबूट एसओएपी webservice गतिशील WSDL पीढ़ी काम नहीं कर रहा है अगर RequestPayload तत्व से अनुरोध अनुरोध प्रत्यय

@PayloadRoot(namespace = NAMESPACE_URI, localPart = "AvailNotifRequest") 
@ResponsePayload 
public OTAHotelAvailNotifRS getAvailNotif(@RequestPayload AvailNotifRequest request) { 

लेकिन मुझे इस तरह बदलने के लिए अनुरोध तत्व की आवश्यकता है।

@PayloadRoot(namespace = NAMESPACE_URI, localPart = "OTAHotelAvailNotifRQ") 
@ResponsePayload 
public OTAHotelAvailNotifRS getOTAHotelAvailNotifRQ(@RequestPayload OTAHotelAvailNotifRQ request) { 

मैं इस लिंक Spring web service dynamic wsdl not generating message for a schema element जवाब कहते हैं हम अनुरोध तत्व के बाद प्रत्यय अनुरोध जोड़ने के लिए तरह AvailNotifRequest की जरूरत है लेकिन मैं अपने अनुरोध इनपुट के रूप में OTAHotelAvailNotifRQ उपयोग करना चाहते हैं पर एक समान प्रश्न पाया। मैं इसका उपयोग कैसे कर सकता हूं क्योंकि जब मैं अनुरोध इनपुट बदलता हूं तो मुझे wsdl में ऑपरेशन नहीं मिल रहा है।

उत्तर

1

official Spring-WS documentation के अनुसार:

< गतिशील-wsdl> सम्मेलनों का उपयोग करके एक XSD स्कीमा से एक डबल्यूएसडीएल बनाता है। यह स्कीमा में पाए गए सभी तत्व तत्वों पर पुनरावृत्ति करता है, और सभी तत्वों के लिए एक संदेश बनाता है। इसके बाद, यह सभी संदेशों के लिए डब्लूएसडीएल ऑपरेशन बनाता है जो परिभाषित अनुरोध या प्रतिक्रिया प्रत्यय के साथ समाप्त होता है। डिफ़ॉल्ट अनुरोध प्रत्यय अनुरोध है; डिफ़ॉल्ट प्रतिक्रिया प्रत्यय प्रतिक्रिया है, हालांकि इन्हें क्रमशः < गतिशील-wsdl /> पर अनुरोध Suffix और प्रतिक्रियाSuffix विशेषताओं को सेट करके बदला जा सकता है।

दूसरे शब्दों में आप एक अनुरोध और प्रतिक्रिया प्रत्यय डिफ़ॉल्ट से अलग निर्दिष्ट करने के लिए आदेश में setRequestSuffix और setResponseSuffixDefaultWsdl11Definition पर उपयोग कर सकते हैं। उपरोक्त मामले में जो उदाहरण के लिए हो सकता है:

wsdl11Definition.setRequestSuffix("RQ"); 
wsdl11Definition.setResponseSuffix("RS"); 
संबंधित मुद्दे