2017-08-21 1 views
0

können Sie mir dabei helfen? Ich versuche, eine Transaktion zu implementieren, um eine Bestellung als die, die Sie im Fahrzeug-Lifecycle-Netzwerk haben, aber es funktioniert nicht. Ich kann die Bestellung abschicken; Wenn ich jedoch versuche, den Status zu aktualisieren, erhalte ich die Fehlermeldung, dass die Bestellung nicht Teil der Sammlungs-ID ist. Es funktioniert jedoch, wenn ich es mit dem Asset-Hinzufügen-Prozess erstellen kann. Das Gleiche passiert beim Testen des Fahrzeug-Lebenszyklus-Netzwerks im Online-Spielplatz. Bitte beraten.PlaceOrder Transactions

+1

Veröffentlichen Sie ein Beispiel des Codes, den Sie bisher geschrieben haben. – TrevorBrooks

Antwort

0

Ich vermute, dass Sie versuchen, zu einer Registrierung aufzulösen, die nicht existiert - oder ist eigentlich eine abstrakte Definition.

z.

Sowohl das Asset Fahrzeug und die PrivateVehicleTransfer Transaktion akzeptieren Beziehungen zu den abstrakten Teilnehmer composer.base.Person:

asset Vehicle identified by vin { 
    o String vin 
    o VehicleDetails vehicleDetails 
    o VehicleStatus vehicleStatus 
    --> Person owner optional 
    o String numberPlate optional 
    o String suspiciousMessage optional 
    o VehicleTransferLogEntry[] logEntries optional 
} 

transaction PrivateVehicleTransfer extends VehicleTransaction { 
    --> Person seller 
    --> Person buyer 
    o String specialNotes optional 
} 

Die Fehlermeldung bedeutet, dass wir (in diesem Fall) sind versucht zu suchen der Komponist .base.Person Teilnehmer Registrierung - aber es existiert nicht: Fehler: Objekt mit ID 'Teilnehmer: composer.base.Person' in Sammlung mit ID '$ sysregistries' existiert nicht

Diese Teilnehmer Registrierung existiert nicht, weil Wir erstellen keine Registries für abstrakte Typen.

Wir für diesen Registrierungs suchen, weil die Fahrzeuge ursprünglich vollständig qualifizierte Beziehungen enthalten geliefert, aber sie enthalten nicht die richtige Art:

{ 
"$class": "org.vda.Vehicle", 
"vin": "1234", 
"vehicleDetails": { 
"$class": "org.vda.VehicleDetails", 
"make": "Ford", 
"modelType": "Ka", 
"colour": "Red", 
"vin": "1234", 
"bodyType": "Hatchback", 
"taxationClass": "PETROL_CAR", 
"co2": 89, 
"typeOfFuel": "Petrol", 
"numberOfSeats": 5 
}, 
"vehicleStatus": "ACTIVE", 
"owner": "resource:composer.base.Person#[email protected]", <-- this is the problem 
"numberPlate": "AA12 AAA" 
}, 

etc

Die Beziehungen in dem Eigentümerfeld enthalten müssen der richtige Typ, z. B. ein Teilnehmer, der sich von der abstrakten "Person" aus erstreckt - zum Beispiel PrivateOwner unten wäre die korrekte Beziehung:

"owner": "resource:org.acme.vehicle.lifecycle.PrivateOwner#[email protected]" 
Verwandte Themen