[jira] [Created] (CXF-3760) Problematic inheritance of @Produces/@Consumes
Problematic inheritance of @Produces/@Consumes -- Key: CXF-3760 URL: https://issues.apache.org/jira/browse/CXF-3760 Project: CXF Issue Type: Bug Components: JAX-RS Affects Versions: 2.4.2 Reporter: Marco Schulte Given the sample interface invoiceWebservice: @Path("invoice/") @Consumes(MediaType.APPLICATION_XML) @Produces(MediaType.APPLICATION_XML) public interface InvoiceWebservice { @POST public void insert(WSInvoice wsInvoice); [...] } The usage of insert of this sample interface will cause an error, if used as both client and server interface. The client will send the http header "Accept: text/plain" due to return type void of insert(WSInvoice). But the server will respond with http "406 not acceptable", because the method inherited @Produces(MediaType.APPLICATION_XML). A workaround is to only annotate the methods, so insert does not get an @Produces annotation, or adding "text/plain" to @Consumes. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CXF-3760) Problematic inheritance of @Produces/@Consumes
[ https://issues.apache.org/jira/browse/CXF-3760?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marco Schulte updated CXF-3760: --- Description: Given the sample interface invoiceWebservice: {{ @Path("invoice/") @Consumes(MediaType.APPLICATION_XML) @Produces(MediaType.APPLICATION_XML) public interface InvoiceWebservice { @POST public void insert(WSInvoice wsInvoice); [...] } }} The usage of insert of this sample interface will cause an error, if used as both client and server interface. The client will send the http header "Accept: text/plain" due to return type void of insert(WSInvoice). But the server will respond with http "406 not acceptable", because the method inherited @Produces(MediaType.APPLICATION_XML). A workaround is to only annotate the methods, so insert does not get an @Produces annotation, or adding "text/plain" to @Consumes. was: Given the sample interface invoiceWebservice: @Path("invoice/") @Consumes(MediaType.APPLICATION_XML) @Produces(MediaType.APPLICATION_XML) public interface InvoiceWebservice { @POST public void insert(WSInvoice wsInvoice); [...] } The usage of insert of this sample interface will cause an error, if used as both client and server interface. The client will send the http header "Accept: text/plain" due to return type void of insert(WSInvoice). But the server will respond with http "406 not acceptable", because the method inherited @Produces(MediaType.APPLICATION_XML). A workaround is to only annotate the methods, so insert does not get an @Produces annotation, or adding "text/plain" to @Consumes. > Problematic inheritance of @Produces/@Consumes > -- > > Key: CXF-3760 > URL: https://issues.apache.org/jira/browse/CXF-3760 > Project: CXF > Issue Type: Bug > Components: JAX-RS >Affects Versions: 2.4.2 >Reporter: Marco Schulte > > Given the sample interface invoiceWebservice: > {{ > @Path("invoice/") > @Consumes(MediaType.APPLICATION_XML) > @Produces(MediaType.APPLICATION_XML) > public interface InvoiceWebservice { > @POST > public void insert(WSInvoice wsInvoice); > [...] > } > }} > The usage of insert of this sample interface will cause an error, if used as > both client and server interface. > The client will send the http header "Accept: text/plain" due to return type > void of insert(WSInvoice). But the server will respond with http "406 not > acceptable", because the method inherited > @Produces(MediaType.APPLICATION_XML). > A workaround is to only annotate the methods, so insert does not get an > @Produces annotation, or adding "text/plain" to @Consumes. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CXF-3760) Problematic inheritance of @Produces/@Consumes
[ https://issues.apache.org/jira/browse/CXF-3760?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marco Schulte updated CXF-3760: --- Description: Given the sample interface invoiceWebservice: {quote} @Path("invoice/") @Consumes(MediaType.APPLICATION_XML) @Produces(MediaType.APPLICATION_XML) public interface InvoiceWebservice { @POST public void insert(WSInvoice wsInvoice); [...] } {quote} The usage of insert of this sample interface will cause an error, if used as both client and server interface. The client will send the http header "Accept: text/plain" due to return type void of insert(WSInvoice). But the server will respond with http "406 not acceptable", because the method inherited @Produces(MediaType.APPLICATION_XML). A workaround is to only annotate the methods, so insert does not get an @Produces annotation, or adding "text/plain" to @Consumes. was: Given the sample interface invoiceWebservice: {{ @Path("invoice/") @Consumes(MediaType.APPLICATION_XML) @Produces(MediaType.APPLICATION_XML) public interface InvoiceWebservice { @POST public void insert(WSInvoice wsInvoice); [...] } }} The usage of insert of this sample interface will cause an error, if used as both client and server interface. The client will send the http header "Accept: text/plain" due to return type void of insert(WSInvoice). But the server will respond with http "406 not acceptable", because the method inherited @Produces(MediaType.APPLICATION_XML). A workaround is to only annotate the methods, so insert does not get an @Produces annotation, or adding "text/plain" to @Consumes. > Problematic inheritance of @Produces/@Consumes > -- > > Key: CXF-3760 > URL: https://issues.apache.org/jira/browse/CXF-3760 > Project: CXF > Issue Type: Bug > Components: JAX-RS >Affects Versions: 2.4.2 >Reporter: Marco Schulte > > Given the sample interface invoiceWebservice: > {quote} > @Path("invoice/") > @Consumes(MediaType.APPLICATION_XML) > @Produces(MediaType.APPLICATION_XML) > public interface InvoiceWebservice { > @POST > public void insert(WSInvoice wsInvoice); > [...] > } > {quote} > The usage of insert of this sample interface will cause an error, if used as > both client and server interface. > The client will send the http header "Accept: text/plain" due to return type > void of insert(WSInvoice). But the server will respond with http "406 not > acceptable", because the method inherited > @Produces(MediaType.APPLICATION_XML). > A workaround is to only annotate the methods, so insert does not get an > @Produces annotation, or adding "text/plain" to @Consumes. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CXF-3760) Problematic inheritance of @Produces/@Consumes
[ https://issues.apache.org/jira/browse/CXF-3760?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marco Schulte updated CXF-3760: --- Description: Given the sample interface invoiceWebservice: {code} @Path("invoice/") @Consumes(MediaType.APPLICATION_XML) @Produces(MediaType.APPLICATION_XML) public interface InvoiceWebservice { @POST public void insert(WSInvoice wsInvoice); [...] } {code} The usage of insert of this sample interface will cause an error, if used as both client and server interface. The client will send the http header "Accept: text/plain" due to return type void of insert(WSInvoice). But the server will respond with http "406 not acceptable", because the method inherited @Produces(MediaType.APPLICATION_XML). A workaround is to only annotate the methods, so insert does not get an @Produces annotation, or adding "text/plain" to @Consumes. was: Given the sample interface invoiceWebservice: {quote} @Path("invoice/") @Consumes(MediaType.APPLICATION_XML) @Produces(MediaType.APPLICATION_XML) public interface InvoiceWebservice { @POST public void insert(WSInvoice wsInvoice); [...] } {quote} The usage of insert of this sample interface will cause an error, if used as both client and server interface. The client will send the http header "Accept: text/plain" due to return type void of insert(WSInvoice). But the server will respond with http "406 not acceptable", because the method inherited @Produces(MediaType.APPLICATION_XML). A workaround is to only annotate the methods, so insert does not get an @Produces annotation, or adding "text/plain" to @Consumes. > Problematic inheritance of @Produces/@Consumes > -- > > Key: CXF-3760 > URL: https://issues.apache.org/jira/browse/CXF-3760 > Project: CXF > Issue Type: Bug > Components: JAX-RS >Affects Versions: 2.4.2 >Reporter: Marco Schulte > > Given the sample interface invoiceWebservice: > {code} > @Path("invoice/") > @Consumes(MediaType.APPLICATION_XML) > @Produces(MediaType.APPLICATION_XML) > public interface InvoiceWebservice { > @POST > public void insert(WSInvoice wsInvoice); > [...] > } > {code} > The usage of insert of this sample interface will cause an error, if used as > both client and server interface. > The client will send the http header "Accept: text/plain" due to return type > void of insert(WSInvoice). But the server will respond with http "406 not > acceptable", because the method inherited > @Produces(MediaType.APPLICATION_XML). > A workaround is to only annotate the methods, so insert does not get an > @Produces annotation, or adding "text/plain" to @Consumes. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira