0

mobilefirst 7.0 では、wsdl URL から開始する soapadapter を正常に作成しました。Web サーバーはいくつかの操作を公開しています。Web サーバー側でデバッグすると、複合型に 1 つのオブジェクトが欠けていることがわかります。Mobile Browser Simulator を使用したデバッグ mobilefirst サーバーへのポスト リクエストに、JavaScript で作成した json オブジェクトが含まれていることがわかります。json オブジェクトには、オブジェクトの配列と 2 番目のオブジェクトが含まれています。最初のオブジェクトである配列は正常に Web サービスに到達しますが、2 番目のオブジェクトには到達しません。アダプターの動作をデバッグする方法はありますか?

これはサービスのプロトタイプです:

        {
       "iscriviUtente": {
          "iscrizione": {
             "intestatari": {
                "item": {
                   "cciaa": "someValue",
                   "censito": "someValue",
                   "codiceFiscale": "someValue",
                   "formaGiuridica": "someValue",
                   "partitaIva": "someValue",
                   "ragioneSociale": "someValue",
                   "sede": "someValue"
                }
             },
             "utente": {
                "cap": "someValue",
                "codiceFiscale": "someValue",
                "cognome": "someValue",
                "dataNascita": "someValue",
                "dataScadenza": "someValue",
                "email": "someValue",
                "indirizzo": "someValue",
                "localita": "someValue",
                "luogoNascita": "someValue",
                "nome": "someValue"
             }
          }
       }
    }

これは、サービスを呼び出すために使用する JavaScript メソッドです。

            function doIscriviUtente(utente, intestatari, options) {
            var children = [];
            for(i=0; i<intestatari.length; i++) {
                var intestatario = intestatari[i];
                var child = {
                               "cciaa": intestatario.cciaa,
                               "censito": intestatario.censito,
                               "codiceFiscale": intestatario.codiceFiscale,
                               "formaGiuridica": intestatario.formaGiuridica,
                               "partitaIva": intestatario.partitaIva,
                               "ragioneSociale": intestatario.ragioneSociale,
                               "sede": intestatario.sede
                            };
                children[i] = child;
            }
            var param = [{
                   "iscriviUtente": {
                          "iscrizione": {
                             "intestatari": children,
                             "utente": {
                                    "cap": utente.cap,
                                    "codiceFiscale": utente.codiceFiscale,
                                    "cognome": utente.cognome,
                                    "dataNascita": utente.dataNascita,
                                    "dataScadenza": utente.dataScadenza,
                                    "email": utente.email,
                                    "indirizzo": utente.indirizzo,
                                    "localita": utente.localita,
                                    "luogoNascita": utente.luogoNascita,
                                    "nome": utente.nome
                             }
                          }
                       }
                    }];
            var invocationData = {
                    adapter : soapAdapter,
                    procedure : soapProcedure+"iscriviUtente",
                    parameters : param
                };
            try {
                WL.Client.invokeProcedure(invocationData, options);
            } catch(e) {
                if (options.onFailure)
                    options.onFailure(WL.App.getErrorMessage(e));
            }
        }

SOAP アダプタが SOAP メッセージの作成に失敗したため、Web サービスは、null の「intestatari」オブジェクトと「utente」オブジェクトの配列を含むパラメータ「iscrizione」を受け取ります。

4

1 に答える 1

0

JavaScript メソッドに「項目」がありません。以下のコードは正しく動作するはずです。

変数パラメータ = [{

   .......

    "intestatari":  { "item": children},
   .......

}];

于 2015-06-08T10:41:34.520 に答える