javascript调用Exchange webservice的例子

发布于 2022-09-03 16:58:02 字数 44738 浏览 11 评论 0

  1. var _xmlHttp;
  2. var _url = 'http://mail.pudong.sh/ews/exchange.asmx';
  3. var _domain = 'pudong.sh';
  4. function FindFolder() {
  5.     var data = '<?xml version="1.0" encoding="utf-8"?>' +
  6.                 '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"' +
  7.                 ' xmlns:t="http://www.blog.com.cn/http://schemas.microsoft.com/exchange/services/2006/types">' +
  8.                 '<soap:Body>' +
  9.                     '<FindFolder Traversal="http://www.blog.com.cn/Shallow" xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">' +
  10.                         '<FolderShape>' +
  11.                             '<t:BaseShape>Default</t:BaseShape>' +
  12.                         '</FolderShape>' +
  13.                         '<ParentFolderIds>' +
  14.                             '<t:DistinguishedFolderId Id="http://www.blog.com.cn/inbox"/>' +
  15.                         '</ParentFolderIds>' +
  16.                     '</FindFolder>' +
  17.                 '</soap:Body>' +
  18.                 '</soap:Envelope>';
  19.      data = '<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:t="http://www.blog.com.cn/http://schemas.microsoft.com/exchange/services/2006/types"><soap:Body><FindItem xmlns="http://www.blog.com.cn/http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://www.blog.com.cn/http://schemas.microsoft.com/exchange/services/2006/types" Traversal="http://www.blog.com.cn/Shallow"><ItemShape><t:BaseShape>IdOnly</t:BaseShape></ItemShape><ParentFolderIds><t:DistinguishedFolderId Id="inbox"/></ParentFolderIds></FindItem></soap:Body></soap:Envelope>';
  20.     //GetItem
  21.     data = '<?xml version="1.0" encoding="utf-8"?>' +
  22.             '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"' +
  23.               ' xmlns:t="http://www.blog.com.cn/http://schemas.microsoft.com/exchange/services/2006/types">' +
  24.               '<soap:Body>' +
  25.                 '<GetItem xmlns="http://www.blog.com.cn/http://schemas.microsoft.com/exchange/services/2006/messages">' +
  26.                   '<ItemShape>' +
  27.                        '<t:BaseShape>IdOnly</t:BaseShape>' +
  28.                        '<t:BodyType>Text</t:BodyType>' +
  29.                     '<t:AdditionalProperties>' +
  30.                       '<t:FieldURI FieldURI="item:Subject"/>' +
  31.                       '<t:FieldURI FieldURI="item:ItemClass"/>' +
  32.                       '<t:FieldURI FieldURI="item:Body"/>' +
  33.                       '<t:FieldURI FieldURI="message:IsRead"/>' +
  34.                       '<t:FieldURI FieldURI="message:From"/>' +
  35.                       '<t:FieldURI FieldURI="message:Sender"/>' +
  36.                       '<t:FieldURI FieldURI="message:ToRecipients"/>' +                     
  37.                       '<t:FieldURI FieldURI="message:CcRecipients"/>' +  
  38.                       '<t:FieldURI FieldURI="message:BccRecipients"/>' +  
  39.                       '<t:FieldURI FieldURI="item:DisplayTo"/>' +  
  40.                       '<t:FieldURI FieldURI="item:DisplayCc"/>' +
  41.                       '<t:FieldURI FieldURI="item:Sensitivity"/>' +
  42.                       '<t:FieldURI FieldURI="item:HasAttachments"/>' +
  43.                     '</t:AdditionalProperties>' +
  44.                   '</ItemShape>' +
  45.                   '<ItemIds>' +
  46.                     '<t:ItemId Id="AAARAFRlc3RVc2VyMUBjcXl6LmNuAEYAAAAAAP02m1BjK+xJlfIqJWHBljYHAF5xhsS7E7tPveylhGgRgngAAACwR90AAF5xhsS7E7tPveylhGgRgngAAACwTjEAAA==" ChangeKey="CQAAABYAAABecYbEuxO7T73spYRoEYJ4AAAAsFR3"/>' +
  47.                   '</ItemIds>' +
  48.                 '</GetItem>' +
  49.               '</soap:Body>' +
  50.             '</soap:Envelope>';
  51.      _xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  52.      _xmlHttp.open("POST", _url, false, _domain + """testuser1", "App1234");
  53.      _xmlHttp.onreadystatechange = fnCompleted;
  54.      _xmlHttp.setRequestHeader("Content-Type","text/xml");
  55.      _xmlHttp.setRequestHeader("SOAPAction","http://schemas.microsoft.com/exchange/services/2006/messages/GetItem");
  56.      _xmlHttp.send(data);
  57. }
  58. function fnCompleted() {
  59.     if (_xmlHttp.readyState == "4") {
  60.         if (_xmlHttp.status == "200") {
  61.             var content = _xmlHttp.responseText;
  62.             //alert(content);
  63.             document.getElementById('txtx').innerText = content;
  64.         } else {
  65.          alert('status:' + _xmlHttp.status + ';responseText:' + _xmlHttp.responseText);
  66.      }
  67.     }
  68. }
  69. function FindCalendar() {
  70.     var data = '<?xml version="1.0" encoding="utf-8"?>' +
  71.             '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"' +
  72.               ' xmlns:t="http://www.blog.com.cn/http://schemas.microsoft.com/exchange/services/2006/types">' +
  73.               '<soap:Body>' +
  74.                 '<FindItem xmlns="http://www.blog.com.cn/http://schemas.microsoft.com/exchange/services/2006/messages">' +
  75.                   '<ItemShape>' +
  76.                        '<t:BaseShape>IdOnly</t:BaseShape>' +
  77.                        '<t:BodyType>Text</t:BodyType>' +
  78.                     '<t:AdditionalProperties>' +
  79.                       '<t:FieldURI FieldURI="item:Subject"/>' +
  80.                       '<t:FieldURI FieldURI="item:ItemClass"/>' +
  81.                       '<t:FieldURI FieldURI="item:Body"/>' +
  82.                       '<t:FieldURI FieldURI="message:IsRead"/>' +
  83.                       '<t:FieldURI FieldURI="message:From"/>' +
  84.                       '<t:FieldURI FieldURI="message:Sender"/>' +
  85.                       '<t:FieldURI FieldURI="message:ToRecipients"/>' +                     
  86.                       '<t:FieldURI FieldURI="message:CcRecipients"/>' +  
  87.                       '<t:FieldURI FieldURI="message:BccRecipients"/>' +  
  88.                       '<t:FieldURI FieldURI="item:DisplayTo"/>' +  
  89.                       '<t:FieldURI FieldURI="item:DisplayCc"/>' +
  90.                       '<t:FieldURI FieldURI="item:Sensitivity"/>' +
  91.                       '<t:FieldURI FieldURI="item:HasAttachments"/>' +
  92.                         
  93.                     '</t:AdditionalProperties>' +
  94.                   '</ItemShape>' +
  95.                   '<ItemIds>' +
  96.                     '<t:ItemId Id="AAARAFRlc3RVc2VyMUBjcXl6LmNuAEYAAAAAAP02m1BjK+xJlfIqJWHBljYHAF5xhsS7E7tPveylhGgRgngAAACwR90AAF5xhsS7E7tPveylhGgRgngAAACwTjEAAA==" ChangeKey="CQAAABYAAABecYbEuxO7T73spYRoEYJ4AAAAsFR3"/>' +
  97.                   '</ItemIds>' +
  98.                 '</FindItem>' +
  99.               '</soap:Body>' +
  100.             '</soap:Envelope>';
  101.             
  102.             data = '<?xml version="1.0" encoding="utf-8"?>' +
  103.             '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" ' +
  104.                            'xmlns:t="http://www.blog.com.cn/http://schemas.microsoft.com/exchange/services/2006/types">' +
  105.               '<soap:Body>' +
  106.                 '<FindItem xmlns="http://www.blog.com.cn/http://schemas.microsoft.com/exchange/services/2006/messages" ' +
  107.                            'xmlns:t="http://www.blog.com.cn/http://schemas.microsoft.com/exchange/services/2006/types" ' +
  108.                           'Traversal="http://www.blog.com.cn/Shallow">' +
  109.                            
  110.                   '<ItemShape>' +
  111.                     '<t:BaseShape>IdOnly</t:BaseShape>' +
  112.                     '<t:BodyType>Text</t:BodyType>' +
  113.                     '<t:AdditionalProperties>' +
  114.                         '<t:FieldURI FieldURI="item:ItemClass"/>' +
  115.                         '<t:FieldURI FieldURI="item:Subject"/>' +
  116.                         '<t:FieldURI FieldURI="item:Categories"/>' +                        
  117.                         
  118.                         
  119.                         '<t:FieldURI FieldURI="calendar:Start"/>' +
  120.                         '<t:FieldURI FieldURI="calendar:End"/>' +
  121.                         //'<t:FieldURI FieldURI="calendar:Location"/>' +
  122.                         //'<t:FieldURI FieldURI="calendar:NetShowUrl"/>' +
  123.                         
  124.                         //'<t:FieldURI FieldURI="calendar:OriginalStart"/>' +
  125.                         '<t:FieldURI FieldURI="calendar:IsAllDayEvent"/>' +
  126.                         '<t:FieldURI FieldURI="calendar:LegacyFreeBusyStatus"/>' +
  127.                         '<t:FieldURI FieldURI="calendar:Location"/>' +
  128.                         '<t:FieldURI FieldURI="calendar:When"/>' +
  129.                         '<t:FieldURI FieldURI="calendar:IsMeeting"/>' +
  130.                         //'<t:FieldURI FieldURI="calendar:IsCancelled"/>' +
  131.                         '<t:FieldURI FieldURI="calendar:IsRecurring"/>' +
  132.                         '<t:FieldURI FieldURI="calendar:MeetingRequestWasSent"/>' +
  133.                         '<t:FieldURI FieldURI="calendar:IsResponseRequested"/>' +
  134.                         '<t:FieldURI FieldURI="calendar:CalendarItemType"/>' +
  135.                         '<t:FieldURI FieldURI="calendar:MyResponseType"/>' +
  136.                         '<t:FieldURI FieldURI="calendar:Organizer"/>' +
  137.                         //'<t:FieldURI FieldURI="calendar:RequiredAttendees"/>' +
  138.                         //'<t:FieldURI FieldURI="calendar:OptionalAttendees"/>' +
  139.                         //'<t:FieldURI FieldURI="calendar:Resources"/>' +
  140.                         //'<t:FieldURI FieldURI="calendar:ConflictingMeetingCount"/>' +
  141.                         //'<t:FieldURI FieldURI="calendar:AdjacentMeetingCount"/>' +
  142.                         //'<t:FieldURI FieldURI="calendar:ConflictingMeetings"/>' +
  143.                         //'<t:FieldURI FieldURI="calendar:AdjacentMeetings"/>' +
  144.                         '<t:FieldURI FieldURI="calendar:Duration"/>' +
  145.                         '<t:FieldURI FieldURI="calendar:TimeZone"/>' +
  146.                         '<t:FieldURI FieldURI="calendar:AppointmentReplyTime"/>' +
  147.                         '<t:FieldURI FieldURI="calendar:AppointmentSequenceNumber"/>' +
  148.                         '<t:FieldURI FieldURI="calendar:AppointmentState"/>' +
  149.                         //'<t:FieldURI FieldURI="calendar:Recurrence"/>' +
  150.                         //'<t:FieldURI FieldURI="calendar:FirstOccurrence"/>' +
  151.                         //'<t:FieldURI FieldURI="calendar:LastOccurrence"/>' +
  152.                         //'<t:FieldURI FieldURI="calendar:ModifiedOccurrences"/>' +
  153.                         //'<t:FieldURI FieldURI="calendar:DeletedOccurrences"/>' +
  154.                         //'<t:FieldURI FieldURI="calendar:MeetingTimeZone"/>' +
  155.                         '<t:FieldURI FieldURI="calendar:ConferenceType"/>' +
  156.                         '<t:FieldURI FieldURI="calendar:AllowNewTimeProposal"/>' +
  157.                         '<t:FieldURI FieldURI="calendar:IsOnlineMeeting"/>' +
  158.                         '<t:FieldURI FieldURI="calendar:MeetingWorkspaceUrl"/>' +
  159.                         '<t:FieldURI FieldURI="calendar:NetShowUrl"/>' +
  160.                         
  161.                     '</t:AdditionalProperties>' +
  162.                   '</ItemShape>' +
  163.                   
  164.                   //'<Restriction>' +
  165.                       //'<Or xmlns="http://schemas.microsoft.com/exchange/services/2006/types"> ' +
  166.                         /*'<IsEqualTo>' +
  167.                           '<FieldURI FieldURI="http://www.blog.com.cn/item:DateTimeCreated"/>' +
  168.                           '<FieldURIOrConstant>' +
  169.                             '<FieldURI FieldURI="item:DateTimeReceived"/>' +
  170.                           '</FieldURIOrConstant>' +
  171.                         '</IsEqualTo>' +*/
  172.                         /*'<IsEqualTo>' +
  173.                           '<FieldURI FieldURI="item:Subject"/>' +
  174.                           '<FieldURIOrConstant>' +
  175.                             '<Constant Value="eee"/>' +
  176.                           '</FieldURIOrConstant>' +
  177.                         '</IsEqualTo>' +
  178.                       '</Or>' +*/
  179.                       /*'<SearchExpression>' +
  180.                         '<IsEqualTo>' +
  181.                           '<FieldURI FieldURI="item:Subject"/>' +
  182.                           '<FieldURIOrConstant>' +
  183.                             '<Constant Value="eee"/>' +
  184.                           '</FieldURIOrConstant>' +
  185.                         '</IsEqualTo>' +
  186.                       '</SearchExpression>' +
  187.                     '</Restriction>' +*/
  188.                     
  189.                     '<Restriction>' +
  190.                     
  191.                     //'    <ns5:Contains ContainmentComparison="IgnoreCase" ContainmentMode="FullString" ' +
  192.                     //'                     xmlns:ns5="http://schemas.microsoft.com/exchange/services/2006/types">' +
  193.                     //'          <ns5:FieldURI FieldURI="http://www.blog.com.cn/item:Subject"/>' +
  194.                     //'          <ns5:Constant Value="eee" />' +
  195.                     //'    </ns5:Contains>' +
  196.                     
  197.                     //'    <ns:IsEqualTo xmlns:ns="http://schemas.microsoft.com/exchange/services/2006/types">' +
  198.                     //'          <ns:FieldURI FieldURI="http://www.blog.com.cn/calendar:Start"/>' +
  199.                     //'          <ns:FieldURIOrConstant>' +
  200.                     //'               <ns:Constant Value="2007-11-26T04:30:00Z" />' +
  201.                     //'          </ns:FieldURIOrConstant>' +
  202.                     //'    </ns:IsEqualTo>' +
  203.                     
  204.                     //'    <IsEqualTo xmlns="http://schemas.microsoft.com/exchange/services/2006/types">' +
  205.                     //'          <FieldURI FieldURI="http://www.blog.com.cn/calendar:Start"/>' +
  206.                     //'          <FieldURIOrConstant>' +
  207.                     //'               <Constant Value="2007-11-26T04:30:00Z" />' +
  208.                     //'          </FieldURIOrConstant>' +
  209.                     //'    </IsEqualTo>' +
  210.                     
  211.                     //查询两个时间段的日程
  212.                     '<And xmlns="http://schemas.microsoft.com/exchange/services/2006/types"> ' +
  213.                     
  214.                     //'    <ns1:IsGreaterThanOrEqualTo xmlns:ns1="http://www.blog.com.cn/http://schemas.microsoft.com/exchange/services/2006/types">' +
  215.                     //'          <ns1:FieldURI FieldURI="http://www.blog.com.cn/calendar:Start"/>' +
  216.                     //'          <ns1:FieldURIOrConstant>' +
  217.                     //'               <ns1:Constant Value="2006-11-27T02:00:03Z" />' +
  218.                     //'          </ns1:FieldURIOrConstant>' +
  219.                     //'    </ns1:IsGreaterThanOrEqualTo>' +
  220.                     
  221.                     '    <IsGreaterThanOrEqualTo>' +
  222.                     '          <FieldURI FieldURI="calendar:Start"/>' +
  223.                     '          <FieldURIOrConstant>' +
  224.                     '               <Constant Value="2007-11-26T04:30:00Z" />' +
  225.                     '          </FieldURIOrConstant>' +
  226.                     '    </IsGreaterThanOrEqualTo>' +
  227.                     
  228.                     '    <IsLessThanOrEqualTo>' +
  229.                     '          <FieldURI FieldURI="calendar:End"/>' +
  230.                     '          <FieldURIOrConstant>' +
  231.                     '               <Constant Value="2007-11-27T03:00:00Z" />' +
  232.                     '          </FieldURIOrConstant>' +
  233.                     '    </IsLessThanOrEqualTo>' +
  234.                     '</And>' +
  235.                     '</Restriction>' +                    
  236.                     
  237.                   '<ParentFolderIds>' +
  238.                     '<t:DistinguishedFolderId Id="calendar"/>' +
  239.                   '</ParentFolderIds>' +
  240.                 '</FindItem>' +
  241.               '</soap:Body>' +
  242.             '</soap:Envelope>';
  243.             
  244.             //document.getElementById('txtx').innerText = data;
  245.             //return;
  246.      _xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  247.      _xmlHttp.open("POST", _url, false, _domain + """testuser1", "App1234");
  248.      _xmlHttp.onreadystatechange = fnCalendarCompleted;
  249.      _xmlHttp.setRequestHeader("Content-Type","text/xml");
  250.      _xmlHttp.send(data);
  251. }
  252. function fnCalendarCompleted() {
  253.     if (_xmlHttp.readyState == "4") {
  254.         if (_xmlHttp.status == "200") {
  255.             var content = _xmlHttp.responseText;
  256.             alert(content);
  257.             document.getElementById('txtx').innerText = content;
  258.         } else {
  259.          alert('status:' + _xmlHttp.status + ';responseText:' + _xmlHttp.responseText);
  260.      }
  261.     }
  262. }
  263. //http://192.168.14.101/owa/?ae=PreFormAction&a=Open&t=IPM.Appointment
  264. //&id=RgAAAAD9NptQYyvsSZXyKiVhwZY2BwBecYbEuxO7T73spYRoEYJ4AAAAsCdRAABecYbEuxO7T73spYRoEYJ4AAAAsEwvAAAP
  265. //<t:ItemId Id="AAARAFRlc3RVc2VyMUBjcXl6LmNuAEYAAAAAAP02m1BjK+xJlfIqJWHBljYHAF5xhsS7E7tPveylhGgRgngAAACwJ1EAAF5xhsS7E7tPveylhGgRgngAAACwTC8AAA=="
  266. //ChangeKey="DwAAABYAAABecYbEuxO7T73spYRoEYJ4AAAAsFSm"
  267. function GetUnReadMail() {
  268. data = '<?xml version="1.0" encoding="utf-8"?>' +
  269.             '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" ' +
  270.                            'xmlns:t="http://www.blog.com.cn/http://schemas.microsoft.com/exchange/services/2006/types">' +
  271.               '<soap:Body>' +
  272.                 //'<FindItem xmlns="http://www.blog.com.cn/http://schemas.microsoft.com/exchange/services/2006/messages" ' +
  273.                 //           'xmlns:t="http://www.blog.com.cn/http://schemas.microsoft.com/exchange/services/2006/types" ' +
  274.                 //          'Traversal="http://www.blog.com.cn/Shallow">' +
  275.                
  276.                 '<FindItem xmlns="http://schemas.microsoft.com/exchange/services/2006/messages" ' +
  277.                           'Traversal="http://www.blog.com.cn/Shallow">' +
  278.                            
  279.                   '<ItemShape>' +
  280.                     '<t:BaseShape>IdOnly</t:BaseShape>' +
  281.                     '<t:BodyType>Text</t:BodyType>' +
  282.                     '<t:AdditionalProperties>' +
  283.                         '<t:FieldURI FieldURI="item:ItemClass"/>' +
  284.                         '<t:FieldURI FieldURI="item:Subject"/>' +
  285.                         '<t:FieldURI FieldURI="item:Categories"/>' +
  286.                         '<t:FieldURI FieldURI="message:IsRead"/>' +
  287.                         '<t:FieldURI FieldURI="item:DateTimeReceived"/>' +
  288.                     '</t:AdditionalProperties>' +
  289.                   '</ItemShape>' +
  290.                     
  291.                     /*'<Restriction>' +
  292.                     '    <IsEqualTo xmlns="http://schemas.microsoft.com/exchange/services/2006/types">' +
  293.                     '          <FieldURI FieldURI="http://www.blog.com.cn/message:IsRead"/>' +
  294.                     '          <FieldURIOrConstant>' +
  295.                     '               <Constant Value="0" />' +
  296.                     '          </FieldURIOrConstant>' +
  297.                     '    </IsEqualTo>' +
  298.                     '</Restriction>' +*/
  299.                     
  300.                     '<Restriction>' +
  301.                     '    <t:IsEqualTo>' +
  302.                     '     

复制代码

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文