Mobilefirst 7.0 soapadapter调用无参数操作失败

Mobilefirst 7.0 soapadapter调用无参数操作失败,soap,ibm-mobilefirst,mobilefirst-adapters,Soap,Ibm Mobilefirst,Mobilefirst Adapters,我使用webservice wsdl文件通过向导创建了一个soapadapter。大多数操作在一次操作中成功运行。此特定操作返回一个对象数组,不使用任何参数。 示例程序参数为: { "recuperaVariabili": { } } 调用过程时,从不调用onSuccess或onFailure函数。查看MobileFirst服务器日志,我可以看到以下stacktrace:` [ERROR ] FWLSE0099E: An error occurred while invoking

我使用webservice wsdl文件通过向导创建了一个soapadapter。大多数操作在一次操作中成功运行。此特定操作返回一个对象数组,不使用任何参数。 示例程序参数为:

{
  "recuperaVariabili": {
  }
}
调用过程时,从不调用onSuccess或onFailure函数。查看MobileFirst服务器日志,我可以看到以下stacktrace:`

[ERROR   ] FWLSE0099E: An error occurred while invoking procedure  [project FinancialGuardian]SoapAdapter1/RischiServiceService_recuperaVariabiliFWLSE0100E:  parameters: [project FinancialGuardian]
TypeError: Cannot read property "children" from undefined (2015-06-12T15:19:59.479Z/198f6d0c5bd3a9763e35dfa0268338bb84d5cfae/SoapAdapter1-impl.js#1134)
FWLSE0101E: Caused by:  [project FinancialGuardian]nullorg.mozilla.javascript.EcmaError: TypeError: Cannot read property "children" from undefined (2015-06-12T15:19:59.479Z/198f6d0c5bd3a9763e35dfa0268338bb84d5cfae/SoapAdapter1-impl.js#1134)
    at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3687)
    at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3665)
    at org.mozilla.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3693)
    at org.mozilla.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3712)
    at org.mozilla.javascript.ScriptRuntime.undefReadError(ScriptRuntime.java:3725)
    at org.mozilla.javascript.ScriptRuntime.getObjectElem(ScriptRuntime.java:1432)
    at org.mozilla.javascript.Interpreter.doGetElem(Interpreter.java:2204)
    at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1260)
    at script.handleMappings(2015-06-12T15:19:59.479Z/198f6d0c5bd3a9763e35dfa0268338bb84d5cfae/SoapAdapter1-impl.js:1134)
    at script.buildBody(2015-06-12T15:19:59.479Z/198f6d0c5bd3a9763e35dfa0268338bb84d5cfae/SoapAdapter1-impl.js:1117)
    at script.RischiServiceService_recuperaVariabili(2015-06-12T15:19:59.479Z/198f6d0c5bd3a9763e35dfa0268338bb84d5cfae/SoapAdapter1-impl.js:960)
    at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:815)
    at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:109)
    at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394)
    at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091)
    at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:107)
    at com.worklight.integration.js.JavaScriptManager.callFunction(JavaScriptManager.java:267)
    at com.worklight.integration.js.JavaScriptManager.invokeFunction(JavaScriptManager.java:241)
    at com.worklight.integration.js.JavaScriptManager.invokeFunction(JavaScriptManager.java:211)
    at com.worklight.integration.services.impl.AdapterManagerImpl.invokeFunction(AdapterManagerImpl.java:125)
    at com.worklight.integration.js.JavaScriptProcedureInvoker.invoke(JavaScriptProcedureInvoker.java:42)
    at com.worklight.integration.model.ProcedureInvoker.invokeProcedure(ProcedureInvoker.java:54)
    at com.worklight.integration.model.Procedure.invoke(Procedure.java:166)
    at com.worklight.integration.services.impl.DataAccessServiceImpl.callProcedureInternal(DataAccessServiceImpl.java:676)
    at com.worklight.integration.services.impl.DataAccessServiceImpl.callProcedure(DataAccessServiceImpl.java:622)
    at com.worklight.integration.services.impl.DataAccessServiceImpl.access$100(DataAccessServiceImpl.java:69)
    at com.worklight.integration.services.impl.DataAccessServiceImpl$3.execute(DataAccessServiceImpl.java:504)
    at com.worklight.core.auth.impl.AuthenticationServiceBean.accessResource(AuthenticationServiceBean.java:76)
    at com.worklight.integration.services.impl.DataAccessServiceImpl.invokeProcedureInternal(DataAccessServiceImpl.java:501)
    at com.worklight.integration.services.impl.DataAccessServiceImpl.invokeProcedure(DataAccessServiceImpl.java:155)
    at com.worklight.gadgets.serving.handler.BackendQueryHandler.getContent(BackendQueryHandler.java:95)
    at com.worklight.gadgets.serving.handler.BackendQueryHandler.doPost(BackendQueryHandler.java:56)
    at com.worklight.gadgets.serving.GadgetAPIServlet.doGetOrPost(GadgetAPIServlet.java:148)
    at com.worklight.gadgets.serving.GadgetAPIServlet.doPost(GadgetAPIServlet.java:108)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1275)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:766)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:472)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:135)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:89)
    at com.worklight.core.auth.impl.AuthenticationFilter$1.execute(AuthenticationFilter.java:215)
    at com.worklight.core.auth.impl.AuthenticationServiceBean.accessResource(AuthenticationServiceBean.java:76)
    at com.worklight.core.auth.impl.AuthenticationFilter.doFilter(AuthenticationFilter.java:220)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:192)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:86)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:975)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1097)
    at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:81)
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:912)
    at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost$2.run(DynamicVirtualHost.java:262)
    at com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink$TaskWrapper.run(HttpDispatcherLink.java:938)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:724)

我缺少什么?

我检查了您提供的WSDL,对于RecuroperaVariabili服务,输入参数定义为:

<element name="recuperaVariabili">
  <complexType/>
</element>

2) 更新WSDL,使声明的元素为simpleType。

您能提供一些适配器实现吗?是的,我能。你也需要模拟Web服务吗?那是dropbox的链接。在zip文件中有一个带有解释的readme.txt。我希望我足够清楚。你需要在这里简化你的代码。创建一个只包含适配器和调用适配器的函数的新项目。然后调用它。查看您现在是成功调用还是失败调用。我刚刚修改了RischiServiceService\u RecuriperaVariability定义(从1开始),服务正确响应。我的意思是从2)起不需要更改wsdl。非常感谢你。
var mappings = { 
  roots: {
   'recuperaVariabili': { nsPrefix: 'impl', type: 'impl:recuperaVariabili' }                
  },
  types: { 'impl:recuperaVariabili': {
    children: []
    }
  }
};