You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@olingo.apache.org by "Senthamizh Chelvi Kaliyaperumal (JIRA)" <ji...@apache.org> on 2015/11/05 13:51:27 UTC

[jira] [Updated] (OLINGO-816) EntityProvider.readEntry throws "Illegal argument" in JSON Deep Insert in a custom JDBC implementation

     [ https://issues.apache.org/jira/browse/OLINGO-816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Senthamizh Chelvi Kaliyaperumal updated OLINGO-816:
---------------------------------------------------
    Priority: Blocker  (was: Major)

> EntityProvider.readEntry throws "Illegal argument" in JSON Deep Insert in a custom JDBC implementation
> ------------------------------------------------------------------------------------------------------
>
>                 Key: OLINGO-816
>                 URL: https://issues.apache.org/jira/browse/OLINGO-816
>             Project: Olingo
>          Issue Type: Bug
>          Components: odata2-core
>    Affects Versions: V2 2.0.5
>            Reporter: Senthamizh Chelvi Kaliyaperumal
>            Priority: Blocker
>             Fix For: V2 2.0.6
>
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> We are facing problem while trying to implement JSON deep insert, using custom back end logic for POST operation.
> The EdmProvider is defined properly with all the necessary entities along with associations, navigations etc. When we are trying to read ODataEntry from EntityProvider, we are getting an error message saying "Illegal argument for method call with message 'Address'." 
> ODataEntry entry = EntityProvider.readEntry(requestContentType, uriInfo.getStartEntitySet(), content, properties); This line fails and throws the error.
> 1) Metadata:
>     <?xml version='1.0' encoding='UTF-8'?>
>     <edmx:Edmx Version="1.0" xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx">
>       <edmx:DataServices m:DataServiceVersion="1.0" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
>         <Schema Namespace="org.apache.olingo.odata2.ODataCars" xmlns="http://schemas.microsoft.com/ado/2008/09/edm">
>           <EntityType Name="Car">
>             <Key>
>               <PropertyRef Name="Id"/>
>             </Key>
>             <Property Name="Id" Type="Edm.Int32" Nullable="false"/>
>             <Property Name="Model" Type="Edm.String" Nullable="false" DefaultValue="Hugo" MaxLength="100" m:FC_TargetPath="SyndicationTitle"/>
>             <Property Name="ManufacturerId" Type="Edm.Int32"/>
>             <Property Name="Price" Type="Edm.Decimal"/>
>             <Property Name="Currency" Type="Edm.String" MaxLength="3"/>
>             <Property Name="ModelYear" Type="Edm.String" MaxLength="4"/>
>             <Property Name="Updated" Type="Edm.DateTime" Nullable="false" ConcurrencyMode="Fixed" m:FC_TargetPath="SyndicationUpdated"/>
>             <Property Name="ImagePath" Type="Edm.String"/>
>             <NavigationProperty Name="Manufacturer" Relationship="org.apache.olingo.odata2.ODataCars.Car_Manufacturer_Manufacturer_Cars" FromRole="Car_Manufacturer" ToRole="Manufacturer_Cars"/>
>           </EntityType>
>           <EntityType Name="Manufacturer">
>             <Key>
>               <PropertyRef Name="Id"/>
>             </Key>
>             <Property Name="Id" Type="Edm.Int32" Nullable="false"/>
>             <Property Name="Name" Type="Edm.String" Nullable="false" MaxLength="100" m:FC_TargetPath="SyndicationTitle"/>
>             <Property Name="Updated" Type="Edm.DateTime" Nullable="false" ConcurrencyMode="Fixed" m:FC_TargetPath="SyndicationUpdated"/>
>             <NavigationProperty Name="Cars" Relationship="org.apache.olingo.odata2.ODataCars.Car_Manufacturer_Manufacturer_Cars" FromRole="Manufacturer_Cars" ToRole="Car_Manufacturer"/>
>           </EntityType>
>           <ComplexType Name="Address">
>             <Property Name="Street" Type="Edm.String"/>
>             <Property Name="City" Type="Edm.String"/>
>             <Property Name="ZipCode" Type="Edm.String"/>
>             <Property Name="Country" Type="Edm.String"/>
>           </ComplexType>
>           <Association Name="Car_Manufacturer_Manufacturer_Cars">
>             <End Type="org.apache.olingo.odata2.ODataCars.Car" Multiplicity="*" Role="Car_Manufacturer"/>
>             <End Type="org.apache.olingo.odata2.ODataCars.Manufacturer" Multiplicity="1" Role="Manufacturer_Cars"/>
>           </Association>
>           <EntityContainer Name="ODataCarsEntityContainer" m:IsDefaultEntityContainer="true">
>             <EntitySet Name="Cars" EntityType="org.apache.olingo.odata2.ODataCars.Car"/>
>             <EntitySet Name="Manufacturers" EntityType="org.apache.olingo.odata2.ODataCars.Manufacturer"/>
>             <AssociationSet Name="Cars_Manufacturers" Association="org.apache.olingo.odata2.ODataCars.Car_Manufacturer_Manufacturer_Cars">
>               <End EntitySet="Manufacturers" Role="Manufacturer_Cars"/>
>               <End EntitySet="Cars" Role="Car_Manufacturer"/>
>             </AssociationSet>
>           </EntityContainer>
>         </Schema>
>       </edmx:DataServices>
>     </edmx:Edmx>
> 2) Sample Request Payload used in POST:
> {
>     "Id": 1,
>     "Name": "Star Powered Racing",
>     "Address": {
>         "Street": "Star Street 137",
>         "City": "Stuttgart",
>         "ZipCode": "70173",
>         "Country": "Germany"
>     },
>     "Cars" : [
>         {
>             "Id": 1,
>             "Model": "F1 W03",
>             "ManufacturerId": 1,
>             "Price": "189189.43",
>             "Currency": "EUR",
>             "ModelYear": "2012",
>             "Updated": "/Date(1355224271271)/",
>             "ImagePath": "file://imagePath/w03"
>         }
>     ]
> }
> 3) Error Message:
> url: http://localhost:8080/my-car-service/CarService.svc/Manufacturers, POST
> {
>   "error": {
>     "code": "Error Code: 400",
>     "message": {
>       "lang": "en",
>       "value": "Illegal argument for method call with message 'Address'."
>     }
>   }
> }
> Could you please help?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)