2011-06-29 4 views
5

मैंने ksoap2 का उपयोग कर wcf वेब सेवा को कॉल करने के लिए एक सरल प्रोजेक्ट किया है। लेकिन जब यह envelope.getResponse() को कॉल करता है; यह त्रुटि कह -----ksoap2 का उपयोग कर डब्ल्यूसीएफ वेब सेवा के साथ एंड्रॉइड - त्रुटि साबुनफॉल्ट - गलती कोड: 'ए: एक्शन नॉट समर्थित'

देता है "SoapFault - faultcode: 'एक: ActionNotSupported' faultstring: 'के साथ संदेश एक्शन' GetString ' एक की वजह से , रिसीवर में संसाधित नहीं किया जा सकता कॉन्ट्रैक्टफिल्टर एंडपॉइंट डिस्पैचर पर मेल नहीं खाता है। यह हो सकता है क्योंकि किसी अनुबंध की मेलसमूह (प्रेषक और रिसीवर के बीच बेमेल क्रियाएं) या बाध्यकारी/सुरक्षा प्रेषक और रिसीवर के बीच मेल नहीं खाती है। जाँच करें कि प्रेषक और रिसीवर ही अनुबंध और है एक ही बंधन (सुरक्षा आवश्यकताओं, जैसे संदेश, परिवहन, कोई नहीं सहित) 'faultactor:'। अशक्त 'विस्तार: अशक्त "

मैं लोकलहोस्ट में चल रही वेब सेवा।

कृपया मेरी मदद करो कुछ एक

, इस मान सही है कि मैं सौंपा है है

private static final String SOAP_ACTION = “GetString”; 
private static final String OPERATION_NAME = “GetString”; 
private static final String WSDL_TARGET_NAMESPACE = “http://tempuri.org/”; 
private static final String SOAP_ADDRESS = “http://10.0.2.2:14089/Service1.svc?wsdl”; 

उत्तर

11

हम नहीं जानते, तो इन मूल्यों को सही कर रहे हैं - डबल्यूएसडीएल आप को बताना चाहिए के लिए सही सोप कार्रवाई है क्या GetString ऑपरेशन को कॉल करना।

वेब ब्राउज़र में ओपन डबल्यूएसडीएल (कि पता आप SOAP_ADDRESS में बताए जाते हैं) और की तरह कुछ पाते हैं:

<wsdl:binding name="..." type="..."> 
    ... 
    <wsdl:operation name="GetString"> 
    <soap:operation soapAction="HERE_IS_CORRECT_ACTION" /> 
    <wsdl:input>...</wsdl:input> 
    <wsdl:output>...</wsdl:output> 
    </wsdl> 
    ... 
</wsdl:binding> 

Btw। जब आप सेवा को कॉल करते हैं तो आपको ?wsdl क्वेरी स्ट्रिंग के बिना यूआरएल का उपयोग करना चाहिए।

+0

बहुत बहुत धन्यवाद Ladislav Mrnka ... :))) – janitheshan

+0

आपको बहुत बहुत धन्यवाद। इसके लिए मैंने 2 दिन बर्बाद कर दिया। धन्यवाद – Gunaseelan

+0

यह सही कार्रवाई करने में मदद मिली .... मार्गदर्शन के लिए धन्यवाद – Noman

2

आप सोपूआई का उपयोग करके actionName भी देख सकते हैं। पहले wsdl पता प्रदान करके उदाहरण अनुरोध उत्पन्न करें और फिर अपना अनुरोध ढूंढें। जब आप इसे पाते हैं, अनुरोध के साथ विंडो के बाईं तरफ "रॉ" टैब का चयन करें। आप वहां http हेडर ढूंढ सकते हैं। शीर्षलेख स्थिति में से एक "SOAPAction" है। यह वह नाम है जिसे हम ढूंढ रहे हैं।

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