Hi Kiren
On 17/11/13 20:44, Kiren Pillay wrote:
Hi Sergey,
I think I may have managed to fix the issue, it was coming from my request
packet. For some reason, JAXB doesn't find the following two elements the
same.
<mmsBillingRequest xmlns="http://www.mmsLogDetails.products.pams.co.za">
<originatorMsisdn>27829801407</originatorMsisdn>
versus
<ns2:mmsBillingRequest xmlns:ns2="
http://www.mmsLogDetails.products.pams.co.za">
<originatorMsisdn>27829801407</originatorMsisdn>
To me, these two xml snippets are equivalent, not sure why they don't work
the same.
Most like your schema or JAXB assumes that in the 2nd option,
<originatorMsisdn> is unqualified (it is qualified in the 1st one), you
can control it at the package level with XmlSchema.
Cheers, Sergey
So I've reverted to the code you expected to work:
@POST
@Consumes({ MediaType.APPLICATION_XML })
@Produces({ MediaType.APPLICATION_XML })
@Path("mmsBilling")
public Response execute(MmsBillingRequest request) throws Exception {
Regards
Kiren
On Sun, Nov 10, 2013 at 11:54 PM, Sergey Beryozkin <[email protected]>wrote:
Hi Kiren
Can you please open a JIRA and attach your project there ?
Thanks, Sergey
On 10/11/13 20:58, Kiren Pillay wrote:
Hi Sergey,
Where can I upload the test project?
Regards
Kiren
On Sun, Nov 3, 2013 at 7:04 PM, Sergey Beryozkin <[email protected]
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 <[email protected]
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
--
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