【发布时间】:2015-04-14 08:41:41
【问题描述】:
在我们的项目中,我们公开了许多从 wsdl 生成的 Web 服务。生成它们后,我可以看到请求和响应被映射到 POJO,当我做出响应时,我只是设置了一个新的 POJO。这真的很好用。但是,我的请求有问题。当我们收到请求时,我预计有效负载将是映射请求参数的 POJO。有效负载实际上变成了一个对象数组。我可以访问这些值,但这不是很舒服。你可以看一下图片。
我可以看到方法中“变量”下的它与我们想要的 POJO 正确匹配。是否有一些我在某处遗漏的设置,以便我们可以将有效负载映射到正确的 POJO 类型?
【问题讨论】:
-
您使用哪种 SOAP 样式:doc/lit?生成的服务接口是否接受请求 POJO 或多个参数?
-
@DavidDossot 在从 wsdl 生成的 Ilegacy 类中,我可以看到为什么请求是这样的:
-
public se.comaround.ws.ArrayOfMenuContentItem getMenuContent(@WebParam(name = "loginName", targetNamespace = "blablk.com") java.lang.String loginName, @WebParam(name = "passWord", targetNamespace = "blablk.com") java.lang.String passWord, @WebParam(name = "parentID", targetNamespace = "blablk.com") java.lang.Integer parentID);
-
显然这就是问题所在:
getMenuContent采用 4 个参数而不是单个包装对象。再问:WSDL 是什么 SOAP 风格? -
@DavidDossot 我们没有 SOAPBinding 注释,所以我猜是 doc/lit cwiki.apache.org/confluence/display/CXF20DOC/… 我们将 wsdl 作为文件导入以生成服务,这是我猜的默认行为
标签: mule mule-studio