You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Wojtek (JIRA)" <ji...@apache.org> on 2008/07/10 15:44:33 UTC
[jira] Created: (CXF-1697) Problem with converting to Calendar
Problem with converting to Calendar
-----------------------------------
Key: CXF-1697
URL: https://issues.apache.org/jira/browse/CXF-1697
Project: CXF
Issue Type: Bug
Affects Versions: 2.0.4
Environment: CXF 2.0.4
Reporter: Wojtek
Fix For: 2.0.4
'm receiving following error: "Unmarshalling Error: unexpected element (uri:"", local:"from"). Expected elements are (none)". It occurs when xs:dateTime is mapped to java.util.Calendar.
Here is the part of WSDL:
<xs:element name="getDownloadHistory" type="getDownloadHistory"/>
<xs:complexType name="getDownloadHistory">
<xs:sequence>
<xs:element minOccurs="0" name="application" type="xs:string"/>
<xs:element minOccurs="0" name="id" type="xs:string"/>
<xs:element minOccurs="0" name="type" type="historyType"/>
<xs:element minOccurs="0" name="from" type="xs:dateTime"/>
<xs:element minOccurs="0" name="to" type="xs:dateTime"/>
</xs:sequence>
</xs:complexType>
<xs:element name="getDownloadHistoryResponse" type="getDownloadHistoryResponse"/>
<xs:complexType name="getDownloadHistoryResponse">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="return" type="downloadRecord"/>
</xs:sequence>
</xs:complexType>
Here is the service interface:
List<DownloadRecord> getDownloadHistory(
@WebParam(name = "application")
final String applicationID,
@WebParam(name = "id")
final String userID,
@WebParam(name = "type")
final HistoryType type,
@WebParam(name = "from")
final Calendar from,
@WebParam(name = "to")
final Calendar to);
I'm using following SOAP binding:
@SOAPBinding(style = SOAPBinding.Style.DOCUMENT,
use = SOAPBinding.Use.LITERAL,
parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
Here is a SOAP request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dow="http://www.volantis.com/xmlns/2008/01/mss/download-module">
<soapenv:Header/>
<soapenv:Body>
<dow:getDownloadHistory>
<!--Optional:-->
<application>111:222:op</application>
<!--Optional:-->
<id>666</id>
<!--Optional:-->
<type>ACTIVE</type>
<!--Optional:-->
<from>2007-02-17T14:40:32.000Z</from>
<to>2008-07-08T12:10:00.000Z</to>
</dow:getDownloadHistory>
</soapenv:Body>
</soapenv:Envelope>
And SOAP response:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>Unmarshalling Error: unexpected element (uri:"", local:"from"). Expected elements are (none)</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>
It seems that everything is correctly configured but I still have the same error.
I've found that in JAXBEncoderDecoder#unmarshall, in case of abstract class (like java.util.Calendar), is unmarshalled without class by JAXB what causes in result mentioned error: "Unmarshalling Error: unexpected element (uri:"", local:"from"). Expected elements are (none)".
Here is the "if" statement checking if class is abstract.
if (clazz == null || (!clazz.isPrimitive() && !clazz.isArray() && !clazz.isEnum()
&& (Modifier.isAbstract(clazz.getModifiers())
|| Modifier.isInterface(clazz.getModifiers())))) {
unmarshalWithClass = false;
}
Is it correct "Modifier.isAbstract(clazz.getModifiers())"? Can someone confirm if it is a bug and real cause of problem? If I remove "Modifier.isAbstract(clazz.getModifiers())" everything works fine.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (CXF-1697) Problem with converting to Calendar
Posted by "Daniel Kulp (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CXF-1697?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Kulp resolved CXF-1697.
------------------------------
Resolution: Fixed
Fix Version/s: (was: 2.0.4)
2.0.8
Assignee: Daniel Kulp
> Problem with converting to Calendar
> -----------------------------------
>
> Key: CXF-1697
> URL: https://issues.apache.org/jira/browse/CXF-1697
> Project: CXF
> Issue Type: Bug
> Affects Versions: 2.0.4
> Environment: CXF 2.0.4
> Reporter: Wojtek
> Assignee: Daniel Kulp
> Fix For: 2.0.8
>
>
> 'm receiving following error: "Unmarshalling Error: unexpected element (uri:"", local:"from"). Expected elements are (none)". It occurs when xs:dateTime is mapped to java.util.Calendar.
> Here is the part of WSDL:
> <xs:element name="getDownloadHistory" type="getDownloadHistory"/>
> <xs:complexType name="getDownloadHistory">
> <xs:sequence>
> <xs:element minOccurs="0" name="application" type="xs:string"/>
> <xs:element minOccurs="0" name="id" type="xs:string"/>
> <xs:element minOccurs="0" name="type" type="historyType"/>
> <xs:element minOccurs="0" name="from" type="xs:dateTime"/>
> <xs:element minOccurs="0" name="to" type="xs:dateTime"/>
> </xs:sequence>
> </xs:complexType>
> <xs:element name="getDownloadHistoryResponse" type="getDownloadHistoryResponse"/>
> <xs:complexType name="getDownloadHistoryResponse">
> <xs:sequence>
> <xs:element maxOccurs="unbounded" minOccurs="0" name="return" type="downloadRecord"/>
> </xs:sequence>
> </xs:complexType>
> Here is the service interface:
> List<DownloadRecord> getDownloadHistory(
> @WebParam(name = "application")
> final String applicationID,
> @WebParam(name = "id")
> final String userID,
> @WebParam(name = "type")
> final HistoryType type,
> @WebParam(name = "from")
> final Calendar from,
> @WebParam(name = "to")
> final Calendar to);
> I'm using following SOAP binding:
> @SOAPBinding(style = SOAPBinding.Style.DOCUMENT,
> use = SOAPBinding.Use.LITERAL,
> parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
> Here is a SOAP request:
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dow="http://www.volantis.com/xmlns/2008/01/mss/download-module">
> <soapenv:Header/>
> <soapenv:Body>
> <dow:getDownloadHistory>
> <!--Optional:-->
> <application>111:222:op</application>
> <!--Optional:-->
> <id>666</id>
> <!--Optional:-->
> <type>ACTIVE</type>
> <!--Optional:-->
> <from>2007-02-17T14:40:32.000Z</from>
> <to>2008-07-08T12:10:00.000Z</to>
> </dow:getDownloadHistory>
> </soapenv:Body>
> </soapenv:Envelope>
> And SOAP response:
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Body>
> <soap:Fault>
> <faultcode>soap:Server</faultcode>
> <faultstring>Unmarshalling Error: unexpected element (uri:"", local:"from"). Expected elements are (none)</faultstring>
> </soap:Fault>
> </soap:Body>
> </soap:Envelope>
> It seems that everything is correctly configured but I still have the same error.
> I've found that in JAXBEncoderDecoder#unmarshall, in case of abstract class (like java.util.Calendar), is unmarshalled without class by JAXB what causes in result mentioned error: "Unmarshalling Error: unexpected element (uri:"", local:"from"). Expected elements are (none)".
> Here is the "if" statement checking if class is abstract.
> if (clazz == null || (!clazz.isPrimitive() && !clazz.isArray() && !clazz.isEnum()
> && (Modifier.isAbstract(clazz.getModifiers())
> || Modifier.isInterface(clazz.getModifiers())))) {
> unmarshalWithClass = false;
> }
> Is it correct "Modifier.isAbstract(clazz.getModifiers())"? Can someone confirm if it is a bug and real cause of problem? If I remove "Modifier.isAbstract(clazz.getModifiers())" everything works fine.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.