Ibm mobilefirst 如何在MobileFirst 7.0中调试SOAP适配器

Ibm mobilefirst 如何在MobileFirst 7.0中调试SOAP适配器,ibm-mobilefirst,mobilefirst-adapters,Ibm Mobilefirst,Mobilefirst Adapters,在MobileFirst7.0中,我成功地从wsdl URL创建了一个soapadapter。 web服务器公开了一些操作,有些可以正常工作,但只有一个。我在Web服务器端调试时发现一个复杂类型缺少一个对象。通过使用移动浏览器模拟器进行调试,我可以看到对mobilefirst服务器的post请求包含由javascript创建的json对象。json对象包含一个对象数组和第二个对象。第一个对象,数组,成功地到达了webservice,但第二个对象没有。 有没有办法调试适配器的功能 这是服务的原型:

在MobileFirst7.0中,我成功地从wsdl URL创建了一个soapadapter。 web服务器公开了一些操作,有些可以正常工作,但只有一个。我在Web服务器端调试时发现一个复杂类型缺少一个对象。通过使用移动浏览器模拟器进行调试,我可以看到对mobilefirst服务器的post请求包含由javascript创建的json对象。json对象包含一个对象数组和第二个对象。第一个对象,数组,成功地到达了webservice,但第二个对象没有。 有没有办法调试适配器的功能

这是服务的原型:

        {
       "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"
             }
          }
       }
    }
            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));
            }
        }
这是我用来调用服务的javascript方法:

        {
       "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"
             }
          }
       }
    }
            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));
            }
        }
函数doiscrivute(utete、intestatari、options){
var children=[];
对于(i=0;i您的javascript方法中缺少一个“项”。下面的代码应该可以正常工作

变量参数=[{

   .......

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

}]

你的意思是你使用服务发现工具创建了适配器?这也是我们连接的服务吗?你能提供一个项目吗?-是的,我使用了服务发现工具。还有其他问题?-不,这是我开发的一个web服务,实际上它只在我自己的工作站上可见。但我可以提供wsdl文件,使用axis创建Web服务非常简单,然后你可以添加一些模拟操作来回答查询。-你是说mobilefirst项目吗?是的,我可以。但是我只是在学习mobilefirst,我不知道怎么做。使用eclipse中的导出文件系统,由于路径名太长而失败。@IdanAdar我发现我可以端口为MobileFirst筛选导出,但它创建了一个28MB的zip文件。谢谢。这就完成了任务。