cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sergey Beryozkin <sberyoz...@gmail.com>
Subject Re: stuck on multipart
Date Fri, 23 Apr 2010 13:24:10 GMT
Hi Han

The interface looks ok. Can you let me know please, how does the actual
class implementing this interface look like ?
Make sure please it has no JAXRS related annotations, it would prevent if
from inheriting interface annotations.
Also, make sure, jaxrs:server/@address is "/" in this case and that
CXFServlet does not have "/brokerInventory"

cheers, Sergey


On Fri, Apr 23, 2010 at 4:01 AM, DaHoopster <hwang@structuralinvest.com>wrote:

>
> Hi,
>
> I am new to CXF and I am trying to write a service that takes some string
> params for configuring the service and a File which contains content that
> the service needs to process. I kept getting “No matching operation”
> exception. I am probably doing this incorrectly, could someone help me see
> where I got it wrong?
>
> Here is the warning message:
>
> ======================================================================================
> WARNING: .No operation matching request path /brokerInventory is found,
> HTTP
> Method : POST, ContentType :
>
> multipart/form-data;boundary="uuid:0aab3a08-4501-4a83-9289-dc7604728b7f";start="<broker>";start-info="text/plain";type="text/plain",
> Accept : text/plain,.
>
> ======================================================================================
>
>
> Here is my service interface:
>
> ======================================================================================
> @Path("/brokerInventory")
> public interface BrokerInventoryResource
> {
>    static final String BROKER_PART = "broker";
>    static final String BROKER_FILE_TYPE_PART = "brokerFileType";
>    static final String INSTRUMENT_TYPE_PART = "instrumentType";
>    static final String INVENTORY_FILE_PART = "inventoryFile";
>
>    @POST
>    @Path("/")
>    @Produces(MediaType.TEXT_PLAIN)
>    @Consumes(MediaType.MULTIPART_FORM_DATA)
>    public String uploadBrokerInventory(@Multipart(BROKER_PART) final String
> broker,
>                                        @Multipart(BROKER_FILE_TYPE_PART)
> final String brokerInventoryFileType,
>                                        @Multipart(INSTRUMENT_TYPE_PART)
> final String fixedIncomeInstrumentType,
>                                        @Multipart(INVENTORY_FILE_PART)
> final File brokerInventoryFile);
> }
>
> ======================================================================================
>
>
> Here is the client that makes the request:
>
> ======================================================================================
> final ContentDisposition inventoryFileDisposition = new
> ContentDisposition("attachment;filename=" + file.getName());
>
>        final Attachment brokerAttachment = new
> Attachment(BrokerInventoryResource.BROKER_PART, MediaType.TEXT_PLAIN,
> brokerInventory.getBroker().toString());
>        final Attachment brokerFileTypeAttachment = new
> Attachment(BrokerInventoryResource.BROKER_FILE_TYPE_PART,
> MediaType.TEXT_PLAIN,
> brokerInventory.getBrokerInventoryFileType().toString());
>        final Attachment instrumentTypeAttachment = new
> Attachment(BrokerInventoryResource.INSTRUMENT_TYPE_PART,
> MediaType.TEXT_PLAIN, brokerInventory.getInstType().toString());
>        final Attachment inventoryFileAttachment = new
> Attachment(BrokerInventoryResource.INVENTORY_FILE_PART,
> FileUtils.openInputStream(file), inventoryFileDisposition);
>        final MultipartBody multipartBody = new
> MultipartBody(Arrays.asList(new Attachment[]{
>                brokerAttachment,
>                brokerFileTypeAttachment,
>                instrumentTypeAttachment,
>                inventoryFileAttachment
>        }));
>
>        final String statusMessage =
> WebClient.create("
> http://localhost:8080/fixedincomesecurities/brokerInventory").
>                type(MediaType.MULTIPART_FORM_DATA_TYPE).
>                accept(MediaType.TEXT_PLAIN_TYPE).
>                post(multipartBody, String.class);
>
>
> ======================================================================================
>
> Thanks,
> Han
>
> --
> View this message in context:
> http://old.nabble.com/stuck-on-multipart-tp28336934p28336934.html
> Sent from the cxf-user mailing list archive at Nabble.com.
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message