users@jersey.java.net

[Jersey] Fwd: response.getEntity return null on parse pojo class from XML

From: Alberto Marqués <zerouno.dev_at_gmail.com>
Date: Thu, 28 Aug 2014 18:22:33 +0200

Hi there,

It does not work the following service:



XML return

    <prestashop xmlns:xlink="http://www.w3.org/1999/xlink">
    <order>
    <id>
    <![CDATA[ 1 ]]>
    </id>
    <id_address_delivery xlink:href="http://example.com/api/addresses/16">
    <![CDATA[ 16 ]]>
    </id_address_delivery>
    <id_address_invoice xlink:href="http://example.com/api/addresses/16">
    <![CDATA[ 16 ]]>
    </id_address_invoice>
    <id_cart xlink:href="http://example.com/api/carts/27">
    <![CDATA[ 27 ]]>
    </id_cart>
    <id_currency xlink:href="http://example.com/api/currencies/1">
    <![CDATA[ 1 ]]>
    </id_currency>
    <id_lang xlink:href="http://example.com/api/languages/1">
    <![CDATA[ 1 ]]>
    </id_lang>
    <id_custom
    </id_customer>er xlink:href="http://example.com/api/customers/6">
    <![CDATA[ 6 ]]>
    <id_carrier xlink:href="http://example.com/api/carriers/3">
    <![CDATA[ 3 ]]>
    </id_carrier>
    <current_state xlink:href="http://example.com/api/order_states/10">
    <![CDATA[ 10 ]]>
    </current_state>
    <module>
    <![CDATA[ bankwire ]]>
    </module>
    <invoice_number>
    <![CDATA[ 0 ]]>
    </invoice_number>
    <invoice_date>
    <![CDATA[ 0000-00-00 00:00:00 ]]>
    </invoice_date>
    <delivery_number>
    <![CDATA[ 0 ]]>
    </delivery_number>
    <delivery_date>
    <![CDATA[ 0000-00-00 00:00:00 ]]>
    </delivery_date>
    <valid>
    <![CDATA[ 0 ]]>
    </valid>
    <date_add>
    <![CDATA[ 2014-08-22 16:26:15 ]]>
    </date_add>
    <date_upd>
    <![CDATA[ 2014-08-22 16:26:17 ]]>
    </date_upd>
    <id_shop_group>
    <![CDATA[ 1 ]]>
    </id_shop_group>
    <id_shop>
    <![CDATA[ 1 ]]>
    </id_shop>
    <secure_key>
    <![CDATA[ b3bfcd95c0a453bd606ad43ddf03918c ]]>
    </secure_key>
    <payment>
    <![CDATA[ Trasferencia bancaria ]]>
    </payment>
    <recyclable>
    <![CDATA[ 0 ]]>
    </recyclable>
    <gift>
    <![CDATA[ 0 ]]>
    </gift>
    <gift_message/>
    <mobile_theme>
    <![CDATA[ 0 ]]>
    </mobile_theme>
    <total_discounts>
    <![CDATA[ 0.00 ]]>
    </total_discounts>
    <total_discounts_tax_incl>
    <![CDATA[ 0.00 ]]>
    </total_discounts_tax_incl>
    <total_discounts_tax_excl>
    <![CDATA[ 0.00 ]]>
    </total_discounts_tax_excl>
    <total_paid>
    <![CDATA[ 29.63 ]]>
    </total_paid>
    <total_paid_tax_incl>
    <![CDATA[ 29.63 ]]>
    </total_paid_tax_incl>
    <total_paid_tax_excl>
    <![CDATA[ 24.49 ]]>
    </total_paid_tax_excl>
    <total_paid_real>
    <![CDATA[ 0.00 ]]>
    </total_paid_real>
    <total_products>
    <![CDATA[ 15.49 ]]>
    </total_products>
    <total_products_wt>
    <![CDATA[ 18.74 ]]>
    </total_products_wt>
    <total_shipping>
    <![CDATA[ 10.89 ]]>
    </total_shipping>
    <total_shipping_tax_incl>
    <![CDATA[ 10.89 ]]>
    </total_shipping_tax_incl>
    <total_shipping_tax_excl>
    <![CDATA[ 9.00 ]]>
    </total_shipping_tax_excl>
    <carrier_tax_rate>
    <![CDATA[ 21.000 ]]>
    </carrier_tax_rate>
    <total_wrapping>
    <![CDATA[ 0.00 ]]>
    </total_wrapping>
    <total_wrapping_tax_incl>
    <![CDATA[ 0.00 ]]>
    </total_wrapping_tax_incl>
    <total_wrapping_tax_excl>
    <![CDATA[ 0.00 ]]>
    </total_wrapping_tax_excl>
    <shipping_number/>
    <conversion_rate>
    <![CDATA[ 1.000000 ]]>
    </conversion_rate>
    <reference>
    <![CDATA[ HTTFWTYTP ]]>
    </reference>
    <associations>
    <order_rows virtual_entity="true" node_type="order_row">
    <order_row>
    <id>
    <![CDATA[ 1 ]]>
    </id>
    <product_id>
    <![CDATA[ 31 ]]>
    </product_id>
    <product_attribute_id>
    <![CDATA[ 0 ]]>
    </product_attribute_id>
    <product_quantity>
    <![CDATA[ 1 ]]>
    </product_quantity>
    <product_name>
    <![CDATA[ DISFRAZ MONJA ADULTO ]]>
    </product_name>
    <product_price>
    <![CDATA[ 8.260000 ]]>
    </product_price>
    <unit_price_tax_incl>
    <![CDATA[ 9.990000 ]]>
    </unit_price_tax_incl>
    <unit_price_tax_excl>
    <![CDATA[ 8.260000 ]]>
    </unit_price_tax_excl>
    </order_row>
    <order_row>
    <id>
    <![CDATA[ 2 ]]>
    </id>
    <product_id>
    <![CDATA[ 34 ]]>
    </product_id>
    <product_attribute_id>
    <![CDATA[ 0 ]]>
    </product_attribute_id>
    <product_quantity>
    <![CDATA[ 1 ]]>
    </product_quantity>
    <product_name>
    <![CDATA[ Gafas Sol ]]>
    </product_name>
    <product_price>
    <![CDATA[ 2.479339 ]]>
    </product_price>
    <unit_price_tax_incl>
    <![CDATA[ 3.000000 ]]>
    </unit_price_tax_incl>
    <unit_price_tax_excl>
    <![CDATA[ 2.480000 ]]>
    </unit_price_tax_excl>
    </order_row>
    <order_row>
    <id>
    <![CDATA[ 3 ]]>
    </id>
    <product_id>
    <![CDATA[ 44 ]]>
    </product_id>
    <product_attribute_id>
    <![CDATA[ 0 ]]>
    </product_attribute_id>
    <product_quantity>
    <![CDATA[ 1 ]]>
    </product_quantity>
    <product_name>
    <![CDATA[ Guantes de Boxeo Hinchables ]]>
    </product_name>
    <product_price>
    <![CDATA[ 4.752066 ]]>
    </product_price>
    <unit_price_tax_incl>
    <![CDATA[ 5.750000 ]]>
    </unit_price_tax_incl>
    <unit_price_tax_excl>
    <![CDATA[ 4.750000 ]]>
    </unit_price_tax_excl>
    </order_row>
    </order_rows>
    </associations>
    </order>
    </prestashop>

Class VO

    import org.eclipse.persistence.oxm.annotations.XmlCDATA;

    import javax.xml.bind.annotation.XmlRootElement;

    @XmlRootElement(name="prestashop")
    public class Pedido {

        @XmlCDATA public Integer id=null;
        @XmlCDATA public Double total_paid=null; //total factura
        @XmlCDATA public Double total_paid_tax_incl =null; //total
impuestos incluidos
        @XmlCDATA public Double total_paid_tax_excl =null; //total
impuestos excluidos
        @XmlCDATA public Double total_paid_real = null;
        @XmlCDATA public Double total_products = null;// precio producto
sin iva -->
        @XmlCDATA public Double total_products_wt = null;//precio producto
con iva -->
        @XmlCDATA public Double total_shipping = null;// gastos de envio -->
        @XmlCDATA public Double total_shipping_tax_incl = null;// gastos de
envio inpuestos incluidos-->
        @XmlCDATA public Double total_shipping_tax_excl = null;// gastos de
envio inpuestos excluidos-->
        @XmlCDATA public Double carrier_tax_rate = null;// % de iva -->
        @XmlCDATA public String date_add=null; //Fecha
creación
        @XmlCDATA public String date_upd=null; //Fecha
actualización
        @XmlCDATA public String id_address_delivery=null; //id dirección de
envio
        @XmlCDATA public String id_address_invoice=null;



    }

Java client

    import java.net.URI;

    import javax.ws.rs.core.MediaType;
    import javax.ws.rs.core.UriBuilder;

    import com.sun.jersey.api.client.Client;
    import com.sun.jersey.api.client.ClientResponse;
    import com.sun.jersey.api.client.WebResource;
    import com.sun.jersey.api.client.config.ClientConfig;
    import com.sun.jersey.api.client.config.DefaultClientConfig;
    import com.sun.jersey.api.client.filter.HTTPBasicAuthFilter;


    public class ClienteRest {
      public static void main(String[] args) {
        ClientConfig config = new DefaultClientConfig();
        Client client = Client.create(config);
        Pedido pedido = new Pedido();

        client.addFilter(new
HTTPBasicAuthFilter("WZWVR59997VL4BMKDV99C7GA1RBYGGBF", ""));

        WebResource service = client.resource(getBaseURI());
        // Get XML

System.out.println(service.path("orders").path("1").accept(MediaType.TEXT_XML).get(ClientResponse.class));
        ClientResponse response =
service.path("orders").path("1").accept(MediaType.TEXT_XML).get(ClientResponse.class);
        // Get XML for application
        Pedido oPedido = response.getEntity(pedido.getClass());

        System.out.println(oPedido.total_paid);

      }

      private static URI getBaseURI() {
        return UriBuilder.fromUri("
http://WZWVR59997VL4BMKDV99C7GA1RBYGGBF@example.com/api").build();
      }

    }

This is the output of java program

GET http://WZWVR59997VL4BMKDV99C7GA1RBYGGBF@example.com/api/orders/1
returned a response status of 200 OK
null

I want to recover the object class Order of XML does not work when
getEntity always returns null