Товарищи, возникла следующая проблема.
Есть веб-сервис, реализованный в Нав, и аналогичный ему реализуется мною в Аксапте 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" ?