Can someone please help me here....

On 2018/03/08 14:57:01, [email protected] <[email protected]> wrote: 
> I have an issue with some Java first SOAP services implemented using Apache 
> CXF 2.7.11 on Java 8. Value is turning out to be null when TRUE is passed as 
> value. The same is working well when true is passed in lowercase.
> 
> I saw in one of the stackoverflow threads where class extending 
> XmlAdapter<String, Boolean> along with @XmlJavaTypeAdapter has resolved the 
> issue, However the generated WSDL the type has been changed to xs:string from 
> xs:boolean. Which means the boolean value should be passed as a string by 
> consumer. Which is not acceptable in my case. 
> 
> JAXB class:
> 
> @XmlRootElement(name = "myPojo")
> public class MyPojo {
>     @XmlElement(name = "myField")
>     private Boolean myBoolean;
> 
>     @XmlJavaTypeAdapter(CustomBooleanAdapter.class)
>     public void setMyBoolean(Boolean bool) {
>         myBoolean = bool;
>     }
> 
>     public Boolean getMyBoolean()  {
>         return myBoolean;
>     }
> }
> 
> Generated WSDL type
> 
> <xs:complexType name="myPojo">
>     <xs:sequence>
>         <xs:element minOccurs="0" name="myField" type="xs:string"/>
>     </xs:sequence>
> </xs:complexType>
> 
> Now when I run the WSDL2Java on the service in the generated stub pojo class 
> myField would be created as String rather than Boolean.
> 
> is there any way to keep the type intact in the generated WSDL? 
> 
> 

Reply via email to