java - 将 Java Map<String,Object> 传递给 WebService

标签 java xml web-services soap

我有一个包含对象列表的 SOAP 请求。对象有一个 java 对象字段。

当我在我的 Java WebService 实现方法中收到请求时,对象字段的所有值都是“com.sun.org.apache.xerces.internal.dom.ElementNSImpl”的实例,而不是原始对象类.

如何在不丢失所有值的原始 java 类的情况下将 Java 对象传递给 Web 服务?

类:

import java.io.Serializable;
import java.util.HashMap;
import java.util.List;

import javax.xml.bind.annotation.XmlTransient;

public class Request implements Serializable {
    /**
     * 
     */
    private static final long serialVersionUID = 1358291145144128010L;

    private List<externalField> externalFields;

    public Request(){}

    public void setExternalFields(List<externalField> camposFFCCExternal) {
        this.camposFFCCExternal = camposFFCCExternal;
    }

    public List<externalField> getExternalFields() {
        return camposFFCCExternal;
    }
}

外部字段类:

import java.io.Serializable;

public class externalField implements Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = 8248866248138301848L;
    private String key;
    private Object value;

    public void setClave(String key) {
        this.key = key;
    }
    public String getClave() {
        return key;
    }
    public void setValor(Object value) {
        this.value = value;
    }
    public Object getValor() {
        return value;
    }

}

最佳答案

我认为您不能在不告诉 jaxb 可能的类型的情况下执行此操作。如果您对 xml 序列化有影响,则可以使用 anyType 执行此操作: How to create java object from 'anyType' returned from service using JAXB?

或者,如果可能的对象集已知,您可以尝试定义类型选择:

http://blog.bdoughan.com/2010/10/jaxb-and-xsd-choice-xmlelements.html

希望这能给您一些继续前进的想法。

关于java - 将 Java Map<String,Object> 传递给 WebService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46909227/

相关文章:

java - Akka actor resizer 没有创建实例

java - 定义实现多个接口(interface)的类型集合?

xml - XPath 头疼,查找属性在范围之间的节点

web-services - SOAP over SMTP/JMS 的任何用例?

c# - 将 oData 4 Web api 的服务引用添加到 VS Web Developer Express

java - 我向 activemq 代理发送一条预定消息,但 Web 控制台中显示两条消息

java - 哪种 OpenGL 实现最适合 Java

android - 我有一个包含数据的字符串,我想将这个字符串文件存储到 xml 中。我应该怎么办?

xml - USPS api - 使用curl和codeigniter

java - 获取<xs :schema attributeFormDefault ="unqualified" elementFormDefault ="qualified" > in wsdl