Thanks for your reply Sergey, the problem was in my spring application
context configuration that the service URL had a typo.


Sergey Beryozkin-5 wrote:
> 
> 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
> <[email protected]>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.
>>
>>
> 
> 

-- 
View this message in context: 
http://old.nabble.com/stuck-on-multipart-tp28336934p28344048.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to