microsoft.sharepoint.soapserver.soapserverexceptionをキャッチする方法は?

StackOverflow https://stackoverflow.com/questions/2960330

  •  23-10-2019
  •  | 
  •  

質問

特定のエラータイプのmicrosoft.sharepoint.soapserver.soapserverexceptionをキャッチする方法について少し困惑しています。理由を説明します。

ご存知のように、モスと対話する方法は2つあります。

  1. オブジェクトモデル(mossサーバーでのみ実行されます)
  2. Webサービス(Mossサーバーをクエリするリモートマシンで実行できます)

コードサンプルによると、私はMOSSをクエリするためにWebサービスを使用しています。このため、これらのWebサービスを実行しているリモートサーバーにSharePointがインストールされておらず、MOSがSharePoint DLLを参照して特定のエラータイプを取得することは不可能であることがあります。 :Microsoft.SharePoint.Soapserver.Soapserverexception。

DLLを参照できない場合、この特定のエラータイプをキャッチすることになっていますか?

System.Xml.XmlNode ndListView = wsLists.GetListAndView(ListName, "");
            string strListID = ndListView.ChildNodes[0].Attributes["Name"].Value;
            string strViewID = ndListView.ChildNodes[1].Attributes["Name"].Value;

            System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
            System.Xml.XmlElement batchElement = doc.CreateElement("Batch");
            batchElement.SetAttribute("OnError", "Continue");
            batchElement.SetAttribute("ListVersion", "1");
            batchElement.SetAttribute("ViewName", strViewID);

            batchElement.InnerXml = "<Method ID='1' Cmd='Update'>" +
            "<Field Name='DeliveryStatus'>" + newStatus.ToString() + "</Field>" +
            "<Where><Eq><FieldRef Name='ID' /><Value Type='Text'>" + id + "</Value></Eq></Where></Method>";

            try
            {
                wsLists.UpdateListItems(strListID, batchElement);
                return true;
            }
            catch (Microsoft.SharePoint.SoapServer.SoapServerException ex)
            {

            }
役に立ちましたか?

解決

その実際、system.web.services.protocols.soapexceptionです

他のヒント

参照: FaultExceptionの詳細を取得する方法は?

catch (FaultException fe)
    {
         MessageFault msgFault = fe.CreateMessageFault();
         XmlElement elm = msgFault.GetDetail<XmlElement>();
         var exceptionDetails = elm.InnerText;
    }
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top