diff options
author | aefimov <none@none> | 2016-03-24 01:15:32 +0300 |
---|---|---|
committer | aefimov <none@none> | 2016-03-24 01:15:32 +0300 |
commit | 06ab85e25392041909046ea06330ed591314f1e4 (patch) | |
tree | 3ae212c23bbc48facee69c44ab754c0428b69bc4 | |
parent | 9c282d8c427f51a575db83912ae5a6a3acda3f2e (diff) | |
download | jdk8u_jaxws-06ab85e25392041909046ea06330ed591314f1e4.tar.gz |
8145039: JAXB marshaller fails with ClassCastException on classes generated by xjc
Reviewed-by: lancea
-rw-r--r-- | src/share/jaxws_classes/com/sun/tools/internal/xjc/model/CTypeRef.java | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/CTypeRef.java b/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/CTypeRef.java index 62416b0d..bcea98fe 100644 --- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/CTypeRef.java +++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/CTypeRef.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -100,10 +100,15 @@ public final class CTypeRef implements TypeRef<NType,NClass> { */ private static QName resolveSimpleTypeName(XSType declType) { QName name = BGMBuilder.getName(declType); - if (name != null && !XMLConstants.W3C_XML_SCHEMA_NS_URI.equals(name.getNamespaceURI())) - return resolveSimpleTypeName(declType.getBaseType()); - else - return name; + QName result = null; + if (name != null && !XMLConstants.W3C_XML_SCHEMA_NS_URI.equals(name.getNamespaceURI())) { + result = resolveSimpleTypeName(declType.getBaseType()); + } else { + if ( !"anySimpleType".equals(declType.getName()) ) { + result = name; + } + } + return result; } public CTypeRef(CNonElement type, QName elementName, QName typeName, boolean nillable, XmlString defaultValue) { |