2015-05-11 2 views
0

В mobilefirst 7.0 я успешно создал soapadapter, начиная с URL-адреса wsdl. Веб-сервер выставляет некоторые операции, некоторые работают нормально, но один. Я отлаживаю на стороне веб-сервера, и вижу, что сложный тип пропускает один объект. Отладка с помощью мобильного браузера Simulator. Я вижу, что запрос на отправку на сервер mobilefirst содержит json-объект, созданный javascript. Объект json содержит массив объектов и второй объект. Первый объект, массив, успешно достигает веб-службы, но не второй. Есть ли способ отладить то, что делает адаптер?Как отладить адаптер SOAP в MobileFirst 7.0

Это прототип сервиса:

 { 
     "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)); 
      } 
     } 

вебсервис получить параметр «iscrizione», который содержит массив объекта «intestatari» и aa «utente», который является нулевым, поскольку мыльный адаптер не смог составить сообщение о мыле.

+0

Вы имеете в виду, что вы создали адаптер с помощью инструмента обнаружения службы? Это сервис, к которому мы подключаемся? есть ли проект, который вы можете предоставить? –

+0

- Да, я использовал инструмент обнаружения сервисов. – user17417

+0

Остальные вопросы? –

ответ

0

Вы не указали «элемент» в своем javascript-методе. Код ниже должен работать правильно.

вар парам = [{

....... 

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

}];

+0

Спасибо. Это сделало работу. – user17417