2010-09-24 15 views
10

से शून्य विधियों को उत्पन्न करता है यह डब्ल्यूसीएफ का उपयोग करने की कोशिश करने का मेरा पहला प्रयास है, इसलिए मुझे लगता है कि मैं कुछ गलत कर रहा हूं। मैं डब्ल्यूएसडीएल द्वारा http://confluence.atlassian.com/rpc/soap-axis/confluenceservice-v1?wsdl पर परिभाषित एक साबुन सेवा तक पहुंचने का प्रयास कर रहा हूं, मैं वीएस -2010 का उपयोग कर रहा हूं, और मैं अपनी परियोजना में एक सेवा संदर्भ जोड़ता हूं और इसे वहां यूआरएल (या इसके बजाय, हमारे इंट्रानेट इंस्टॉल) पर इंगित करता हूं, लेकिन जब मैं सेवा देखने के लिए ऑब्जेक्ट ब्राउज़र का उपयोग करता हूं, तो इंटरफ़ेस पर ऑपरेशन बिना किसी पैरामीटर के सभी शून्य विधियां हैं। ऐसा लगता है कि डब्ल्यूसीएफ प्रकार की जानकारी सही तरीके से नहीं पढ़ रहा है। यह त्रुटियों देना नहीं है, लेकिन वह ऐसा चेतावनियों के टन दे रही है: 1 कस्टम उपकरण चेतावनीडब्ल्यूसीएफ सेवा संदर्भ डब्ल्यूएसडीएल

चेतावनी: आपरेशन getPermissions में दोष नामित InvalidSessionException जा आयात नहीं कर सकते हैं। असमर्थित डब्लूएसडीएल, गलती संदेश भाग को तत्व का संदर्भ देना चाहिए। यह गलती संदेश किसी तत्व का संदर्भ नहीं देता है। यदि आपने को WSDL दस्तावेज़ तक पहुंच संपादित की है, तो आप 'तत्व' विशेषता का उपयोग कर स्कीमा तत्व का संदर्भ देकर समस्या को ठीक कर सकते हैं। Z: \ TestLibrary \ सेवा संदर्भ \ संगम \ Reference.svcmap 1 1 TestLibrary

चेतावनी 2 कस्टम उपकरण चेतावनी: वैकल्पिक डबल्यूएसडीएल विस्तार तत्व 'शरीर' नाम स्थान से 'http://schemas.xmlsoap.org/wsdl/soap/' संभाला नहीं गया था। XPath: // wsdl: परिभाषाएं [@ targetNamespace = 'http://confluence.atlassian.com/rpc/soap-axis/confluenceservice-v1']/wsdl: बाध्यकारी [@ name = 'confluenceservice-v1Soap बाइंडिंग']/wsdl: ऑपरेशन [@ name = 'getPermissions']/wsdl: इनपुट [@ name = 'getPermissionsRequest'] Z: \ TestLibrary \ सेवा संदर्भ \ संगम \ Reference.svcmap 1 1 TestLibrary

क्या मैं गलत कर रहा हूँ? मैंने विकल्पों के संयोजन के साथ सेवा की कॉन्फ़िगरेशन बदलने की कोशिश की, लेकिन मैं कभी भी WSDL से प्रकारों को सही तरीके से खींच नहीं सकता था। मैं यह मान रहा हूं कि डब्ल्यूसीएफ सर्विस इंटरफेस के साथ टाइप क्लास को ऑटो-जेनरेट करेगा। क्या मुझे यह पता लगाना चाहिए कि डब्ल्यूएसडीएल में किस प्रकार का उपयोग किया जाता है और कक्षाएं और डेटा अनुबंध स्वयं बनाते हैं, या यह कुछ और है?

उत्तर

5

HHMM ... दिलचस्प - मैं svcutil.exe कि आपके द्वारा प्रदत्त URL के खिलाफ कमांड लाइन से भाग गया, और जब तक मैं डबल्यूएसडीएल मुद्दों के बारे में चेतावनी के लिए ढेर मिलता है, मैं भी कुछ कोड प्राप्त करते हैं - जैसे कुछ:

//------------------------------------------------------------------------------ 
// <auto-generated> 
//  This code was generated by a tool. 
//  Runtime Version:2.0.50727.4952 
// 
//  Changes to this file may cause incorrect behavior and will be lost if 
//  the code is regenerated. 
// </auto-generated> 
//------------------------------------------------------------------------------ 

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")] 
[System.ServiceModel.ServiceContractAttribute(Namespace="http://confluence.atlassian.com/rpc/soap-axis/confluenceservice-v1", ConfigurationName="ConfluenceSoapService")] 
public interface ConfluenceSoapService 
{ 
    // CODEGEN: Generating message contract since the wrapper namespace (http://soap.rpc.confluence.atlassian.com) of message getPermissionsRequest does not match the default value (http://confluence.atlassian.com/rpc/soap-axis/confluenceservice-v1) 
    [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")] 
    [System.ServiceModel.XmlSerializerFormatAttribute(Style=System.ServiceModel.OperationFormatStyle.Rpc, Use=System.ServiceModel.OperationFormatUse.Encoded)] 
    getPermissionsResponse getPermissions(getPermissionsRequest request); 

    // CODEGEN: Generating message contract since the wrapper namespace (http://soap.rpc.confluence.atlassian.com) of message searchRequest does not match the default value (http://confluence.atlassian.com/rpc/soap-axis/confluenceservice-v1) 
    [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")] 
    [System.ServiceModel.XmlSerializerFormatAttribute(Style=System.ServiceModel.OperationFormatStyle.Rpc, Use=System.ServiceModel.OperationFormatUse.Encoded)] 
    [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RemoteException))] 
    [System.ServiceModel.ServiceKnownTypeAttribute(typeof(Vector))] 
    [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RemotePermission))] 
    [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RemoteNodeStatus))] 
    [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RemotePageHistory))] 
    [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RemoteContentPermission))] 
    [System.ServiceModel.ServiceKnownTypeAttribute(typeof(AbstractRemotePageSummary))] 
    [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RemoteSpaceSummary))] 
    [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RemoteSearchResult))] 
    searchResponse search(searchRequest request); 

तो मैं आपकी ConfluenceSoapService.cs फ़ाइल जेनरेट करने के लिए कमांड लाइन से svcutil.exe का उपयोग करने का प्रयास करूंगा और फिर अपने संगम सेवा से बात करने के लिए इसका उपयोग करूंगा।

+1

+1। – Bernard

+0

हम्म ... यह svcutil.exe के साथ काम कर रहा प्रतीत होता है। यह वास्तव में अजीब है। हालांकि धन्यवाद। – StarKat99

+0

यदि आप विजुअल स्टूडियो स्टार्ट मेनू के अंतर्गत जाते हैं तो मेरे लिए भी काम किया है, वीएस कमांड प्रॉम्प्ट के लिए एक शॉर्टकट है जो svcutil को एक्सेस करने में आसान बनाता है, फिर: 'svcutil.exe http: // somedomain.com/someapi.wsdl' – AaronLS

0

बस जेरा 4.4 पर इस समस्या का सामना करना पड़ा, और यदि आप सेवा संदर्भ के बजाय पुराने वेब संदर्भ का उपयोग करते हैं तो यह काम करता है।

ऐसा करने के बारे में निर्देश के लिए देखें: Web Reference vs. Service Reference

यह मेरे लिए आसान समाधान थी, क्योंकि मैं जानता हूँ कि JIRA (दूर सोप से) बाकी ओर बढ़ रहा है और मैं बस जल्दी प्राप्त करने की कोशिश कर रहा हूँ और चल रहा है। Svcutil.exe का सुझाव देने के लिए

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