0

私が書いたカスタムヘッダーを持つ特定の電子メールの電子メールフォルダを照会したい。しかし、それは私が作成しているSOAPメッセージのようないくつかの問題がある、それは常に空の結果セットを返します。Xヘッダーでフォルダを照会するMS Exchange

私はフォルダにメールがあると確信しています。制限部分を削除した後に私が照会すると、私は照会結果の電子メールを見ることができます。私がThunderbirdと言うと私のアカウントに接続すれば、そこにヘッダがあるのがわかります。

これまでに少なくとも1週間は検索しましたが、唯一の結果はhttps://social.msdn.microsoft.com/Forums/exchange/en-US/8db4b750-d92f-489b-8282-d109d33314ff/using-finditem-request-to-find-the-items-with-given-header-valueで、結局は実装がうまくいくと言います。

読んでいただきありがとうございます。

QUERY

<?xml version="1.0"?> 
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"> 
    <soap:Header> 
    <t:RequestServerVersion Version="Exchange2010"/> 
    </soap:Header> 
    <soap:Body> 
    <FindItem xmlns="http://schemas.microsoft.com/exchange/services/2006/messages" Traversal="Shallow"> 
     <ItemShape> 
<t:BaseShape>Default</t:BaseShape> 
     </ItemShape> 
     <m:Restriction> 
<t:IsEqualTo> 
    <t:ExtendedFieldURI DistinguishedPropertySetId="InternetHeaders" PropertyName="X-My-Header" PropertyType="String"/> 
    <t:FieldURIOrConstant> 
    <t:Constant Value="44A2F930-5E24-4F18-BC82-EC6B3A02E893"/> 
    </t:FieldURIOrConstant> 
</t:IsEqualTo> 
     </m:Restriction> 
     <m:ParentFolderIds> 
<t:FolderId Id="AQMkADAwATM0MDAAMS1jMzg1LWZkMDMtMDACLTAwCgAuAAADlxvq+JrhgkiMcRwVFQDzo9MBANxoXUHEHORLhWKXuo92RaUAAAIBDwAAAA=="/> 
     </m:ParentFolderIds> 
    </FindItem> 
    </soap:Body> 
</soap:Envelope> 

応答

<?xml version="1.0" encoding="utf-8"?> 
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> 
    <s:Header> 
    <h:ServerVersionInfo xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" MajorVersion="15" MinorVersion="20" MajorBuildNumber="178" MinorBuildNumber="14" Version="V2017_07_11"/> 
    </s:Header> 
    <s:Body> 
    <m:FindItemResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"> 
<m:ResponseMessages> 
    <m:FindItemResponseMessage ResponseClass="Success"> 
    <m:ResponseCode>NoError</m:ResponseCode> 
    <m:RootFolder TotalItemsInView="0" IncludesLastItemInRange="true"> 
     <t:Items/> 
    </m:RootFolder> 
    </m:FindItemResponseMessage> 
</m:ResponseMessages> 
    </m:FindItemResponse> 
    </s:Body> 
</s:Envelope> 

その後、私は反応して、私のヘッダを取得し、私はまた、AllPropertiesのベース形状でサーバーを照会しようと私のヘッダがextendedfielduri年代に追加した場合。この後

QUERY

<?xml version="1.0"?> 
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"> 
    <soap:Header> 
    <t:RequestServerVersion Version="Exchange2010"/> 
    </soap:Header> 
    <soap:Body> 
    <GetItem xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"> 
     <ItemShape> 
<t:BaseShape>AllProperties</t:BaseShape> 
<t:AdditionalProperties> 
    <t:ExtendedFieldURI DistinguishedPropertySetId="InternetHeaders" PropertyName="X-My-Header" PropertyType="String"/> 
</t:AdditionalProperties> 
     </ItemShape> 
     <ItemIds> 
<t:ItemId Id="AQMkADAwATM0MDAAMS1jMzg1LWZkMDMtMDACLTAwCgBGAAADlxvq+JrhgkiMcRwVFQDzo9MHANxoXUHEHORLhWKXuo92RaUAAAIBDwAAANxoXUHEHORLhWKXuo92RaUAAS8MrxcAAAA="/> 
     </ItemIds> 
    </GetItem> 
    </soap:Body> 
</soap:Envelope> 

応答(一部)

<t:DateTimeReceived>2017-10-25T07:55:56Z</t:DateTimeReceived> 
<t:Size>11803</t:Size> 
<t:Importance>Normal</t:Importance> 
<t:IsSubmitted>false</t:IsSubmitted> 
<t:IsDraft>true</t:IsDraft> 
<t:IsFromMe>false</t:IsFromMe> 
<t:IsResend>false</t:IsResend> 
<t:IsUnmodified>false</t:IsUnmodified> 
<t:InternetMessageHeaders> 
    <t:InternetMessageHeader HeaderName="Subject">Test</t:InternetMessageHeader> 
    <t:InternetMessageHeader HeaderName="Mime-Version">1.0 (Mac OS X Mail 11.0 \(3445.1.7\))</t:InternetMessageHeader> 
    <t:InternetMessageHeader HeaderName="Content-Type">text/html</t:InternetMessageHeader> 
    <t:InternetMessageHeader HeaderName="X-Apple-Base-Url">x-msg://1/</t:InternetMessageHeader> 
    <t:InternetMessageHeader HeaderName="X-Universally-Unique-Identifier">44A2F930-5E24-4F18-BC82-EC6B3A02E893</t:InternetMessageHeader> 
    <t:InternetMessageHeader HeaderName="X-Apple-Mail-Remote-Attachments">YES</t:InternetMessageHeader> 
    <t:InternetMessageHeader HeaderName="X-Apple-Windows-Friendly">1</t:InternetMessageHeader> 
    <t:InternetMessageHeader HeaderName="Date">Wed, 25 Oct 2017 09:55:56 +0200</t:InternetMessageHeader> 
    <t:InternetMessageHeader HeaderName="X-My-Header">44A2F930-5E24-4F18-BC82-EC6B3A02E893</t:InternetMessageHeader> 
    <t:InternetMessageHeader HeaderName="Content-Transfer-Encoding">quoted-printable</t:InternetMessageHeader> 
    <t:InternetMessageHeader HeaderName="Message-Id">&lt;[email protected]&gt;</t:InternetMessageHeader> 
    <t:InternetMessageHeader HeaderName="X-Uniform-Type-Identifier">com.apple.mail-draft</t:InternetMessageHeader> 
</t:InternetMessageHeaders> 
<t:DateTimeSent>2017-10-25T07:55:56Z</t:DateTimeSent> 
<t:DateTimeCreated>2017-10-25T07:55:56Z</t:DateTimeCreated> 
<t:ResponseObjects> 
    <t:ForwardItem/> 

私も自分のクエリに同じパラメータを追加すると、仕事をしたりしませんかどうかを確認してみました。しかし、運がない。次のクエリは、最初のクエリとまったく同じ応答を返しました。私はちょうどあなたを示唆している

また

する必要があるだろう

<t:ExtendedFieldURI DistinguishedPropertySetId="InternetHeaders" PropertyName="X-My-Header" PropertyType="StringArray"/> 

あなたのコード内のように、すべてのインターネットヘッダーはプレーンな文字列でなければなりません

QUERY

<?xml version="1.0"?> 
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"> 
    <soap:Header> 
    <t:RequestServerVersion Version="Exchange2010"/> 
    </soap:Header> 
    <soap:Body> 
    <FindItem xmlns="http://schemas.microsoft.com/exchange/services/2006/messages" Traversal="Shallow"> 
     <ItemShape> 
<t:BaseShape>AllProperties</t:BaseShape> 
<t:AdditionalProperties> 
    <t:ExtendedFieldURI DistinguishedPropertySetId="InternetHeaders" PropertyName="X-My-Header" PropertyType="String"/> 
</t:AdditionalProperties> 
     </ItemShape> 
     <m:Restriction> 
<t:IsEqualTo> 
    <t:ExtendedFieldURI DistinguishedPropertySetId="InternetHeaders" PropertyName="X-My-Header" PropertyType="String"/> 
    <t:FieldURIOrConstant> 
    <t:Constant Value="44A2F930-5E24-4F18-BC82-EC6B3A02E893"/> 
    </t:FieldURIOrConstant> 
</t:IsEqualTo> 
     </m:Restriction> 
     <m:ParentFolderIds> 
<t:FolderId Id="AQMkADAwATM0MDAAMS1jMzg1LWZkMDMtMDACLTAwCgAuAAADlxvq+JrhgkiMcRwVFQDzo9MBANxoXUHEHORLhWKXuo92RaUAAAIBDwAAAA=="/> 
     </m:ParentFolderIds> 
    </FindItem> 
    </soap:Body> 
</soap:Envelope> 

答えて

1

EWSが実行されるかどうかを調べることから始めますあなたはあなたの財産は、アイテムでの返却後、制限が動作しません表示されない場合は、追加のプロパティなど

<?xml version="1.0"?> 
 
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"> 
 
    <soap:Header> 
 
    <t:RequestServerVersion Version="Exchange2010"/> 
 
    </soap:Header> 
 
    <soap:Body> 
 
    <FindItem xmlns="http://schemas.microsoft.com/exchange/services/2006/messages" Traversal="Shallow"> 
 
     <ItemShape> 
 
<t:BaseShape>Default</t:BaseShape> 
 
    <t:AdditionalProperties> 
 
      <t:ExtendedFieldURI DistinguishedPropertySetId="InternetHeaders" PropertyName="X-My-Header" PropertyType="String"/> 
 
      </t:AdditionalProperties> 
 
     </ItemShape> 
 
     <m:ParentFolderIds> 
 
<t:FolderId Id="AQMkADAwATM0MDAAMS1jMzg1LWZkMDMtMDACLTAwCgAuAAADlxvq+JrhgkiMcRwVFQDzo9MBANxoXUHEHORLhWKXuo92RaUAAAIBDwAAAA=="/> 
 
     </m:ParentFolderIds> 
 
    </FindItem> 
 
    </soap:Body> 
 
</soap:Envelope>

としてあなたのヘッダーを返します。一般的に、X-Headerでは、https://msdn.microsoft.com/en-us/library/office/dn596091(v=exchg.150).aspxをプロビジョニングする必要があります.MFCMapiやOutlookSpyなどのMapi Editorでアイテムを見るときは、別の拡張プロパティとして表示する必要があります。

+0

申し訳ありません申し訳ありませんが、私は試用版からコードをコピーしましたが、私はPropertyTypeに利用可能なすべてのオプションを試していましたが、運はありません。私は電子メール自体を照会するときに値が返されるかどうかをテストします。 – gkaykck

+0

質問をあなたの提案で更新しました。残念ながら、問題はまだそこにあります。 – gkaykck

+0

https://msdn.microsoft.com/en-us/library/office/dn596091(v=exchg.150).aspxを使用してヘッダーをプロビジョニングしましたか?そのヘッダーで受信した新しいメッセージを処理する必要があります(たとえば、ヘッダーが名前付きプロパティーにマップされ、メッセージの追加プロパティーとして使用可能になるなど) –

関連する問題