相关疑难解决方法(0)

转换为同一个类时出现ClassCastException

我有2个不同的Java项目,一个有2个类:dynamicbeans.DynamicBean2dynamic.Validator.

在另一个项目中,我动态加载这两个类并将它们存储在一个 Object

class Form {
    Class beanClass;
    Class validatorClass;
    Validator validator;
}
Run Code Online (Sandbox Code Playgroud)

然后我继续创建一个Validator对象validatorClass.newInstance()并使用它validator然后我创建一个bean对象并使用beanClass.newInstance()并将其添加到会话中.

portletRequest.setAttribute("DynamicBean2", bean);
Run Code Online (Sandbox Code Playgroud)

Form项目的生命周期中,我调用validator.validate()从会话中加载先前创建的bean对象(我​​正在运行Websphere Portal Server).当我尝试将此对象强制转换为DynamicBean2失败并出现ClassCastException时.

当我将对象拉回会话时使用

faces.getApplication().createValueBinding("#{DynamicBean2}").getValue(faces);
Run Code Online (Sandbox Code Playgroud)

并使用.getClass()我得到检查它的类dynamicbeans.DynamicBean2.这是我想要将它强制转换为的类,但是当我尝试获取ClassCastException时.

我得到这个的原因是什么?

java reflection classcastexception websphere-portal

51
推荐指数
3
解决办法
7万
查看次数

JAXB使用java.lang.Object字段编组对象

我正在尝试编组一个对象作为其字段之一的对象.

@XmlRootElement
public class TaskInstance implements Serializable {
   ...
   private Object dataObject;
   ...
}
Run Code Online (Sandbox Code Playgroud)

dataObject可以是许多不同类型的未知类型之一,因此指定每个地方不仅不切实际而且不可能.当我尝试编组对象时,它表示该类不为上下文所知.

MockProcessData mpd = new MockProcessData();
TaskInstance ti = new TaskInstance();
ti.setDataObject(mpd);

String ti_m = JAXBMarshall.marshall(ti);
Run Code Online (Sandbox Code Playgroud)

"MockProcessData及其任何超类都不为此所知." 就是我得到的.

有没有办法解决这个错误?

java jaxb

9
推荐指数
1
解决办法
1万
查看次数

JAXBException:类 java.util.ArrayList 或其任何超类在此上下文中都是已知的

我是 Spring 集成的新手,并且在满足我的项目要求时。我面临以下问题以将 Pojo(java 对象)编组到 SOAP 响应(使用 Spring 集成 ws):请找到以下相同的详细信息:

  1. 我有如下示例 xsd 文件:

      </xsd:element>
        <xsd:element name="MyUserResponses">
        <xsd:complexType>
          <xsd:sequence>
             <xsd:element minOccurs="0" maxOccurs="unbounded" name="MyUserResponse"
           type="tns:MyUserResponse" />
          </xsd:sequence>
        </xsd:complexType>
        </xsd:element>
    
      <xsd:complexType name="MyUserResponse">
       <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SomeNumber" type="xsd:string"/>
            <xsd:element minOccurs="0" maxOccurs="1" name="ReferenceID" type="xsd:string" />
        </xsd:sequence>
      </xsd:complexType>
    </xsd:schema>
    
    Run Code Online (Sandbox Code Playgroud)

我使用 xjc 编译器创建了以下 java 对象文件:

package com.myuser.echannel;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;


/**
 * <p>Java class for anonymous complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained …
Run Code Online (Sandbox Code Playgroud)

spring

2
推荐指数
1
解决办法
2万
查看次数