/**
   * @param request
   * @return
   * @throws SoapFault
   */
  public AddTopicResponseType addTopic(final AddTopicType request) throws SoapFault {
    final AddTopic envelope = new AddTopic();

    envelope.setAddTopic(request);

    final Element reqElement = JaxbSerializer.getInstance().objectToElement(envelope);

    final Element resElement = super.addTopic(reqElement);

    final AddTopicResponse response =
        (AddTopicResponse) JaxbSerializer.getInstance().elementToObject(resElement);

    return response.getAddTopicResponse();
  }
  /**
   * @param request
   * @return
   * @throws SoapFault
   */
  public PublishResponseType publish(final PublishType request) throws SoapFault {
    final Publish envelope = new Publish();

    envelope.setPublish(request);

    final Element reqElement = JaxbSerializer.getInstance().objectToElement(envelope);

    final Element resElement = super.publish(reqElement);

    final PublishResponse response =
        (PublishResponse) JaxbSerializer.getInstance().elementToObject(resElement);

    return response.getPublishResponse();
  }
  /**
   * @param request
   * @return
   * @throws SoapFault
   */
  public UnsubscribeResponseType unsubscribe(final UnsubscribeType request) throws SoapFault {
    final Unsubscribe envelope = new Unsubscribe();

    envelope.setUnsubscribe(request);

    final Element reqElement = JaxbSerializer.getInstance().objectToElement(envelope);

    final Element resElement = super.unsubscribe(reqElement);

    final UnsubscribeResponse response =
        (UnsubscribeResponse) JaxbSerializer.getInstance().elementToObject(resElement);

    return response.getUnsubscribeResponse();
  }
  /**
   * @param request
   * @return
   * @throws SoapFault
   */
  public GetTopicsResponseType getTopics(final GetTopicsType request) throws SoapFault {
    final GetTopics envelope = new GetTopics();

    envelope.setGetTopics(request);

    final Element reqElement = JaxbSerializer.getInstance().objectToElement(envelope);

    final Element resElement = super.getTopics(reqElement);

    final GetTopicsResponse response =
        (GetTopicsResponse) JaxbSerializer.getInstance().elementToObject(resElement);

    return response.getGetTopicsResponse();
  }