Показать сообщение отдельно
Старый 09.04.2019, 23:19   #1  
alicedr is offline
alicedr
Участник
 
173 / 43 (2) +++
Регистрация: 06.07.2012
Адрес: Канада
D365 custom web service, parsing recid
D365 v8.1 pu23
Есть ISV-решение и свой веб сервис для создания записей в своей таблице.
Сервис самый обычный, он благополучно мигроровал с версии 2012.
Через POSTMAN я посылаю запрос и все вроде бы работает, кроме двух полей, которые не парсятся и я не вижу, почему... Возможно, нужен свежий глаз, а возможно, я делаю что-то не так...

объявление в дата контракте:
X++:
 [DataMemberAttribute('LogisticsLocationId')]
    public LogisticsLocationId locationId(LogisticsLocationId _locationId = locationId)
    {
        locationId = _locationId;
        return locationId;
    }

    [DataMemberAttribute('LogisticsLocationRecId')]
    public LogisticsLocationRecId locationRecId(LogisticsLocationRecId _locationRecId = locationRecId)
    {
        locationRecId = _locationRecId;
        return locationRecId;
    }

    [DataMemberAttribute('LogisticsLocation')]
    public RecId location(RecId _location = location)
    {
        location = _location;
        return location;
    }
Вызов из postman (сокращенный):
X++:
{
	"dataContract":{
        
       "LogisticsLocationRecId":"22565421829", --logisticsPostalAddress.recId, cannot be parsed (?)
        "LogisticsLocation":5637144826, --logisticsPostalAddress.location, cannot be parsed (?)
        "LogisticsLocationId":"2", --works!

        "SalesId":"000935",  --to attach record in my table to a sales order
        "AmountCur":"22.00",
        "CurrencyCode": "USD"
	}
}
результат:
X++:
{
    "Message": "An exception occured when deserializing a parameters - Exception occured when parsing the request content - Invalid property identifier character: -. Path 'dataContract.LogisticsLocationRecId', line 18, position 48.",
    "ExceptionType": "XppServicesDeserializationException",
    "ActivityId": "3ebc8a5e-eeff-0003-3f92-bc3effeed401"
}