cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kiren Pillay <kirenpill...@gmail.com>
Subject Re: POSTing XML to REST Webservice
Date Sun, 10 Nov 2013 20:58:34 GMT
Hi Sergey,

Where can I upload the test project?

Regards
Kiren


On Sun, Nov 3, 2013 at 7:04 PM, Sergey Beryozkin <sberyozkin@gmail.com>wrote:

> Hi
>
> This is very strange. I think something is interfering into the process,
> can you please create a basic test project reproducing the issue, very odd
> indeed
>
> Thanks, Sergey
>
> On 02/11/13 15:23, Kiren Pillay wrote:
>
>> Thanks. I removed the QueryPAram as below,
>>
>>      @POST
>>      @Consumes({ MediaType.APPLICATION_XML })
>>      @Produces({ MediaType.APPLICATION_XML })
>>      @Path("mmsBilling")
>>      public Response execute(MmsBillingRequest request) throws Exception {
>>
>>
>> Now I get a strange error:
>>
>> Caused by: javax.xml.bind.UnmarshalException: unexpected element (uri:"",
>> local:"MmsBillingRequest"). Expected elements are <{
>> http://www.messaging.pams.xxx/response}Response>.
>>
>> Which is odd because the only part of my method signature with the
>> Response
>> type is the return, so not sure why the unMarshaller is expecting the
>> Response Type.
>>
>> Looking at my WADL for this operation:<resources base="
>> http://localhost:8080/RESTWEB/rest/">
>>      <resource path="/function">
>>          <resource path="/mmsBilling">
>>              <method name="POST">
>>                  <request>
>>                      <representation mediaType="application/xml" />
>>                  </request>
>>                  <response>
>>                      <representation mediaType="application/xml"
>> element="prefix1:Response" />
>>                  </response>
>>              </method>
>>          </resource>
>>      </resource>
>>
>> Is there maybe a way to define the type of the request/response in an
>> annotation? I'm guessing that may help?
>>
>> My request:
>>   <MmsBillingRequest>
>>   <originatorMsisdn>27831231231
>>   </originatorMsisdn>
>>   </MmsBillingRequest>
>>
>>
>>
>> On Fri, Nov 1, 2013 at 1:08 PM, Sergey Beryozkin <sberyozkin@gmail.com
>> >wrote:
>>
>>  Hi
>>>
>>> You have a QueryParam attached to a parameter which is expected to
>>> represent a message body, so no attempt to read the stream is attempted
>>>
>>> Thanks, Sergey
>>>
>>> On 01/11/13 07:31, Kiren Pillay wrote:
>>>
>>>  HI All,
>>>>
>>>> I need to post an XML entity to a restful web-service, however my
>>>> service
>>>> isn't picking up the request for some reason, I'm getting a null value
>>>> for
>>>> my request.
>>>>
>>>> Can someone please guide me in the right direction.  I'm using the JAXB
>>>> Provider.
>>>>
>>>> Here's my service:
>>>>
>>>> @POST
>>>>       @Produces({ MediaType.APPLICATION_XML })
>>>>       public Response execute(@QueryParam("") MmsBillingRequest request)
>>>> throws Exception {
>>>>           System.err.println("REQUEST RECEIVED");
>>>>           Response response = new Response();
>>>>           try {
>>>>                request.getOriginatorInterface();
>>>>
>>>>
>>>> My Test Client:
>>>>
>>>>       String xmlRequest = "<MmsBillingRequest> "
>>>>                           + "  <originatorMsisdn>27823339811
>>>> </originatorMsisdn>"
>>>>                           + "  <originatorInterface />" + "
>>>> <payloadSize/>"
>>>>                           + "  <messageClass/>" + "
>>>>  <readRepRequested/>"
>>>>                           + "  <timeStamp/>" + "  <recipients/>"
>>>>                           + "</MmsBillingRequest>";
>>>>
>>>>                   // ****************
>>>>
>>>>                   WebClient wc = WebClient.create(
>>>>
>>>>                           "
>>>> http://localhost:9090/deploy-mms-billing/rest//function/mmsBilling",
>>>>                           "test", "test", null);
>>>>
>>>>                   wc.type("application/xml").accept("application/xml");
>>>>
>>>>
>>>>
>>>>                       long l1 = System.currentTimeMillis();
>>>>                       // Response response = wc.get(Response.class);
>>>>                       Response response = wc.post(xmlRequest);
>>>>                       System.out.println(response.getEntity());
>>>>
>>>>
>>>> Regards
>>>> Kiren
>>>>
>>>>
>>>>
>>> --
>>> Sergey Beryozkin
>>>
>>> Talend Community Coders
>>> http://coders.talend.com/
>>>
>>> Blog: http://sberyozkin.blogspot.com
>>>
>>>
>>
>
> --
> Sergey Beryozkin
>
> Talend Community Coders
> http://coders.talend.com/
>
> Blog: http://sberyozkin.blogspot.com
>

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