2011-06-05 18 views
19

के साथ मैंने सोपई के साथ अपनी वेब सेवाओं (wsdl/साबुन) का परीक्षण किया है। और मुझे त्रुटियां हैं: http/log: त्रुटि 400 बाड अनुरोध।डब्ल्यूएसडीएल/एसओएपी टेस्ट सोपूई

मेरी wsdl के साथ कृपया त्रुटि क्या हो सकती है?

त्रुटि/लॉग:

un Jun 05 14:10:37 CEST 2011:ERROR:javax.wsdl.WSDLException: WSDLException (at /html): faultCode=INVALID_WSDL: Expected element '{http://schemas.xmlsoap.org/wsdl/}definitions'. 
    javax.wsdl.WSDLException: WSDLException (at /html): faultCode=INVALID_WSDL: Expected element '{http://schemas.xmlsoap.org/wsdl/}definitions'. 
    at com.ibm.wsdl.xml.WSDLReaderImpl.checkElementName(Unknown Source) 
    at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(Unknown Source) 
    at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source) 
    at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source) 
    at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source) 
    at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source) 
    at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source) 
    at com.eviware.soapui.impl.wsdl.support.wsdl.WsdlInterfaceDefinition.load(WsdlInterfaceDefinition.java:48) 
    at com.eviware.soapui.impl.wsdl.support.wsdl.WsdlContext.loadDefinition(WsdlContext.java:66) 
    at com.eviware.soapui.impl.wsdl.support.wsdl.WsdlContext.loadDefinition(WsdlContext.java:30) 
    at com.eviware.soapui.impl.support.definition.support.AbstractDefinitionContext.cacheDefinition(AbstractDefinitionContext.java:264) 
    at com.eviware.soapui.impl.support.definition.support.AbstractDefinitionContext.access$400(AbstractDefinitionContext.java:44) 
    at com.eviware.soapui.impl.support.definition.support.AbstractDefinitionContext$Loader.construct(AbstractDefinitionContext.java:230) 
    at com.eviware.soapui.support.swing.SwingWorkerDelegator.construct(SwingWorkerDelegator.java:46) 
    at com.eviware.soapui.support.swing.SwingWorker$2.run(SwingWorker.java:140) 
    at java.lang.Thread.run(Thread.java:637) 
+0

जब आप ब्राउज़र में इसे खोलने का प्रयास करते हैं तो आपका wsdl कैसा दिखता है? –

+0

जब मैं इसे int मोज़िला खोलता हूं, तो यह मुझे एक्सएमएल दिखाता है। – samir

+0

क्या आप अपने प्रश्न को एक्सएमएल के साथ अपडेट कर सकते हैं? –

उत्तर

31

definitions डबल्यूएसडीएल का एक मूल तत्व तो यह लगता है कि आप डबल्यूएसडीएल लोड नहीं कर रहे हैं।

संपादित करें:

मैं इसे परीक्षण किया है और ऐसा लगता है कि पूरे समस्या अपने वेब सर्वर के साथ है। आपका वेब सर्वर ब्राउज़र में डब्लूएसडीएल लौटाता है लेकिन यह इसे किसी भी उपकरण पर वापस नहीं करता है क्योंकि ये टूल कई HTTP शीर्षकों के बिना बहुत कम HTTP अनुरोधों का उपयोग कर रहे हैं। गायब हेडर में से एक Accept है। एक बार यह हेडर अनुरोध में शामिल नहीं हो जाने पर आपका सर्वर HTTP 400 खराब अनुरोध फेंकता है।

जारी रखने का आसान तरीका ब्राउज़र में डब्लूएसडीएल खोल रहा है, wsdl को फ़ाइल में सहेजता है और यूआरएल से डब्लूएसडीएल के बजाय उस फ़ाइल को साबुनयूआई में आयात करता है।

+0

प्रतीत नहीं होती है कृपया आप मेरी मदद कर सकते हैं ?? यह समस्या ठीक करने के लिए 5 दिन है। मुझे तुम्हारा जवाब नहीं पता है, मुझे खेद है। मैं अपने wsdl का परीक्षण कैसे कर सकता हूं ?? लॉग त्रुटि कहती है कि मेरी वेब सेवाएं काम नहीं कर रही हैं ?? आपके उत्तर – samir

+0

के लिए धन्यवाद क्या आप साबुनयूआई परियोजना में डब्लूएसडीएल जोड़ सकते हैं? http://www.soapui.org/Getting-Started/your-first-soapui-project.html –

+0

नहीं, जब मैं इसे जोड़ता हूं, तो यह मुझे "यूआरएल से लोडिंग परिभाषा" दिखाता है, यह कई मिनटों के लिए लेता है और यह मुझे दिखाता है "com.ev ...: wsdl आयात करने में त्रुटि। क्या इसका मतलब यह है कि मेरा wsdl काम नहीं कर रहा है? – samir

0

संभावित संभावना यह है कि आपका ब्राउज़र प्रॉक्सी के माध्यम से आपकी वेब सेवा तक पहुंचता है, और सोपूआई उस प्रॉक्सी का उपयोग करने के लिए कॉन्फ़िगर नहीं किया गया है। उदाहरण के लिए, मैं कॉर्पोरेट वातावरण में काम करता हूं और जब मेरा आईई और फ़ायरफ़ॉक्स बाहरी वेबसाइटों तक पहुंच सकता है, तो मेरा सोपयूआई केवल आंतरिक वेब सेवाओं तक पहुंच सकता है।

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

4

एक और संभावना यह है कि आपको सोपूआई के लिए अपनी सेवा यूआरएल के अंत में wsdl जोड़ने की आवश्यकता है। वह मुझे मिला क्योंकि मुझे डब्ल्यूसीएफसीएलआईन्ट में उपयोग किया जाता है जिसकी आवश्यकता नहीं थी।

+0

यह वास्तव में मुझे एक सीएक्सएफ क्लाइंट के साथ इसका उपयोग करने में मदद करता है। – Alfergon

5

आप वेब ब्राउज़र में wsdl खोलने और .wsdl एक्सटेंशन के साथ सहेजने का प्रयास कर सकते हैं। और एसओएपी यूआई प्रोजेक्ट में डब्ल्यूएसडीएल को इस .wsdl फ़ाइल में सेट करें। यह वास्तव में काम करता है।

3
  • हाँ, पहले सुनिश्चित करें कि आपने अपने "http ...... whatever.svc" लिंक में "? Wsdl" जोड़ा है।
    • हालांकि यह मेरी समस्या को ठीक नहीं करता है। मुझे शुरुआत से एक नई डब्ल्यूसीएफ परियोजना बनाना था और मैन्युअल रूप से कोड कॉपी करना था। यह तय है। सौभाग्य।

और सबसे महत्वपूर्ण !!!

जब आप अपने कोड में नामस्थान बदलते हैं, तो यह भी सुनिश्चित करें कि आप इसे web.config में बदल दें!

1

डब्ल्यूएसओ 2 ईएसबी को तैनात मेरी वेब-सेवाओं का परीक्षण करने का प्रयास करते समय मुझे एक ही अपवाद का सामना करना पड़ा।

डब्लूएसओ 2 ने wsdl और wsdl2 दोनों उत्पन्न किए। मैंने wsdl2 यूआरएल पास करने की कोशिश की और उपरोक्त अपवाद मिला। क्विक गूगलिंग ने मुझे दिखाया, कि wsdl1.1 और wsdl2.0 के बीच अंतरों में से एक 'परिभाषा' तत्व को 'विवरण' के साथ बदल रहा है। इसके अलावा, मुझे पता चला कि SoapUI does not support wsdl2

इसलिए, मेरे लिए समाधान wsdl2 के बजाय wsdl1 url का उपयोग करना था।

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