Проблема решилась так.
Создаем SQL-функцию:
USE [dbName]
GO
/****** Object: UserDefinedFunction [dbo].[funcFullText] Script Date: 11/27/2014 1:12:11 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date, ,>
-- Description: <Description, ,>
-- =============================================
ALTER FUNCTION [dbo].[funcFullText]
(
-- Add the parameters for the function here
@query varchar (250), @ID varchar (45)
)
RETURNS BIT
AS
BEGIN
-- Declare the return variable here
DECLARE @Result BIT
DECLARE @SQL INT
select @SQL = count(*) from test_docs where Contains(xxtext,@query) and SYSROWID = @ID
IF @SQL > 0 SET @Result = 1 ELSE SET @Result = 0
-- Return the result of the function
RETURN @Result
END
Внутри функции отрабатывает SQL-запрос, содержащий Contains.
Далее формируем HQL-запрос и вызываем метод веб-сервиса:
hql = " from test_docs where dbo.funcFullText('" + txtSqlQuery.Text + "',SYSROWID) = true";
saWsPropertyValueArray[] result = archiveService.search(token, hql);