2

私は次のように定義されたWCFサービスを持っています。これは機能していることを知っています(有効な結果を生成します):

[ServiceContract(Namespace="XXX.CES.Applet")]
public interface IAppletService
{
    [OperationContract(Action = "GetDefinitionJSON")]
    [WebGet(UriTemplate = "/GetDefinitionJSON?request={jsonRequest}", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
    string GetAppletDefinitionJSON(string jsonRequest);
}

次のコントローラーを定義し、サービスに到達していることと、FireBug を使用して応答が期待どおり (JSON 文字列) であることを確認できます。

angular.module('Applet',['ngResource']);
function AppletController($scope,$resource) {
  $scope.url = 'http://localhost/CESAppletService/AppletService.svc/:action';
  $scope.appletRequest =
  {
    AppletName: 'FPTotalForgeTime',
    ModelName: 'CES_ProtoType_Rings_Model',
    EntityName: 'ForgeWCTimes_ForgeTimeTotal',
    EntityType: 'Decimal',
    Value: ''
  };
  $scope.getDefinition = $resource($scope.url,
    {action:'GetDefinitionJSON',request:angular.toJson($scope.appletRequest),callback:'JSON_CALLBACK'});
  $scope.AppletInputs = $scope.getDefinition.get();
}

結果の $scope.AppletInputs を FireBug で確認するか、ページでレンダリングすると、オブジェクトは次のようになります (部分的なもののみ)。

""" 1 "{" 2 "\" 3 """ 4 "A" 5 "p" 6 "p" 7 "l" 8 "e" 9 "t" 10 "I" 11 "n" 12 "p " 13 "u" 14 "t" 15 "s" 16 "\" 17 """ 18

実際のサービス結果は次のとおりです。

"{\"AppletInputs\":[{\"AllowedValues\":  [],\"EntityName\":\"Forge_OD\",\"InputLabel\":\"OD\",\"InputType\":\"Decimal\",\"Value\":null},{\"AllowedValues\":[],\"EntityName\":\"Forge_ID\",\"InputLabel\":\"ID\",\"InputType\":\"Decimal\",\"Value\":null},{\"AllowedValues\":[],\"EntityName\":\"Forge_Face\",\"InputLabel\":\"Face\",\"InputType\":\"Decimal\",\"Value\":null},{\"AllowedValues\":[\"G43400XXX\",\"S30403XXX\",\"S31603XXX\",\"N06625XXX\",\"A96061XXX\",\"G43400GE2\",\"E16587M01\"],\"EntityName\":\"MaterialGrade\",\"InputLabel\":\"Grade\",\"InputType\":\"List\",\"Value\":null}],\"AppletName\":\"FPTotalForgeTime\",\"AppletType\":\"Decimal\",\"AppletVersion\":\"\",\"EntityName\":\"ForgeWCTimes_ForgeTimeTotal\",\"ModelName\":\"CES_Prototype_Rings_Model\"}"

私は何を間違っていますか、どうすれば修正できますか? 私は本当にこのプロジェクトで Angular を使用できるようにしたいと思っていますが、これは私の昼食を食べています。

4

0 に答える 0