2010-08-05 10 views
7

में अनुरोध एक्सएमएल एक्सेस करें मेरे पास एक नकली प्रतिक्रिया है, जिसे अनुरोध में एक मान वापस करने की आवश्यकता है। उदाहरण के लिए, इस अनुरोध में आ सकते हैं:एसओएपी यूआई मॉक प्रतिक्रिया स्क्रिप्ट

<myReqest><myValue>123</myValue></myRequest> 

मैं पहले से ही एक mockResponse है:

<myResponse><yourValue>${theValue}</yourValue></myResponse> 

मुझे पता है कि संदर्भ चर के माध्यम से $ {theValue} का मान सेट करने, लेकिन मैं कर सकते हैं ' अनुरोध का उपयोग कैसे करें और मूल्य के लिए इसे पार्स करें।

किसी भी मदद की बहुत सराहना की जाएगी।

धन्यवाद, जॉनी

+0

आप अधिक कोड पोस्ट कर सकते हैं? –

+0

बस एक नोट है कि आपका एक्सएमएल अच्छी तरह से गठित नहीं है। टैग समापन टैग से मेल नहीं खाता है। Xpath के लिए – Paddyslacker

उत्तर

0

मैं संदर्भ की पूरी तरह से यकीन नहीं है, जो उपकरण आप उपयोग कर रहे रहा हूँ?

हम लिक्विड एक्सएमएल स्टूडियो का उपयोग करते हैं, जिसमें Web Services Test Client है, जो मैन्युअल रूप से वेब सेवाओं को बहुत सरलता से कॉल करता है, इस तरह की आवाज़ें जो आप करने की कोशिश कर रहे हैं, लेकिन शायद आप परीक्षण के लिए इस प्रक्रिया को स्वचालित करने की कोशिश कर रहे हैं?

कृपया थोड़ी अधिक जानकारी प्रदान करें।

साइमन

3

आप अपनी प्रतिक्रिया को अनुकूलित करने के लिए स्क्रिप्टिंग सुविधा का उपयोग कर सकते हैं।

mockResponse विंडो में, आप स्क्रिप्ट मेनू पर क्लिक कर सकते हैं।

यहाँ में आप की तरह (XPath का उपयोग कर पूरी तरह से तत्व आप देख रहे हैं अर्हता प्राप्त करने के) कुछ रख सकते हैं:

context.theValue = 
mockRequest.getRequestXmlObject().selectPath("//Message/text()")[0]; 

जब आप आह्वान MockResponse, theValue चर स्वचालित रूप से अद्यतन किया जाना चाहिए।

+0

+1। यहां वह जगह है जहां प्रो संस्करण वास्तव में चमकता है, इसे एक XPath टूल बनाया गया है, जिससे इस तरह की चीज बहुत आसान हो गई है। –

+0

यह लगभग मेरे लिए काम करता था लेकिन परिणाम xml-fragment टैग में लपेटा गया था। –

0

यदि आप सोपूआई प्रो का उपयोग कर रहे हैं तो बस कर्सर रखें जहां आप मान डालना चाहते हैं, फिर राइट-क्लिक करें और "डेटा प्राप्त करें ..." सबमेनू के माध्यम से अनुरोध से पैरामीटर का चयन करें। हालांकि यह सुविधा केवल प्रो संस्करण में उपलब्ध है। फ्रीवेयर संस्करण का उपयोग करके आपको खिलो के जवाब का पालन करना चाहिए।

रॉबर्ट

1

प्रश्न/SoapUI getting request parameters in mock service script का जवाब लगभग एक ही है। संक्षेप में:

def req = new XmlSlurper().parseText(mockRequest.requestContent) 
context.theValue = req.myRequest.myValue 
+0

मेरे लिए पूरी तरह से काम किया। धन्यवाद – Pargat

1

डिस्पैच अनुक्रम का उपयोग MokcResponse हो सकता है:

<myResponse><yourValue>${#MockResponse#Request#//myValue}</yourValue></myResponse>