public Observable<ServiceResponse<QueryResults>> executeWithServiceResponseAsync(String appId, QueryBody body) {
        if (appId == null) {
            throw new IllegalArgumentException("Parameter appId is required and cannot be null.");
        }
        if (body == null) {
            throw new IllegalArgumentException("Parameter body is required and cannot be null.");
        }
        Validator.validate(body);
        return service.execute(appId, body, this.client.acceptLanguage(), this.client.userAgent())
            .flatMap(new Func1<Response<ResponseBody>, Observable<ServiceResponse<QueryResults>>>() {
                @Override
                public Observable<ServiceResponse<QueryResults>> call(Response<ResponseBody> response) {
                    try {
                        ServiceResponse<QueryResults> clientResponse = executeDelegate(response);
                        return Observable.just(clientResponse);
                    } catch (Throwable t) {
                        return Observable.error(t);
                    }
                }
            });
    }
public Observable < ServiceResponse < QueryResults > > executeWithServiceResponseAsync ( String appId , QueryBody body ) { if ( appId == null ) { throw new IllegalArgumentException ( "Parameter appId is required and cannot be null." ) ; } if ( body == null ) { throw new IllegalArgumentException ( "Parameter body is required and cannot be null." ) ; } Validator . validate ( body ) ; return service . execute ( appId , body , this . client . acceptLanguage ( ) , this . client . userAgent ( ) ) . flatMap ( new Func1 < Response < ResponseBody > , Observable < ServiceResponse < QueryResults > > > ( ) { @ Override public Observable < ServiceResponse < QueryResults > > call ( Response < ResponseBody > response ) { try { ServiceResponse < QueryResults > clientResponse = executeDelegate ( response ) ; return Observable . just ( clientResponse ) ; } catch ( Throwable t ) { return Observable . error ( t ) ; } } } ) ; }
Execute an Analytics query.
Executes an Analytics query for data. [Here](https://dev.applicationinsights.io/documentation/Using-the-API/Query) is an example for using POST with an Analytics query.

@param appId ID of the application. This is Application ID from the API Access settings blade in the Azure portal.
@param body The Analytics query. Learn more about the [Analytics query syntax](https://azure.microsoft.com/documentation/articles/app-insights-analytics-reference/)
@throws IllegalArgumentException thrown if parameters fail the validation
@return the observable to the QueryResults object