Handling of null, enums and dates in Java-first SOAP over HTTP GET
------------------------------------------------------------------
Key: CXF-2996
URL: https://issues.apache.org/jira/browse/CXF-2996
Project: CXF
Issue Type: Bug
Components: JAX-WS Runtime
Reporter: Christian Hvid
Apache CXF has incomplete handling of SOAP over HTTP GET.
It does not support dates as described here:
http://cxf.547215.n5.nabble.com/Java-first-SOAP-via-HTTP-GET-and-date-td2837639.html#a2837639
And it does not support enums:
http://cxf.547215.n5.nabble.com/Java-first-SOAP-via-HTTP-GET-and-enums-td2837640.html#a2837640
I took a look at URIMappingInterceptor and fixed a couple of things to make
what I think is the correct implementation of SOAP over HTTP GET.
In short:
1. Supporting java.util.Date and java.util.Calendar in the following formats:
yyyy-MM-dd
yyyy-MM-ddTHH:mm:ss
yyyy-MM-ddTHH:mm:ss.SSS
yyyy-MM-ddTHH:mm:ssZZZ:ZZ
yyyy-MM-ddTHH:mm:ss.SSSZZZ:ZZ
(Mimicking XsDateTimeFormat but using SimpleDateFormat.)
2. Supporting enums - deserializing them via valueOf.
3. Supporting null - meaning that if you exclude a parameter - it will be
interpretated as null.
So if you have:
interface MyInterface {
public void test7(@WebParam(name = "d")Double d);
public void test8(@WebParam(name = "d")double d);
}
And call .../test7 (without parameters) then the implementation will be invoked
with null. Whereas calling .../test8 will cause a NUllPOinterException.
The attached patch covers changes in URIMappingInterceptor and also contains
some test cases.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.