मैं एक्सचेंज वेब सेवाओं का उपयोग कर GetRoomLists को कॉल कर रहा हूं, हम एक्सचेंज 2010 चला रहे हैं। नीचे दिए गए कोड को कंसोल एप्लिकेशन के माध्यम से निष्पादित किया जा रहा है। कॉल "कोई त्रुटि नहीं" की XML प्रतिक्रिया के अनुसार सफल होता है, लेकिन कोई डेटा वापस नहीं किया जाता है। जब आप Outlook नियुक्ति के माध्यम से एक को जोड़ने का प्रयास करते हैं तो हमारे पास कई सौ कमरे सूचीबद्ध होते हैं, इसलिए यह सुनिश्चित न करें कि ऐसा क्यों होगा।GetRoomLists सफल हो जाते हैं लेकिन कोई डेटा नहीं
मैंने डिफ़ॉल्ट क्रेडेंशियल्स का उपयोग करके या क्रेडेंशियल्स में गुजरने के लिए ईडब्ल्यूएस डीएलएल संस्करण 1.2 और 2.0 दोनों का उपयोग करने का प्रयास किया है। मैंने मूल रूप से यह पोस्ट करने के बाद देखा कि प्रतिक्रिया हेडर का कहना है कि हम एक्सचेंज 2012 एसपी 2 का उपयोग कर रहे हैं, इसलिए मैंने एक्सचेंजवर्सन एनम वैल्यू का उपयोग करने के लिए अपना कोड अपडेट करने का प्रयास किया, लेकिन परिणाम में कोई बदलाव नहीं आया।
मैंने मेलबॉक्स पढ़ने के लिए इस एक्सचेंज सर्वर पर सफलतापूर्वक ईडब्ल्यूएस का उपयोग किया है, लेकिन पहले कभी भी कमरे नहीं।
सी #
ExchangeService es = new ExchangeService(ExchangeVersion.Exchange2010);
es.TraceFlags = TraceFlags.EwsResponse | TraceFlags.EwsRequest;
es.TraceEnabled = true;
es.UseDefaultCredentials = true;
es.AutodiscoverUrl("[email protected]");
//this collection is empty after processing
EmailAddressCollection eac = es.GetRoomLists();
वेब सेवा अनुरोध से एक्सएमएल ट्रेस/प्रतिसाद
<Trace Tag="EwsRequest" Tid="9" Time="2013-03-13 20:39:41Z" Version="14.03.0032.000">
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<t:RequestServerVersion Version="Exchange2010" />
</soap:Header>
<soap:Body>
<m:GetRoomLists />
</soap:Body>
</soap:Envelope>
</Trace>
<Trace Tag="EwsResponse" Tid="9" Time="2013-03-13 20:39:41Z" Version="14.03.0032.000">
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:ServerVersionInfo MajorVersion="14" MinorVersion="2" MajorBuildNumber="328" MinorBuildNumber="9" Version="Exchange2010_SP2" xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<GetRoomListsResponse ResponseClass="Success" xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<ResponseCode>NoError</ResponseCode>
<m:RoomLists xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" />
</GetRoomListsResponse>
</s:Body>
</s:Envelope>
</Trace>
MSDN GetRoomLists पर प्रलेखन: http://msdn.microsoft.com/en-us/library/dd899416(v=exchg.140).aspx
आप अलग अलग खातों का उपयोग करने की कोशिश की? शायद कॉलिंग पहचान में किसी भी कमरे की सूची देखने की अनुमति नहीं है? इस मामले में सर्वर केवल खाली सूची लौटाएगा, जैसा कि आपके ट्रेस में देखा गया है। http://msdn.microsoft.com/en-us/library/exchange/dd899416(v=exchg.140).aspx सर्वर पर कोई भी कमरा सूचियां न रखने के लिए सामान्य रूप से आपकी प्रतिक्रिया सूचीबद्ध करता है। –
@RomanGruber - वास्तव में एक कमरा सूची वास्तव में क्या है, इस बारे में कुछ और पढ़ने के बाद, मैं कमरे की सूची के बिना आउटलुक के बदले कमरों की सूची कैसे प्राप्त कर सकता हूं? – Peter