2016-07-28 19 views
1

Ich habe einen Betrieb Vertrag auf dem Server, der wie folgt aussieht:

[OperationContract] 
[WebInvoke(Method = "POST", UriTemplate = "/RegisterOrganization", RequestFormat = WebMessageFormat.Json, 
ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare)] 
void RegisterOrganization(Organization organization, User admin); 

nun auf der Client-Seite ich die folgende Ressource:

var RegisterOrganization = $resource(baseUrlService.getBaseUrl() + 'REST/Organization.svc/RegisterOrganization'); 

Meine Frage ist, wie kann ich zwei Objekte als Parameter wie folgt passieren:

RegisterOrganization.save(organization,admin) 

ich einen 500-Server-Fehler erhalten, indem Sie es so, irgendwelche Ideen, wie ich das erreichen kann?

Antwort

0

Wissen über die Serverseite Anruf nicht aber die save Methode der $resource ersten Abfrage-String-Parameter akzeptiert, die wie als Query-String gesendet werden: als JSON gesendet wird

REST/Organization.svc/RegisterOrganization?organizationName=StackOverflow&site= 

Während der zweite Parameter. Und Ihr serverseitiger Anruf akzeptiert Daten als JSON. Berücksichtigen Sie diese Änderung:

var data = angular.extend({}, organization, admin); 
RegisterOrganization.save(null, data);