Opération SData (sdata)
(Page créée avec « [http://interop.sage.com/daisy/sdata/ServiceOperations.html Les opérations SData] peuvent être défini à trois niveaux dans le Contrat SData : ===Au niveau d'une classe "… ») |
(→Au niveau d'une entité en tant que méthode d'instance.) |
||
Ligne 51 : | Ligne 51 : | ||
lors de l'import de ce contrat la méthode sera ajouté en tant qu'opération de Service à l'entité correspondante. | lors de l'import de ce contrat la méthode sera ajouté en tant qu'opération de Service à l'entité correspondante. | ||
+ | |||
+ | L'appel de la méthode se fait ainsi : | ||
+ | |||
+ | <source lang="xml"> | ||
+ | <?xml version="1.0" encoding="utf-8"?> | ||
+ | <entry xmlns="http://www.w3.org/2005/Atom" | ||
+ | xmlns:sdata="http://schemas.sage.com/sdata/2008/1" | ||
+ | xmlns:http="http://schemas.sage.com/sdata/http/2008/1" | ||
+ | xmlns:ns3="http://www.sage.com/fr/line1000/ndfContract"> | ||
+ | <id>http://syfre/syfre/server/sdata/syfre/ndfContract/-/expense('11CD0000000001D20002000000360001')/$service/UpdateExpense</id> | ||
+ | <sdata:payload> | ||
+ | <ns3:expenseUpdateExpense> | ||
+ | <ns3:request> | ||
+ | ... | ||
+ | </ns3:request> | ||
+ | </ns3:expenseUpdateExpense> | ||
+ | </sdata:payload> | ||
+ | <http:ifMatch>11CD0000000001D20002000000360001-0000002400000001</http:ifMatch> | ||
+ | </entry> | ||
+ | </source> | ||
[[Category:SData]] | [[Category:SData]] |
Version du 23 mai 2011 à 12:21
Les opérations SData peuvent être défini à trois niveaux dans le Contrat SData :
Au niveau d'une classe "Support de service local"
Dans ce cas l'attribut "path" associé à l'opération ne fait pas référence à une entité du contrat :
<xsd:element name="ndfContractOperation1" type="tns:ndfContractOperation1--type" sme:role="serviceOperation" sme:path="$service/Operation1" /> <xsd:complexType name="ndfContractOperation1--type"> <xsd:all> ... </xsd:all> </xsd:complexType>
lors de l'import de ce contrat la méthode sera ajouté à une classe "Support de Service distant (sdata)" du même nom que le contrat.
Au niveau d'une entité en tant que méthode de classe.
Dans ce cas l'attribut "path" associé à l'opération fait référence à l'entité du contrat en utilisant le nom pluriel de l'entité :
<xsd:element name="expenseUpdateAllExpenseStatus" type="tns:expenseUpdateAllExpenseStatus--type" sme:role="serviceOperation" sme:path="expenses/$service/UpdateAllExpenseStatus" /> <xsd:complexType name="expenseUpdateAllExpenseStatus--type"> <xsd:all> ... </xsd:all> </xsd:complexType>
lors de l'import de ce contrat la méthode sera ajouté à une classe "Support de Service distant (sdata)" du même nom que le contrat.
Au niveau d'une entité en tant que méthode d'instance.
Dans ce cas l'attribut "path" associé à l'opération fait référence à l'entité du contrat en utilisant le nom singulier de l'entité :
<xsd:element name="expenseUpdateExpense" type="tns:expenseUpdateExpense--type" sme:role="serviceOperation" sme:path="expense/$service/UpdateExpense" /> <xsd:complexType name="expenseUpdateExpense--type"> <xsd:all> ... </xsd:all> </xsd:complexType>
lors de l'import de ce contrat la méthode sera ajouté en tant qu'opération de Service à l'entité correspondante.
L'appel de la méthode se fait ainsi :
<?xml version="1.0" encoding="utf-8"?> <entry xmlns="http://www.w3.org/2005/Atom" xmlns:sdata="http://schemas.sage.com/sdata/2008/1" xmlns:http="http://schemas.sage.com/sdata/http/2008/1" xmlns:ns3="http://www.sage.com/fr/line1000/ndfContract"> <id>http://syfre/syfre/server/sdata/syfre/ndfContract/-/expense('11CD0000000001D20002000000360001')/$service/UpdateExpense</id> <sdata:payload> <ns3:expenseUpdateExpense> <ns3:request> ... </ns3:request> </ns3:expenseUpdateExpense> </sdata:payload> <http:ifMatch>11CD0000000001D20002000000360001-0000002400000001</http:ifMatch> </entry>