[ 
http://jira.codehaus.org/browse/XFIRE-764?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_86246
 ] 

Henryk Paluch commented on XFIRE-764:
-------------------------------------

Hi!
  It seems that XFire (including 1.2.4) ignores nillable (and other options) 
for service parameters. Nillable attribute is currently honored for bean 
properties only, but not for service parameters (see BeanTypeInfo and 
BeanTypePropertyInfo).

The above nillable values depends just on default setting for corrensponding 
type. For example:
java.util.Calendar  (CalendarType in XFire) -> nillable="true"
java.util.Date (DateTimeTyp in XFire) -> nillable="false"
Your own object type -> nillable="true"


* So for xsd:dateTIme you may use primitive workaround: java.util.Calendar for 
nillable and java.util.Date for not-nillable.
* You may use wrapping object (e.g. make custom object to be just one parameter 
of your service and make real parameters as properties of this object. This 
allows you to specify nillable for object properties - which works).

What makes real fix difficult is an "per Class" mapping. It is easy to remember 
nillable value for specific class, but it is hard for parameters (whose can be 
of same class-types - because they get same Type instance....)


> Aegis ignores mapping file attributes for services.
> ---------------------------------------------------
>
>                 Key: XFIRE-764
>                 URL: http://jira.codehaus.org/browse/XFIRE-764
>             Project: XFire
>          Issue Type: Bug
>          Components: Aegis Module
>    Affects Versions: 1.2.2
>            Reporter: Kevan Dunsmore
>         Assigned To: Tomasz Sztelak
>            Priority: Critical
>
> Aegis does not generate a WSDL for services correctly based on the informatin 
> in the service aegis.xml file. For example, if I have the service interface:
> public interface MyService {
>     Collection findSomething(Criteria c, OptionalSpecification os, Date 
> startDate, Date endDate);
> }
> then Aegis will always map the first two parameters as "nillable" in the 
> WSDL. The last two start and end date parameters are always listed as 
> required in the WSDL. This happens regardless of the values specified in the 
> .aegis.xml file. 
> I want to be able to specify in the .aegis.xml file for the service that the 
> first parameter is not nillable, the second is nillable, the third is not 
> nillable and the last is nillable (or some other variation thereof). At 
> present this is not possible. I would expect, from the published 
> documentation, that the MyService.aegis.xml file below would do the job but 
> it does not:
> <mappings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
> xsi:schemaLocation="http://xfire.codehaus.org/schemas/1.0/mapping.xsd";>
>       <mapping>
>               <method name="findSomething">
>                       <parameter index="0" mappedName="criteria" 
> nillable="false"/>
>                       <parameter index="1" mappedName="optionalSpecification" 
> nillable="true"/>
>                       <parameter index="2" mappedName="startDate" 
> nillable="false"/>
>                       <parameter index="3" mappedName="endDate" 
> nillable="true"/>
>                       <return-type mappedName="foundThings"/>
>               </method>
>       </mapping>
> </mappings>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to