/// <summary>
 /// Handles the SOAP message.
 /// </summary>
 /// <param name="soapMessage">The SOAP message.</param>
 /// <param name="service">The SOAP service.</param>
 /// <param name="direction">The direction of message.</param>
 public override void HandleMessage(XmlDocument soapMessage, AdsClient service,
     SoapListener.Direction direction) {
   if (direction == Direction.IN) {
     RecordApiUnitCost(GetApiUnitsForCall(soapMessage), service);
   }
 }
    /// <summary>
    /// Calls the listeners.
    /// </summary>
    /// <param name="direction">The direction of SOAP message.</param>
    private void CallListeners(SoapListener.Direction direction) {
      XmlDocument document = SerializationUtilities.LoadXml(Encoding.UTF8.GetString(
          newStream.ToArray()));

      AdsClient service = (AdsClient) ContextStore.GetValue("SoapService");
      if (service != null) {
        service.User.CallListeners(document, service, direction);
      }
      byte[] bytes = Encoding.UTF8.GetBytes(document.OuterXml);
      newStream.SetLength(0);
      newStream.Write(bytes, 0, bytes.Length);
      newStream.Seek(0, SeekOrigin.Begin);
    }
Exemple #3
0
 /// <summary>
 /// Calls the SOAP listeners.
 /// </summary>
 /// <param name="document">The SOAP message as an xml document.</param>
 /// <param name="service">The service for which call is being made.</param>
 /// <param name="direction">The direction of SOAP message.</param>
 internal void CallListeners(XmlDocument document, AdsClient service,
     SoapListener.Direction direction) {
   foreach (SoapListener listener in listeners) {
     listener.HandleMessage(document, service, direction);
   }
 }