Web services 以Hasmap作为输入参数的基于SOAP的Webservice接口

Web services 以Hasmap作为输入参数的基于SOAP的Webservice接口,web-services,soap,hashmap,cxf,Web Services,Soap,Hashmap,Cxf,我正在尝试构建一个基于SOAP的Web服务,它将使用Java的Hashmap作为输入 以前有人试过吗?这可能会导致什么样的问题 将输入处理为Hashmap或List的最佳实践是什么 感谢您的回答。找到了将HashMap作为WebService端点输入的解决方案 如果您直接在输入中定义HashMap,那么XSD将无法正确地显示它,而且WSDL也不容易理解 因此,定义一个输入类并添加您计划作为输入的HasMap as属性 Class A { HasMap inputData; //Add th

我正在尝试构建一个基于SOAP的Web服务,它将使用Java的Hashmap作为输入

以前有人试过吗?这可能会导致什么样的问题

将输入处理为Hashmap或List的最佳实践是什么


感谢您的回答。

找到了将HashMap作为WebService端点输入的解决方案

如果您直接在输入中定义HashMap,那么XSD将无法正确地显示它,而且WSDL也不容易理解

因此,定义一个输入类并添加您计划作为输入的HasMap as属性

Class A
{
 HasMap inputData;

 //Add the Getter and Setter
}

将类A作为Webserivce方法的输入。现在,您的WSDL将具有带有键/Vlue对的HasMap。

找到了将HashMap作为WebService端点输入的解决方案

如果您直接在输入中定义HashMap,那么XSD将无法正确地显示它,而且WSDL也不容易理解

因此,定义一个输入类并添加您计划作为输入的HasMap as属性

Class A
{
 HasMap inputData;

 //Add the Getter and Setter
}

将类A作为Webserivce方法的输入。现在,您的WSDL将具有带有键/Vlue对的HasMap。

CXF java_first_jaxws示例:


提供有关如何使用JAX-WS/JAXB“正确”处理映射(和其他接口派生类型)的示例。基本上,您必须创建一个XmlAdapter,将映射转换为JAXB可以完全映射的类型。然后,JAXB将在运行时自动使用这些适配器映射到它喜欢的类型。其结果是,您可以完全控制生成的模式/wsdl(因此您不必拥有通用的“键”和“值”元素名称),还可以方便地使用映射。

CXF java\u first\u jaxws示例:


提供有关如何使用JAX-WS/JAXB“正确”处理映射(和其他接口派生类型)的示例。基本上,您必须创建一个XmlAdapter,将映射转换为JAXB可以完全映射的类型。然后,JAXB将在运行时自动使用这些适配器映射到它喜欢的类型。结果表明,您可以完全控制生成的模式/wsdl(因此您不必拥有通用的“键”和“值”元素名称),同时还可以方便地使用映射。

感谢您的回答。我认为这是一种你想要自己拥有所有映射的方法。我在下面介绍的其他选项是你定义HasMap这个对象将是一些具有实际属性的concete类型。这样,您的WSDL将首先以您定义的对象类型显示值。在对象的定义中,它将显示所有属性。谢谢您的回答。我认为这是一种你想要自己拥有所有映射的方法。我在下面介绍的其他选项是你定义HasMap这个对象将是一些具有实际属性的concete类型。这样,您的WSDL将首先以您定义的对象类型显示值。在对象的定义中,它将显示所有属性。