cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sébastien (JIRA) <j...@apache.org>
Subject [jira] Updated: (CXF-2955) Null message part type class org.apache.cxf.xmlbeans.DataWriterImpl
Date Tue, 24 Aug 2010 13:11:17 GMT

     [ https://issues.apache.org/jira/browse/CXF-2955?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Sébastien updated CXF-2955:
---------------------------

    Description: 
I've a NullPointerException when I set a SOAP header by using an XmlObject:

final XmlObject userDetails = getDetails();
final QName name = EndUserDetailsDocumentXML.type.getDocumentElementName();
final Header userDetailsHeader = new Header(name, userDetails, new XmlBeansDataBinding());
               
userDetailsHeader.setDirection(Header.Direction.DIRECTION_OUT);
message.getHeaders().add(userDetailsHeader);



The problem is that the XmlBeans implementation is guessing that the type class of the message
part is not null (part.getTypeClass()). But it's always null, see the class org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor:

                    if (b != null) {
                        MessagePartInfo part = new MessagePartInfo(header.getName(), null);
                        part.setConcreteName(header.getName());
                        b.createWriter(XMLStreamWriter.class)
                            .write(header.getObject(), part, writer);



Later in org.apache.cxf.xmlbeans.DataWriterImpl (line 71):

    public void write(Object obj, MessagePartInfo part, XMLStreamWriter output) {
        try {
            Class<?> typeClass = part.getTypeClass();
            if (!XmlObject.class.isAssignableFrom(typeClass)) {

  was:
I've a NullPointerException when I set a SOAP header by using an XmlObject:

final XmlObject userDetails = getDetails();
final QName name = EndUserDetailsDocumentXML.type.getDocumentElementName();
final Header userDetailsHeader = new Header(name, userDetails, new XmlBeansDataBinding());
               
userDetailsHeader.setDirection(Header.Direction.DIRECTION_OUT);
message.getHeaders().add(userDetailsHeader);

The problem is that the XmlBeans implementation is guessing that the type class of the message
part is not null (part.getTypeClass()). But it's always null, see the class org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor:

                    if (b != null) {
                        MessagePartInfo part = new MessagePartInfo(header.getName(), null);
                        part.setConcreteName(header.getName());
                        b.createWriter(XMLStreamWriter.class)
                            .write(header.getObject(), part, writer);

Later in org.apache.cxf.xmlbeans.DataWriterImpl (line 71):

    public void write(Object obj, MessagePartInfo part, XMLStreamWriter output) {
        try {
            Class<?> typeClass = part.getTypeClass();
            if (!XmlObject.class.isAssignableFrom(typeClass)) {


> Null message part type class org.apache.cxf.xmlbeans.DataWriterImpl 
> --------------------------------------------------------------------
>
>                 Key: CXF-2955
>                 URL: https://issues.apache.org/jira/browse/CXF-2955
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 2.2.6, 2.2.10
>            Reporter: Sébastien
>
> I've a NullPointerException when I set a SOAP header by using an XmlObject:
> final XmlObject userDetails = getDetails();
> final QName name = EndUserDetailsDocumentXML.type.getDocumentElementName();
> final Header userDetailsHeader = new Header(name, userDetails, new XmlBeansDataBinding());
               
> userDetailsHeader.setDirection(Header.Direction.DIRECTION_OUT);
> message.getHeaders().add(userDetailsHeader);
> The problem is that the XmlBeans implementation is guessing that the type class of the
message part is not null (part.getTypeClass()). But it's always null, see the class org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor:
>                     if (b != null) {
>                         MessagePartInfo part = new MessagePartInfo(header.getName(),
null);
>                         part.setConcreteName(header.getName());
>                         b.createWriter(XMLStreamWriter.class)
>                             .write(header.getObject(), part, writer);
> Later in org.apache.cxf.xmlbeans.DataWriterImpl (line 71):
>     public void write(Object obj, MessagePartInfo part, XMLStreamWriter output) {
>         try {
>             Class<?> typeClass = part.getTypeClass();
>             if (!XmlObject.class.isAssignableFrom(typeClass)) {

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message