Показать сообщение отдельно
Старый 21.11.2016, 11:30   #1  
Pandasama is offline
Pandasama
Участник
 
459 / 138 (5) +++++
Регистрация: 11.08.2014
Адрес: Барнаул
Метод в Ax2012-вебсервисе с ключевым словом REF
Товарищи, возникла следующая проблема.
Есть веб-сервис, реализованный в Нав, и аналогичный ему реализуется мною в Аксапте 2012 R3.

Вот так сейчас выглядит метод сервиса, реализованного в NAV 2015, при добавлении в референсы в VisualStudio
Заголовок в НАВе такой:
Код:
Operation(inText : Text; VAR Reply : XMLport Reply)
- то есть у переменной PaymentExportReply явно помечено VAR - что она является "выходным параметром"
Код:
public void Operation (string inText, ref ConsoleApplication1.WS.Reply reply)
{
            ConsoleApplication1.WS.Operation inValue = new ConsoleApplication1.WS.Operation();
            inValue.Request = inText;
            inValue.Reply = reply;
            ConsoleApplication1.WS.Operation_Result retVal = ((ConsoleApplication1.WS.WS_Port)(this)).Operation(inValue);
            reply = retVal.Reply;
}
В аксапте аналогичный метод у меня реализован вот так:
X++:
[SysEntryPointAttribute(true)]
public void Operation(str _Request, Reply _Reply)
{
    ;
    _Reply= ImportClass::Operation(_Request, _Reply);
}
В реферансах Visual Studio это выглядит так:
Код:
public void Operation(string _Request, TestingImportWS.WebService.Reply _Reply) 
{
            TestingImportWS.WebService.OperationRequest inValue = new TestingImportWS.WebService.OperationRequest();
            inValue._Request = _Request;
            inValue._Reply = _Reply;
            TestingImportWS.WebService.OperationResponce retVal = ((TestingImportWS.WebService.WebService)(this)).Operation(inValue);
}
То есть в автоматически сгенерированном (при добавлении Web Service Reference) код в Visual Studio у Reply нет ключевого слова "ref" и нет присвоения в эту переменную нужных данных.

Каким образом надо оформить метод, выставленный в сервис, в Аксапте, чтобы получить этот "ref" ?