You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Bruno Braga (JIRA)" <ji...@apache.org> on 2008/06/03 21:52:45 UTC

[jira] Created: (CXF-1628) TypeCreationOptions ignored

TypeCreationOptions ignored
---------------------------

                 Key: CXF-1628
                 URL: https://issues.apache.org/jira/browse/CXF-1628
             Project: CXF
          Issue Type: Bug
          Components: Aegis Databinding
    Affects Versions: 2.1
         Environment: java 6 update 6 + tomcat 6.0.16
            Reporter: Bruno Braga


I believe that the aegis is with a bug.

The new settings using TypeCreationOptions  are not working (or I did wrong settings and didn't show any error).

--------------------------
        <bean id="aegisBean" class="org.apache.cxf.aegis.databinding.AegisDatabinding">
                <property name="configuration">
                        <bean class="org.apache.cxf.aegis.type.TypeCreationOptions">
                        <property name="defaultMinOccurs" value="1"/>
                        <property name="defaultNillable" value="false"/>
                        </bean>
                </property>
        </bean>
           
        <bean id="jaxws-and-aegis-service-factory"
            class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"
            scope="prototype">
            <property name="dataBinding" ref="aegisBean"/>
        </bean>
       
        <bean id="segurancaService" class="xxxxx.SegurancaService">
                <constructor-arg><ref bean="fachadaSeguranca"/></constructor-arg>  
        </bean>
       

        <jaxws:endpoint id="endpointSegurancaService" implementor="#segurancaService" address="/SegurancaService">
                <jaxws:serviceFactory>
                        <ref bean='jaxws-and-aegis-service-factory' />
                </jaxws:serviceFactory>
            <jaxws:inInterceptors>
              <bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor" />
              <bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
                <constructor-arg>
                  <map>
                    <entry key="action" value="UsernameToken Timestamp" />
                    <entry key="passwordType" value="PasswordDigest" />
                    <entry key="passwordCallbackClass" value="xxxxx.wssecurity.PWCallback" />
                  </map>
                </constructor-arg>
              </bean>
              <bean class="xxxxx.wssecurity.UsernameTokenInterceptor" />
            </jaxws:inInterceptors>
        </jaxws:endpoint>

--------------------------

My wsdl is being generated thus:

<xsd:sequence>
<xsd:element minOccurs="0" name="idSistema" type="xsd:int"/>
<xsd:element minOccurs="0" name="idModulo" type="xsd:int"/>
</xsd:sequence>

It's wrong.
minOccurs should be 1.

TypeCreationOptions had no effect. 


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CXF-1628) TypeCreationOptions ignored

Posted by "Benson Margulies (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CXF-1628?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12602822#action_12602822 ] 

Benson Margulies commented on CXF-1628:
---------------------------------------

Bruno,

Could you possibly post a test case? My example that I used did have an int[] property, and it seemed to get better.

The code related to this is distressingly complicated, so I can easily believe that you're triggering something that I didn't find.

--benson


> TypeCreationOptions ignored
> ---------------------------
>
>                 Key: CXF-1628
>                 URL: https://issues.apache.org/jira/browse/CXF-1628
>             Project: CXF
>          Issue Type: Bug
>          Components: Aegis Databinding
>    Affects Versions: 2.1
>         Environment: java 6 update 6 + tomcat 6.0.16
>            Reporter: Bruno Braga
>            Assignee: Benson Margulies
>             Fix For: 2.1.1
>
>
> I believe that the aegis is with a bug.
> The new settings using TypeCreationOptions  are not working (or I did wrong settings and didn't show any error).
> --------------------------
>         <bean id="aegisBean" class="org.apache.cxf.aegis.databinding.AegisDatabinding">
>                 <property name="configuration">
>                         <bean class="org.apache.cxf.aegis.type.TypeCreationOptions">
>                         <property name="defaultMinOccurs" value="1"/>
>                         <property name="defaultNillable" value="false"/>
>                         </bean>
>                 </property>
>         </bean>
>            
>         <bean id="jaxws-and-aegis-service-factory"
>             class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"
>             scope="prototype">
>             <property name="dataBinding" ref="aegisBean"/>
>         </bean>
>        
>         <bean id="segurancaService" class="xxxxx.SegurancaService">
>                 <constructor-arg><ref bean="fachadaSeguranca"/></constructor-arg>  
>         </bean>
>        
>         <jaxws:endpoint id="endpointSegurancaService" implementor="#segurancaService" address="/SegurancaService">
>                 <jaxws:serviceFactory>
>                         <ref bean='jaxws-and-aegis-service-factory' />
>                 </jaxws:serviceFactory>
>             <jaxws:inInterceptors>
>               <bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor" />
>               <bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
>                 <constructor-arg>
>                   <map>
>                     <entry key="action" value="UsernameToken Timestamp" />
>                     <entry key="passwordType" value="PasswordDigest" />
>                     <entry key="passwordCallbackClass" value="xxxxx.wssecurity.PWCallback" />
>                   </map>
>                 </constructor-arg>
>               </bean>
>               <bean class="xxxxx.wssecurity.UsernameTokenInterceptor" />
>             </jaxws:inInterceptors>
>         </jaxws:endpoint>
> --------------------------
> My wsdl is being generated thus:
> <xsd:sequence>
> <xsd:element minOccurs="0" name="idSistema" type="xsd:int"/>
> <xsd:element minOccurs="0" name="idModulo" type="xsd:int"/>
> </xsd:sequence>
> It's wrong.
> minOccurs should be 1.
> TypeCreationOptions had no effect. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CXF-1628) TypeCreationOptions ignored

Posted by "Daniel Kulp (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CXF-1628?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12603142#action_12603142 ] 

Daniel Kulp commented on CXF-1628:
----------------------------------



If Axis is generating things like:
<wsdl:part name="nomeVisao" type="xsd:string"/> 

that implies it's an RPC style service, not a Doc/Literal.    If that's what you want, just add:
@SOAPBinding(style = SOAPBinding.Style.RPC)
to the interface.    That will generate the "type" form instead of the wrapper complex type.

 

> TypeCreationOptions ignored
> ---------------------------
>
>                 Key: CXF-1628
>                 URL: https://issues.apache.org/jira/browse/CXF-1628
>             Project: CXF
>          Issue Type: Bug
>          Components: Aegis Databinding
>    Affects Versions: 2.1
>         Environment: java 6 update 6 + tomcat 6.0.16
>            Reporter: Bruno Braga
>            Assignee: Benson Margulies
>             Fix For: 2.1.1
>
>         Attachments: myAegisOptionsTestBeans.xml, MyService.java, MyTypeCreationOptionsSpringTest.java
>
>
> I believe that the aegis is with a bug.
> The new settings using TypeCreationOptions  are not working (or I did wrong settings and didn't show any error).
> --------------------------
>         <bean id="aegisBean" class="org.apache.cxf.aegis.databinding.AegisDatabinding">
>                 <property name="configuration">
>                         <bean class="org.apache.cxf.aegis.type.TypeCreationOptions">
>                         <property name="defaultMinOccurs" value="1"/>
>                         <property name="defaultNillable" value="false"/>
>                         </bean>
>                 </property>
>         </bean>
>            
>         <bean id="jaxws-and-aegis-service-factory"
>             class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"
>             scope="prototype">
>             <property name="dataBinding" ref="aegisBean"/>
>         </bean>
>        
>         <bean id="segurancaService" class="xxxxx.SegurancaService">
>                 <constructor-arg><ref bean="fachadaSeguranca"/></constructor-arg>  
>         </bean>
>        
>         <jaxws:endpoint id="endpointSegurancaService" implementor="#segurancaService" address="/SegurancaService">
>                 <jaxws:serviceFactory>
>                         <ref bean='jaxws-and-aegis-service-factory' />
>                 </jaxws:serviceFactory>
>             <jaxws:inInterceptors>
>               <bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor" />
>               <bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
>                 <constructor-arg>
>                   <map>
>                     <entry key="action" value="UsernameToken Timestamp" />
>                     <entry key="passwordType" value="PasswordDigest" />
>                     <entry key="passwordCallbackClass" value="xxxxx.wssecurity.PWCallback" />
>                   </map>
>                 </constructor-arg>
>               </bean>
>               <bean class="xxxxx.wssecurity.UsernameTokenInterceptor" />
>             </jaxws:inInterceptors>
>         </jaxws:endpoint>
> --------------------------
> My wsdl is being generated thus:
> <xsd:sequence>
> <xsd:element minOccurs="0" name="idSistema" type="xsd:int"/>
> <xsd:element minOccurs="0" name="idModulo" type="xsd:int"/>
> </xsd:sequence>
> It's wrong.
> minOccurs should be 1.
> TypeCreationOptions had no effect. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CXF-1628) TypeCreationOptions ignored

Posted by "Bruno Braga (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CXF-1628?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12603196#action_12603196 ] 

Bruno Braga commented on CXF-1628:
----------------------------------

ok..... I will try...

but if I want to keep cxf default style and remove the minOccurs="0"?
minOccurs in webmethods causes interop problem with the .net

> TypeCreationOptions ignored
> ---------------------------
>
>                 Key: CXF-1628
>                 URL: https://issues.apache.org/jira/browse/CXF-1628
>             Project: CXF
>          Issue Type: Bug
>          Components: Aegis Databinding
>    Affects Versions: 2.1
>         Environment: java 6 update 6 + tomcat 6.0.16
>            Reporter: Bruno Braga
>            Assignee: Benson Margulies
>             Fix For: 2.1.1
>
>         Attachments: myAegisOptionsTestBeans.xml, MyService.java, MyTypeCreationOptionsSpringTest.java
>
>
> I believe that the aegis is with a bug.
> The new settings using TypeCreationOptions  are not working (or I did wrong settings and didn't show any error).
> --------------------------
>         <bean id="aegisBean" class="org.apache.cxf.aegis.databinding.AegisDatabinding">
>                 <property name="configuration">
>                         <bean class="org.apache.cxf.aegis.type.TypeCreationOptions">
>                         <property name="defaultMinOccurs" value="1"/>
>                         <property name="defaultNillable" value="false"/>
>                         </bean>
>                 </property>
>         </bean>
>            
>         <bean id="jaxws-and-aegis-service-factory"
>             class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"
>             scope="prototype">
>             <property name="dataBinding" ref="aegisBean"/>
>         </bean>
>        
>         <bean id="segurancaService" class="xxxxx.SegurancaService">
>                 <constructor-arg><ref bean="fachadaSeguranca"/></constructor-arg>  
>         </bean>
>        
>         <jaxws:endpoint id="endpointSegurancaService" implementor="#segurancaService" address="/SegurancaService">
>                 <jaxws:serviceFactory>
>                         <ref bean='jaxws-and-aegis-service-factory' />
>                 </jaxws:serviceFactory>
>             <jaxws:inInterceptors>
>               <bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor" />
>               <bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
>                 <constructor-arg>
>                   <map>
>                     <entry key="action" value="UsernameToken Timestamp" />
>                     <entry key="passwordType" value="PasswordDigest" />
>                     <entry key="passwordCallbackClass" value="xxxxx.wssecurity.PWCallback" />
>                   </map>
>                 </constructor-arg>
>               </bean>
>               <bean class="xxxxx.wssecurity.UsernameTokenInterceptor" />
>             </jaxws:inInterceptors>
>         </jaxws:endpoint>
> --------------------------
> My wsdl is being generated thus:
> <xsd:sequence>
> <xsd:element minOccurs="0" name="idSistema" type="xsd:int"/>
> <xsd:element minOccurs="0" name="idModulo" type="xsd:int"/>
> </xsd:sequence>
> It's wrong.
> minOccurs should be 1.
> TypeCreationOptions had no effect. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CXF-1628) TypeCreationOptions ignored

Posted by "Bruno Braga (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CXF-1628?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12602105#action_12602105 ] 

Bruno Braga commented on CXF-1628:
----------------------------------

apparently the problem is with primitive types...

the defaultMinOccurs and defaultNillable are not working for the "xsd:int"... but changed arrays

that was the purpose?

I need to remove the minOccurs="0" of  "xsd: int" to avoid problems with .Net clients:

http://geekswithblogs.net/shahed/archive/2007/07/11/113881.aspx

.Net interprets the minOccurs = "0" as optional field and generates the stub wrong :(

> TypeCreationOptions ignored
> ---------------------------
>
>                 Key: CXF-1628
>                 URL: https://issues.apache.org/jira/browse/CXF-1628
>             Project: CXF
>          Issue Type: Bug
>          Components: Aegis Databinding
>    Affects Versions: 2.1
>         Environment: java 6 update 6 + tomcat 6.0.16
>            Reporter: Bruno Braga
>            Assignee: Benson Margulies
>
> I believe that the aegis is with a bug.
> The new settings using TypeCreationOptions  are not working (or I did wrong settings and didn't show any error).
> --------------------------
>         <bean id="aegisBean" class="org.apache.cxf.aegis.databinding.AegisDatabinding">
>                 <property name="configuration">
>                         <bean class="org.apache.cxf.aegis.type.TypeCreationOptions">
>                         <property name="defaultMinOccurs" value="1"/>
>                         <property name="defaultNillable" value="false"/>
>                         </bean>
>                 </property>
>         </bean>
>            
>         <bean id="jaxws-and-aegis-service-factory"
>             class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"
>             scope="prototype">
>             <property name="dataBinding" ref="aegisBean"/>
>         </bean>
>        
>         <bean id="segurancaService" class="xxxxx.SegurancaService">
>                 <constructor-arg><ref bean="fachadaSeguranca"/></constructor-arg>  
>         </bean>
>        
>         <jaxws:endpoint id="endpointSegurancaService" implementor="#segurancaService" address="/SegurancaService">
>                 <jaxws:serviceFactory>
>                         <ref bean='jaxws-and-aegis-service-factory' />
>                 </jaxws:serviceFactory>
>             <jaxws:inInterceptors>
>               <bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor" />
>               <bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
>                 <constructor-arg>
>                   <map>
>                     <entry key="action" value="UsernameToken Timestamp" />
>                     <entry key="passwordType" value="PasswordDigest" />
>                     <entry key="passwordCallbackClass" value="xxxxx.wssecurity.PWCallback" />
>                   </map>
>                 </constructor-arg>
>               </bean>
>               <bean class="xxxxx.wssecurity.UsernameTokenInterceptor" />
>             </jaxws:inInterceptors>
>         </jaxws:endpoint>
> --------------------------
> My wsdl is being generated thus:
> <xsd:sequence>
> <xsd:element minOccurs="0" name="idSistema" type="xsd:int"/>
> <xsd:element minOccurs="0" name="idModulo" type="xsd:int"/>
> </xsd:sequence>
> It's wrong.
> minOccurs should be 1.
> TypeCreationOptions had no effect. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Issue Comment Edited: (CXF-1628) TypeCreationOptions ignored

Posted by "Bruno Braga (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CXF-1628?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12602913#action_12602913 ] 

bruno.braga edited comment on CXF-1628 at 6/5/08 9:52 PM:
----------------------------------------------------------

I created test files to reproduce that problem

      was (Author: bruno.braga):
    test files to reproduce error
  
> TypeCreationOptions ignored
> ---------------------------
>
>                 Key: CXF-1628
>                 URL: https://issues.apache.org/jira/browse/CXF-1628
>             Project: CXF
>          Issue Type: Bug
>          Components: Aegis Databinding
>    Affects Versions: 2.1
>         Environment: java 6 update 6 + tomcat 6.0.16
>            Reporter: Bruno Braga
>            Assignee: Benson Margulies
>             Fix For: 2.1.1
>
>         Attachments: myAegisOptionsTestBeans.xml, MyService.java, MyTypeCreationOptionsSpringTest.java
>
>
> I believe that the aegis is with a bug.
> The new settings using TypeCreationOptions  are not working (or I did wrong settings and didn't show any error).
> --------------------------
>         <bean id="aegisBean" class="org.apache.cxf.aegis.databinding.AegisDatabinding">
>                 <property name="configuration">
>                         <bean class="org.apache.cxf.aegis.type.TypeCreationOptions">
>                         <property name="defaultMinOccurs" value="1"/>
>                         <property name="defaultNillable" value="false"/>
>                         </bean>
>                 </property>
>         </bean>
>            
>         <bean id="jaxws-and-aegis-service-factory"
>             class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"
>             scope="prototype">
>             <property name="dataBinding" ref="aegisBean"/>
>         </bean>
>        
>         <bean id="segurancaService" class="xxxxx.SegurancaService">
>                 <constructor-arg><ref bean="fachadaSeguranca"/></constructor-arg>  
>         </bean>
>        
>         <jaxws:endpoint id="endpointSegurancaService" implementor="#segurancaService" address="/SegurancaService">
>                 <jaxws:serviceFactory>
>                         <ref bean='jaxws-and-aegis-service-factory' />
>                 </jaxws:serviceFactory>
>             <jaxws:inInterceptors>
>               <bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor" />
>               <bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
>                 <constructor-arg>
>                   <map>
>                     <entry key="action" value="UsernameToken Timestamp" />
>                     <entry key="passwordType" value="PasswordDigest" />
>                     <entry key="passwordCallbackClass" value="xxxxx.wssecurity.PWCallback" />
>                   </map>
>                 </constructor-arg>
>               </bean>
>               <bean class="xxxxx.wssecurity.UsernameTokenInterceptor" />
>             </jaxws:inInterceptors>
>         </jaxws:endpoint>
> --------------------------
> My wsdl is being generated thus:
> <xsd:sequence>
> <xsd:element minOccurs="0" name="idSistema" type="xsd:int"/>
> <xsd:element minOccurs="0" name="idModulo" type="xsd:int"/>
> </xsd:sequence>
> It's wrong.
> minOccurs should be 1.
> TypeCreationOptions had no effect. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CXF-1628) TypeCreationOptions ignored

Posted by "Bruno Braga (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-1628?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bruno Braga updated CXF-1628:
-----------------------------

    Attachment: MyService.java
                MyTypeCreationOptionsSpringTest.java
                myAegisOptionsTestBeans.xml

test files to reproduce error

> TypeCreationOptions ignored
> ---------------------------
>
>                 Key: CXF-1628
>                 URL: https://issues.apache.org/jira/browse/CXF-1628
>             Project: CXF
>          Issue Type: Bug
>          Components: Aegis Databinding
>    Affects Versions: 2.1
>         Environment: java 6 update 6 + tomcat 6.0.16
>            Reporter: Bruno Braga
>            Assignee: Benson Margulies
>             Fix For: 2.1.1
>
>         Attachments: myAegisOptionsTestBeans.xml, MyService.java, MyTypeCreationOptionsSpringTest.java
>
>
> I believe that the aegis is with a bug.
> The new settings using TypeCreationOptions  are not working (or I did wrong settings and didn't show any error).
> --------------------------
>         <bean id="aegisBean" class="org.apache.cxf.aegis.databinding.AegisDatabinding">
>                 <property name="configuration">
>                         <bean class="org.apache.cxf.aegis.type.TypeCreationOptions">
>                         <property name="defaultMinOccurs" value="1"/>
>                         <property name="defaultNillable" value="false"/>
>                         </bean>
>                 </property>
>         </bean>
>            
>         <bean id="jaxws-and-aegis-service-factory"
>             class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"
>             scope="prototype">
>             <property name="dataBinding" ref="aegisBean"/>
>         </bean>
>        
>         <bean id="segurancaService" class="xxxxx.SegurancaService">
>                 <constructor-arg><ref bean="fachadaSeguranca"/></constructor-arg>  
>         </bean>
>        
>         <jaxws:endpoint id="endpointSegurancaService" implementor="#segurancaService" address="/SegurancaService">
>                 <jaxws:serviceFactory>
>                         <ref bean='jaxws-and-aegis-service-factory' />
>                 </jaxws:serviceFactory>
>             <jaxws:inInterceptors>
>               <bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor" />
>               <bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
>                 <constructor-arg>
>                   <map>
>                     <entry key="action" value="UsernameToken Timestamp" />
>                     <entry key="passwordType" value="PasswordDigest" />
>                     <entry key="passwordCallbackClass" value="xxxxx.wssecurity.PWCallback" />
>                   </map>
>                 </constructor-arg>
>               </bean>
>               <bean class="xxxxx.wssecurity.UsernameTokenInterceptor" />
>             </jaxws:inInterceptors>
>         </jaxws:endpoint>
> --------------------------
> My wsdl is being generated thus:
> <xsd:sequence>
> <xsd:element minOccurs="0" name="idSistema" type="xsd:int"/>
> <xsd:element minOccurs="0" name="idModulo" type="xsd:int"/>
> </xsd:sequence>
> It's wrong.
> minOccurs should be 1.
> TypeCreationOptions had no effect. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CXF-1628) TypeCreationOptions ignored

Posted by "Benson Margulies (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CXF-1628?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12602099#action_12602099 ] 

Benson Margulies commented on CXF-1628:
---------------------------------------

The unit test for this uses the API, not Spring. I'll set up a Spring test case.

> TypeCreationOptions ignored
> ---------------------------
>
>                 Key: CXF-1628
>                 URL: https://issues.apache.org/jira/browse/CXF-1628
>             Project: CXF
>          Issue Type: Bug
>          Components: Aegis Databinding
>    Affects Versions: 2.1
>         Environment: java 6 update 6 + tomcat 6.0.16
>            Reporter: Bruno Braga
>            Assignee: Benson Margulies
>
> I believe that the aegis is with a bug.
> The new settings using TypeCreationOptions  are not working (or I did wrong settings and didn't show any error).
> --------------------------
>         <bean id="aegisBean" class="org.apache.cxf.aegis.databinding.AegisDatabinding">
>                 <property name="configuration">
>                         <bean class="org.apache.cxf.aegis.type.TypeCreationOptions">
>                         <property name="defaultMinOccurs" value="1"/>
>                         <property name="defaultNillable" value="false"/>
>                         </bean>
>                 </property>
>         </bean>
>            
>         <bean id="jaxws-and-aegis-service-factory"
>             class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"
>             scope="prototype">
>             <property name="dataBinding" ref="aegisBean"/>
>         </bean>
>        
>         <bean id="segurancaService" class="xxxxx.SegurancaService">
>                 <constructor-arg><ref bean="fachadaSeguranca"/></constructor-arg>  
>         </bean>
>        
>         <jaxws:endpoint id="endpointSegurancaService" implementor="#segurancaService" address="/SegurancaService">
>                 <jaxws:serviceFactory>
>                         <ref bean='jaxws-and-aegis-service-factory' />
>                 </jaxws:serviceFactory>
>             <jaxws:inInterceptors>
>               <bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor" />
>               <bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
>                 <constructor-arg>
>                   <map>
>                     <entry key="action" value="UsernameToken Timestamp" />
>                     <entry key="passwordType" value="PasswordDigest" />
>                     <entry key="passwordCallbackClass" value="xxxxx.wssecurity.PWCallback" />
>                   </map>
>                 </constructor-arg>
>               </bean>
>               <bean class="xxxxx.wssecurity.UsernameTokenInterceptor" />
>             </jaxws:inInterceptors>
>         </jaxws:endpoint>
> --------------------------
> My wsdl is being generated thus:
> <xsd:sequence>
> <xsd:element minOccurs="0" name="idSistema" type="xsd:int"/>
> <xsd:element minOccurs="0" name="idModulo" type="xsd:int"/>
> </xsd:sequence>
> It's wrong.
> minOccurs should be 1.
> TypeCreationOptions had no effect. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CXF-1628) TypeCreationOptions ignored

Posted by "Benson Margulies (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CXF-1628?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12602877#action_12602877 ] 

Benson Margulies commented on CXF-1628:
---------------------------------------

I definitely need more information.

Here's how I test this:

I made an @WebMethod like:

public void takeMyBean(BeanClass bean) {
}

and then I defined 

class BeanClass {
  private int[] ints;
  public int[] getInts() {return ints; }
  public void setInts(int[] n) { ints = n; }
}

Aegis makes a schema in which there is a separate ArrayOfInt type, and it has whatever minOccurs I put in the options class.

How are you getting minOccurs='0' for a plain int in a sequence?

For example, I see schemata like:

 <xsd:complexType name="BeanWithArrayNoAegisXml">
        <xsd:sequence>
            <xsd:element name="intArray" type="ns1:ArrayOfInt" />
            <xsd:element name="oneInt" type="xsd:int" />
        </xsd:sequence>
    </xsd:complexType>

Are you using a .aegis.xml file? Any @ annotations?



> TypeCreationOptions ignored
> ---------------------------
>
>                 Key: CXF-1628
>                 URL: https://issues.apache.org/jira/browse/CXF-1628
>             Project: CXF
>          Issue Type: Bug
>          Components: Aegis Databinding
>    Affects Versions: 2.1
>         Environment: java 6 update 6 + tomcat 6.0.16
>            Reporter: Bruno Braga
>            Assignee: Benson Margulies
>             Fix For: 2.1.1
>
>
> I believe that the aegis is with a bug.
> The new settings using TypeCreationOptions  are not working (or I did wrong settings and didn't show any error).
> --------------------------
>         <bean id="aegisBean" class="org.apache.cxf.aegis.databinding.AegisDatabinding">
>                 <property name="configuration">
>                         <bean class="org.apache.cxf.aegis.type.TypeCreationOptions">
>                         <property name="defaultMinOccurs" value="1"/>
>                         <property name="defaultNillable" value="false"/>
>                         </bean>
>                 </property>
>         </bean>
>            
>         <bean id="jaxws-and-aegis-service-factory"
>             class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"
>             scope="prototype">
>             <property name="dataBinding" ref="aegisBean"/>
>         </bean>
>        
>         <bean id="segurancaService" class="xxxxx.SegurancaService">
>                 <constructor-arg><ref bean="fachadaSeguranca"/></constructor-arg>  
>         </bean>
>        
>         <jaxws:endpoint id="endpointSegurancaService" implementor="#segurancaService" address="/SegurancaService">
>                 <jaxws:serviceFactory>
>                         <ref bean='jaxws-and-aegis-service-factory' />
>                 </jaxws:serviceFactory>
>             <jaxws:inInterceptors>
>               <bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor" />
>               <bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
>                 <constructor-arg>
>                   <map>
>                     <entry key="action" value="UsernameToken Timestamp" />
>                     <entry key="passwordType" value="PasswordDigest" />
>                     <entry key="passwordCallbackClass" value="xxxxx.wssecurity.PWCallback" />
>                   </map>
>                 </constructor-arg>
>               </bean>
>               <bean class="xxxxx.wssecurity.UsernameTokenInterceptor" />
>             </jaxws:inInterceptors>
>         </jaxws:endpoint>
> --------------------------
> My wsdl is being generated thus:
> <xsd:sequence>
> <xsd:element minOccurs="0" name="idSistema" type="xsd:int"/>
> <xsd:element minOccurs="0" name="idModulo" type="xsd:int"/>
> </xsd:sequence>
> It's wrong.
> minOccurs should be 1.
> TypeCreationOptions had no effect. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CXF-1628) TypeCreationOptions ignored

Posted by "Benson Margulies (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CXF-1628?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12603014#action_12603014 ] 

Benson Margulies commented on CXF-1628:
---------------------------------------

I'm afraid that I know what is going on here.

The parameters of your service are under the control of JAX-WS. Dan is the expert, but my suspicion is that JAX-WS forces the behavior you don't like.

Can you use the Simple front end instead of JAX-WS?

I could be wrong here, so I'm going to ask Dan to way in.

If this is supposed to work, I'll dive back into the code and see what's going on.


> TypeCreationOptions ignored
> ---------------------------
>
>                 Key: CXF-1628
>                 URL: https://issues.apache.org/jira/browse/CXF-1628
>             Project: CXF
>          Issue Type: Bug
>          Components: Aegis Databinding
>    Affects Versions: 2.1
>         Environment: java 6 update 6 + tomcat 6.0.16
>            Reporter: Bruno Braga
>            Assignee: Benson Margulies
>             Fix For: 2.1.1
>
>         Attachments: myAegisOptionsTestBeans.xml, MyService.java, MyTypeCreationOptionsSpringTest.java
>
>
> I believe that the aegis is with a bug.
> The new settings using TypeCreationOptions  are not working (or I did wrong settings and didn't show any error).
> --------------------------
>         <bean id="aegisBean" class="org.apache.cxf.aegis.databinding.AegisDatabinding">
>                 <property name="configuration">
>                         <bean class="org.apache.cxf.aegis.type.TypeCreationOptions">
>                         <property name="defaultMinOccurs" value="1"/>
>                         <property name="defaultNillable" value="false"/>
>                         </bean>
>                 </property>
>         </bean>
>            
>         <bean id="jaxws-and-aegis-service-factory"
>             class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"
>             scope="prototype">
>             <property name="dataBinding" ref="aegisBean"/>
>         </bean>
>        
>         <bean id="segurancaService" class="xxxxx.SegurancaService">
>                 <constructor-arg><ref bean="fachadaSeguranca"/></constructor-arg>  
>         </bean>
>        
>         <jaxws:endpoint id="endpointSegurancaService" implementor="#segurancaService" address="/SegurancaService">
>                 <jaxws:serviceFactory>
>                         <ref bean='jaxws-and-aegis-service-factory' />
>                 </jaxws:serviceFactory>
>             <jaxws:inInterceptors>
>               <bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor" />
>               <bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
>                 <constructor-arg>
>                   <map>
>                     <entry key="action" value="UsernameToken Timestamp" />
>                     <entry key="passwordType" value="PasswordDigest" />
>                     <entry key="passwordCallbackClass" value="xxxxx.wssecurity.PWCallback" />
>                   </map>
>                 </constructor-arg>
>               </bean>
>               <bean class="xxxxx.wssecurity.UsernameTokenInterceptor" />
>             </jaxws:inInterceptors>
>         </jaxws:endpoint>
> --------------------------
> My wsdl is being generated thus:
> <xsd:sequence>
> <xsd:element minOccurs="0" name="idSistema" type="xsd:int"/>
> <xsd:element minOccurs="0" name="idModulo" type="xsd:int"/>
> </xsd:sequence>
> It's wrong.
> minOccurs should be 1.
> TypeCreationOptions had no effect. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (CXF-1628) TypeCreationOptions ignored

Posted by "Benson Margulies (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-1628?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Benson Margulies resolved CXF-1628.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: 2.1.1

I committed something that makes the test I created pass.


> TypeCreationOptions ignored
> ---------------------------
>
>                 Key: CXF-1628
>                 URL: https://issues.apache.org/jira/browse/CXF-1628
>             Project: CXF
>          Issue Type: Bug
>          Components: Aegis Databinding
>    Affects Versions: 2.1
>         Environment: java 6 update 6 + tomcat 6.0.16
>            Reporter: Bruno Braga
>            Assignee: Benson Margulies
>             Fix For: 2.1.1
>
>
> I believe that the aegis is with a bug.
> The new settings using TypeCreationOptions  are not working (or I did wrong settings and didn't show any error).
> --------------------------
>         <bean id="aegisBean" class="org.apache.cxf.aegis.databinding.AegisDatabinding">
>                 <property name="configuration">
>                         <bean class="org.apache.cxf.aegis.type.TypeCreationOptions">
>                         <property name="defaultMinOccurs" value="1"/>
>                         <property name="defaultNillable" value="false"/>
>                         </bean>
>                 </property>
>         </bean>
>            
>         <bean id="jaxws-and-aegis-service-factory"
>             class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"
>             scope="prototype">
>             <property name="dataBinding" ref="aegisBean"/>
>         </bean>
>        
>         <bean id="segurancaService" class="xxxxx.SegurancaService">
>                 <constructor-arg><ref bean="fachadaSeguranca"/></constructor-arg>  
>         </bean>
>        
>         <jaxws:endpoint id="endpointSegurancaService" implementor="#segurancaService" address="/SegurancaService">
>                 <jaxws:serviceFactory>
>                         <ref bean='jaxws-and-aegis-service-factory' />
>                 </jaxws:serviceFactory>
>             <jaxws:inInterceptors>
>               <bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor" />
>               <bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
>                 <constructor-arg>
>                   <map>
>                     <entry key="action" value="UsernameToken Timestamp" />
>                     <entry key="passwordType" value="PasswordDigest" />
>                     <entry key="passwordCallbackClass" value="xxxxx.wssecurity.PWCallback" />
>                   </map>
>                 </constructor-arg>
>               </bean>
>               <bean class="xxxxx.wssecurity.UsernameTokenInterceptor" />
>             </jaxws:inInterceptors>
>         </jaxws:endpoint>
> --------------------------
> My wsdl is being generated thus:
> <xsd:sequence>
> <xsd:element minOccurs="0" name="idSistema" type="xsd:int"/>
> <xsd:element minOccurs="0" name="idModulo" type="xsd:int"/>
> </xsd:sequence>
> It's wrong.
> minOccurs should be 1.
> TypeCreationOptions had no effect. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CXF-1628) TypeCreationOptions ignored

Posted by "Benson Margulies (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CXF-1628?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12625231#action_12625231 ] 

Benson Margulies commented on CXF-1628:
---------------------------------------

I'm reasonably certain that you hit the fact that Aegis was failing to communicate minOccurs, maxOccurs, and nillable \for parameters/ to the RFSB. I'm fixed that now.



> TypeCreationOptions ignored
> ---------------------------
>
>                 Key: CXF-1628
>                 URL: https://issues.apache.org/jira/browse/CXF-1628
>             Project: CXF
>          Issue Type: Bug
>          Components: Aegis Databinding
>    Affects Versions: 2.1
>         Environment: java 6 update 6 + tomcat 6.0.16
>            Reporter: Bruno Braga
>            Assignee: Benson Margulies
>             Fix For: 2.1.3
>
>         Attachments: myAegisOptionsTestBeans.xml, MyService.java, MyTypeCreationOptionsSpringTest.java
>
>
> I believe that the aegis is with a bug.
> The new settings using TypeCreationOptions  are not working (or I did wrong settings and didn't show any error).
> --------------------------
>         <bean id="aegisBean" class="org.apache.cxf.aegis.databinding.AegisDatabinding">
>                 <property name="configuration">
>                         <bean class="org.apache.cxf.aegis.type.TypeCreationOptions">
>                         <property name="defaultMinOccurs" value="1"/>
>                         <property name="defaultNillable" value="false"/>
>                         </bean>
>                 </property>
>         </bean>
>            
>         <bean id="jaxws-and-aegis-service-factory"
>             class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"
>             scope="prototype">
>             <property name="dataBinding" ref="aegisBean"/>
>         </bean>
>        
>         <bean id="segurancaService" class="xxxxx.SegurancaService">
>                 <constructor-arg><ref bean="fachadaSeguranca"/></constructor-arg>  
>         </bean>
>        
>         <jaxws:endpoint id="endpointSegurancaService" implementor="#segurancaService" address="/SegurancaService">
>                 <jaxws:serviceFactory>
>                         <ref bean='jaxws-and-aegis-service-factory' />
>                 </jaxws:serviceFactory>
>             <jaxws:inInterceptors>
>               <bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor" />
>               <bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
>                 <constructor-arg>
>                   <map>
>                     <entry key="action" value="UsernameToken Timestamp" />
>                     <entry key="passwordType" value="PasswordDigest" />
>                     <entry key="passwordCallbackClass" value="xxxxx.wssecurity.PWCallback" />
>                   </map>
>                 </constructor-arg>
>               </bean>
>               <bean class="xxxxx.wssecurity.UsernameTokenInterceptor" />
>             </jaxws:inInterceptors>
>         </jaxws:endpoint>
> --------------------------
> My wsdl is being generated thus:
> <xsd:sequence>
> <xsd:element minOccurs="0" name="idSistema" type="xsd:int"/>
> <xsd:element minOccurs="0" name="idModulo" type="xsd:int"/>
> </xsd:sequence>
> It's wrong.
> minOccurs should be 1.
> TypeCreationOptions had no effect. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Issue Comment Edited: (CXF-1628) TypeCreationOptions ignored

Posted by "Bruno Braga (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CXF-1628?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12602882#action_12602882 ] 

bruno.braga edited comment on CXF-1628 at 6/5/08 7:14 PM:
----------------------------------------------------------

Hi Benson,

I was beginning to prepare a project using your test files ...
But I will answer some things here to detail the problem better.

	
This "alterarVisao" is an operation, not a class.

<xsd:complexType name="alterarVisao">
<xsd:sequence>
<xsd:element minOccurs="0" name="idSistema" type="xsd:int"/>
<xsd:element minOccurs="0" name="nomeVisao" type="xsd:string"/>
<xsd:element minOccurs="0" name="codigoVisao" type="xsd:string"/>
<xsd:element minOccurs="0" name="idVisao" type="xsd:short"/>
</xsd:sequence>
</xsd:complexType> 

See the code of WS and annotations:

@WebMethod
public Visao alterarVisao(@WebParam(name="idSistema") Integer idSistema, @WebParam(name="nomeVisao") String nomeVisao, @WebParam(name="codigoVisao") String codigoVisao, @WebParam(name="idVisao") Short idVisao) throws SegurancaException {

Using JAX or Aegis I have a minOccurs="0" for each field of operation.
This causes a big problem for the .Net client.

I have the same WS in Axis 1. The WSDL is generated correctly (I'm trying to migrate to CXF):
<wsdl:message name="alterarVisaoRequest">
<wsdl:part name="idSistema" type="xsd:int"/>
<wsdl:part name="nomeVisao" type="xsd:string"/>
<wsdl:part name="codigoVisao" type="xsd:string"/>
<wsdl:part name="idVisao" type="xsd:short"/>
</wsdl:message>

I'm seeing now that my operation of the Axis 1 (wsdl:message) is generated as xsd:complexType in Aegis...

But the important is: I don't have minOccurs="0" in WS parameters using Axis, and that is my problem of interop:
http://geekswithblogs.net/shahed/archive/2007/07/11/113881.aspx 

      was (Author: bruno.braga):
    Hi Benson,

I was beginning to prepare a project using its files to test ...
But I will answer some things here to detail the problem better.

	
This "alterarVisao" is an operation, not a class.

<xsd:complexType name="alterarVisao">
<xsd:sequence>
<xsd:element minOccurs="0" name="idSistema" type="xsd:int"/>
<xsd:element minOccurs="0" name="nomeVisao" type="xsd:string"/>
<xsd:element minOccurs="0" name="codigoVisao" type="xsd:string"/>
<xsd:element minOccurs="0" name="idVisao" type="xsd:short"/>
</xsd:sequence>
</xsd:complexType> 

See the code of WS and annotations:

@WebMethod
public Visao alterarVisao(@WebParam(name="idSistema") Integer idSistema, @WebParam(name="nomeVisao") String nomeVisao, @WebParam(name="codigoVisao") String codigoVisao, @WebParam(name="idVisao") Short idVisao) throws SegurancaException {

Using JAX or Aegis I have a minOccurs="0" for each field of operation.
This causes a big problem for the .Net client.

I have the same WS in Axis 1. The WSDL is generated correctly (I'm trying to migrate to CXF):
<wsdl:message name="alterarVisaoRequest">
<wsdl:part name="idSistema" type="xsd:int"/>
<wsdl:part name="nomeVisao" type="xsd:string"/>
<wsdl:part name="codigoVisao" type="xsd:string"/>
<wsdl:part name="idVisao" type="xsd:short"/>
</wsdl:message>

I'm seeing now that my operation of the Axis 1 (wsdl:message) is generated as xsd:complexType in Aegis...

But the important is: I don't have minOccurs="0" in WS parameters using Axis, and that is my problem of interop:
http://geekswithblogs.net/shahed/archive/2007/07/11/113881.aspx 
  
> TypeCreationOptions ignored
> ---------------------------
>
>                 Key: CXF-1628
>                 URL: https://issues.apache.org/jira/browse/CXF-1628
>             Project: CXF
>          Issue Type: Bug
>          Components: Aegis Databinding
>    Affects Versions: 2.1
>         Environment: java 6 update 6 + tomcat 6.0.16
>            Reporter: Bruno Braga
>            Assignee: Benson Margulies
>             Fix For: 2.1.1
>
>
> I believe that the aegis is with a bug.
> The new settings using TypeCreationOptions  are not working (or I did wrong settings and didn't show any error).
> --------------------------
>         <bean id="aegisBean" class="org.apache.cxf.aegis.databinding.AegisDatabinding">
>                 <property name="configuration">
>                         <bean class="org.apache.cxf.aegis.type.TypeCreationOptions">
>                         <property name="defaultMinOccurs" value="1"/>
>                         <property name="defaultNillable" value="false"/>
>                         </bean>
>                 </property>
>         </bean>
>            
>         <bean id="jaxws-and-aegis-service-factory"
>             class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"
>             scope="prototype">
>             <property name="dataBinding" ref="aegisBean"/>
>         </bean>
>        
>         <bean id="segurancaService" class="xxxxx.SegurancaService">
>                 <constructor-arg><ref bean="fachadaSeguranca"/></constructor-arg>  
>         </bean>
>        
>         <jaxws:endpoint id="endpointSegurancaService" implementor="#segurancaService" address="/SegurancaService">
>                 <jaxws:serviceFactory>
>                         <ref bean='jaxws-and-aegis-service-factory' />
>                 </jaxws:serviceFactory>
>             <jaxws:inInterceptors>
>               <bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor" />
>               <bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
>                 <constructor-arg>
>                   <map>
>                     <entry key="action" value="UsernameToken Timestamp" />
>                     <entry key="passwordType" value="PasswordDigest" />
>                     <entry key="passwordCallbackClass" value="xxxxx.wssecurity.PWCallback" />
>                   </map>
>                 </constructor-arg>
>               </bean>
>               <bean class="xxxxx.wssecurity.UsernameTokenInterceptor" />
>             </jaxws:inInterceptors>
>         </jaxws:endpoint>
> --------------------------
> My wsdl is being generated thus:
> <xsd:sequence>
> <xsd:element minOccurs="0" name="idSistema" type="xsd:int"/>
> <xsd:element minOccurs="0" name="idModulo" type="xsd:int"/>
> </xsd:sequence>
> It's wrong.
> minOccurs should be 1.
> TypeCreationOptions had no effect. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Reopened: (CXF-1628) TypeCreationOptions ignored

Posted by "Bruno Braga (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-1628?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bruno Braga reopened CXF-1628:
------------------------------


Hi Benson,

Thanks for changing!
	
But I did tests with the apache-cxf-2.1.1-20080604.152030-9.zip and the problem continues...

	
This is part of my WSDL:

<xsd:complexType name="alterarVisao">
<xsd:sequence>
<xsd:element minOccurs="0" name="idSistema" type="xsd:int"/>
<xsd:element minOccurs="0" name="nomeVisao" type="xsd:string"/>
<xsd:element minOccurs="0" name="codigoVisao" type="xsd:string"/>
<xsd:element minOccurs="0" name="idVisao" type="xsd:short"/>
</xsd:sequence>
</xsd:complexType>

WSDL element has minOccurs="0" :/
I must change or remove it.
	
TypeCreationOptions was ignored for these elements.

> TypeCreationOptions ignored
> ---------------------------
>
>                 Key: CXF-1628
>                 URL: https://issues.apache.org/jira/browse/CXF-1628
>             Project: CXF
>          Issue Type: Bug
>          Components: Aegis Databinding
>    Affects Versions: 2.1
>         Environment: java 6 update 6 + tomcat 6.0.16
>            Reporter: Bruno Braga
>            Assignee: Benson Margulies
>             Fix For: 2.1.1
>
>
> I believe that the aegis is with a bug.
> The new settings using TypeCreationOptions  are not working (or I did wrong settings and didn't show any error).
> --------------------------
>         <bean id="aegisBean" class="org.apache.cxf.aegis.databinding.AegisDatabinding">
>                 <property name="configuration">
>                         <bean class="org.apache.cxf.aegis.type.TypeCreationOptions">
>                         <property name="defaultMinOccurs" value="1"/>
>                         <property name="defaultNillable" value="false"/>
>                         </bean>
>                 </property>
>         </bean>
>            
>         <bean id="jaxws-and-aegis-service-factory"
>             class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"
>             scope="prototype">
>             <property name="dataBinding" ref="aegisBean"/>
>         </bean>
>        
>         <bean id="segurancaService" class="xxxxx.SegurancaService">
>                 <constructor-arg><ref bean="fachadaSeguranca"/></constructor-arg>  
>         </bean>
>        
>         <jaxws:endpoint id="endpointSegurancaService" implementor="#segurancaService" address="/SegurancaService">
>                 <jaxws:serviceFactory>
>                         <ref bean='jaxws-and-aegis-service-factory' />
>                 </jaxws:serviceFactory>
>             <jaxws:inInterceptors>
>               <bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor" />
>               <bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
>                 <constructor-arg>
>                   <map>
>                     <entry key="action" value="UsernameToken Timestamp" />
>                     <entry key="passwordType" value="PasswordDigest" />
>                     <entry key="passwordCallbackClass" value="xxxxx.wssecurity.PWCallback" />
>                   </map>
>                 </constructor-arg>
>               </bean>
>               <bean class="xxxxx.wssecurity.UsernameTokenInterceptor" />
>             </jaxws:inInterceptors>
>         </jaxws:endpoint>
> --------------------------
> My wsdl is being generated thus:
> <xsd:sequence>
> <xsd:element minOccurs="0" name="idSistema" type="xsd:int"/>
> <xsd:element minOccurs="0" name="idModulo" type="xsd:int"/>
> </xsd:sequence>
> It's wrong.
> minOccurs should be 1.
> TypeCreationOptions had no effect. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (CXF-1628) TypeCreationOptions ignored

Posted by "Benson Margulies (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-1628?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Benson Margulies resolved CXF-1628.
-----------------------------------

       Resolution: Fixed
    Fix Version/s:     (was: 2.1.3)
                   2.2

As above.

> TypeCreationOptions ignored
> ---------------------------
>
>                 Key: CXF-1628
>                 URL: https://issues.apache.org/jira/browse/CXF-1628
>             Project: CXF
>          Issue Type: Bug
>          Components: Aegis Databinding
>    Affects Versions: 2.1
>         Environment: java 6 update 6 + tomcat 6.0.16
>            Reporter: Bruno Braga
>            Assignee: Benson Margulies
>             Fix For: 2.2
>
>         Attachments: myAegisOptionsTestBeans.xml, MyService.java, MyTypeCreationOptionsSpringTest.java
>
>
> I believe that the aegis is with a bug.
> The new settings using TypeCreationOptions  are not working (or I did wrong settings and didn't show any error).
> --------------------------
>         <bean id="aegisBean" class="org.apache.cxf.aegis.databinding.AegisDatabinding">
>                 <property name="configuration">
>                         <bean class="org.apache.cxf.aegis.type.TypeCreationOptions">
>                         <property name="defaultMinOccurs" value="1"/>
>                         <property name="defaultNillable" value="false"/>
>                         </bean>
>                 </property>
>         </bean>
>            
>         <bean id="jaxws-and-aegis-service-factory"
>             class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"
>             scope="prototype">
>             <property name="dataBinding" ref="aegisBean"/>
>         </bean>
>        
>         <bean id="segurancaService" class="xxxxx.SegurancaService">
>                 <constructor-arg><ref bean="fachadaSeguranca"/></constructor-arg>  
>         </bean>
>        
>         <jaxws:endpoint id="endpointSegurancaService" implementor="#segurancaService" address="/SegurancaService">
>                 <jaxws:serviceFactory>
>                         <ref bean='jaxws-and-aegis-service-factory' />
>                 </jaxws:serviceFactory>
>             <jaxws:inInterceptors>
>               <bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor" />
>               <bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
>                 <constructor-arg>
>                   <map>
>                     <entry key="action" value="UsernameToken Timestamp" />
>                     <entry key="passwordType" value="PasswordDigest" />
>                     <entry key="passwordCallbackClass" value="xxxxx.wssecurity.PWCallback" />
>                   </map>
>                 </constructor-arg>
>               </bean>
>               <bean class="xxxxx.wssecurity.UsernameTokenInterceptor" />
>             </jaxws:inInterceptors>
>         </jaxws:endpoint>
> --------------------------
> My wsdl is being generated thus:
> <xsd:sequence>
> <xsd:element minOccurs="0" name="idSistema" type="xsd:int"/>
> <xsd:element minOccurs="0" name="idModulo" type="xsd:int"/>
> </xsd:sequence>
> It's wrong.
> minOccurs should be 1.
> TypeCreationOptions had no effect. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (CXF-1628) TypeCreationOptions ignored

Posted by "Benson Margulies (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-1628?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Benson Margulies reassigned CXF-1628:
-------------------------------------

    Assignee: Benson Margulies

> TypeCreationOptions ignored
> ---------------------------
>
>                 Key: CXF-1628
>                 URL: https://issues.apache.org/jira/browse/CXF-1628
>             Project: CXF
>          Issue Type: Bug
>          Components: Aegis Databinding
>    Affects Versions: 2.1
>         Environment: java 6 update 6 + tomcat 6.0.16
>            Reporter: Bruno Braga
>            Assignee: Benson Margulies
>
> I believe that the aegis is with a bug.
> The new settings using TypeCreationOptions  are not working (or I did wrong settings and didn't show any error).
> --------------------------
>         <bean id="aegisBean" class="org.apache.cxf.aegis.databinding.AegisDatabinding">
>                 <property name="configuration">
>                         <bean class="org.apache.cxf.aegis.type.TypeCreationOptions">
>                         <property name="defaultMinOccurs" value="1"/>
>                         <property name="defaultNillable" value="false"/>
>                         </bean>
>                 </property>
>         </bean>
>            
>         <bean id="jaxws-and-aegis-service-factory"
>             class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"
>             scope="prototype">
>             <property name="dataBinding" ref="aegisBean"/>
>         </bean>
>        
>         <bean id="segurancaService" class="xxxxx.SegurancaService">
>                 <constructor-arg><ref bean="fachadaSeguranca"/></constructor-arg>  
>         </bean>
>        
>         <jaxws:endpoint id="endpointSegurancaService" implementor="#segurancaService" address="/SegurancaService">
>                 <jaxws:serviceFactory>
>                         <ref bean='jaxws-and-aegis-service-factory' />
>                 </jaxws:serviceFactory>
>             <jaxws:inInterceptors>
>               <bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor" />
>               <bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
>                 <constructor-arg>
>                   <map>
>                     <entry key="action" value="UsernameToken Timestamp" />
>                     <entry key="passwordType" value="PasswordDigest" />
>                     <entry key="passwordCallbackClass" value="xxxxx.wssecurity.PWCallback" />
>                   </map>
>                 </constructor-arg>
>               </bean>
>               <bean class="xxxxx.wssecurity.UsernameTokenInterceptor" />
>             </jaxws:inInterceptors>
>         </jaxws:endpoint>
> --------------------------
> My wsdl is being generated thus:
> <xsd:sequence>
> <xsd:element minOccurs="0" name="idSistema" type="xsd:int"/>
> <xsd:element minOccurs="0" name="idModulo" type="xsd:int"/>
> </xsd:sequence>
> It's wrong.
> minOccurs should be 1.
> TypeCreationOptions had no effect. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CXF-1628) TypeCreationOptions ignored

Posted by "Bruno Braga (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CXF-1628?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12602882#action_12602882 ] 

Bruno Braga commented on CXF-1628:
----------------------------------

Hi Benson,

I was beginning to prepare a project using its files to test ...
But I will answer some things here to detail the problem better.

	
This "alterarVisao" is an operation, not a class.

<xsd:complexType name="alterarVisao">
<xsd:sequence>
<xsd:element minOccurs="0" name="idSistema" type="xsd:int"/>
<xsd:element minOccurs="0" name="nomeVisao" type="xsd:string"/>
<xsd:element minOccurs="0" name="codigoVisao" type="xsd:string"/>
<xsd:element minOccurs="0" name="idVisao" type="xsd:short"/>
</xsd:sequence>
</xsd:complexType> 

See the code of WS and annotations:

@WebMethod
public Visao alterarVisao(@WebParam(name="idSistema") Integer idSistema, @WebParam(name="nomeVisao") String nomeVisao, @WebParam(name="codigoVisao") String codigoVisao, @WebParam(name="idVisao") Short idVisao) throws SegurancaException {

Using JAX or Aegis I have a minOccurs="0" for each field of operation.
This causes a big problem for the .Net client.

I have the same WS in Axis 1. The WSDL is generated correctly (I'm trying to migrate to CXF):
<wsdl:message name="alterarVisaoRequest">
<wsdl:part name="idSistema" type="xsd:int"/>
<wsdl:part name="nomeVisao" type="xsd:string"/>
<wsdl:part name="codigoVisao" type="xsd:string"/>
<wsdl:part name="idVisao" type="xsd:short"/>
</wsdl:message>

I'm seeing now that my operation of the Axis 1 (wsdl:message) is generated as xsd:complexType in Aegis...

But the important is: I don't have minOccurs="0" in WS parameters using Axis, and that is my problem of interop:
http://geekswithblogs.net/shahed/archive/2007/07/11/113881.aspx 

> TypeCreationOptions ignored
> ---------------------------
>
>                 Key: CXF-1628
>                 URL: https://issues.apache.org/jira/browse/CXF-1628
>             Project: CXF
>          Issue Type: Bug
>          Components: Aegis Databinding
>    Affects Versions: 2.1
>         Environment: java 6 update 6 + tomcat 6.0.16
>            Reporter: Bruno Braga
>            Assignee: Benson Margulies
>             Fix For: 2.1.1
>
>
> I believe that the aegis is with a bug.
> The new settings using TypeCreationOptions  are not working (or I did wrong settings and didn't show any error).
> --------------------------
>         <bean id="aegisBean" class="org.apache.cxf.aegis.databinding.AegisDatabinding">
>                 <property name="configuration">
>                         <bean class="org.apache.cxf.aegis.type.TypeCreationOptions">
>                         <property name="defaultMinOccurs" value="1"/>
>                         <property name="defaultNillable" value="false"/>
>                         </bean>
>                 </property>
>         </bean>
>            
>         <bean id="jaxws-and-aegis-service-factory"
>             class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"
>             scope="prototype">
>             <property name="dataBinding" ref="aegisBean"/>
>         </bean>
>        
>         <bean id="segurancaService" class="xxxxx.SegurancaService">
>                 <constructor-arg><ref bean="fachadaSeguranca"/></constructor-arg>  
>         </bean>
>        
>         <jaxws:endpoint id="endpointSegurancaService" implementor="#segurancaService" address="/SegurancaService">
>                 <jaxws:serviceFactory>
>                         <ref bean='jaxws-and-aegis-service-factory' />
>                 </jaxws:serviceFactory>
>             <jaxws:inInterceptors>
>               <bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor" />
>               <bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
>                 <constructor-arg>
>                   <map>
>                     <entry key="action" value="UsernameToken Timestamp" />
>                     <entry key="passwordType" value="PasswordDigest" />
>                     <entry key="passwordCallbackClass" value="xxxxx.wssecurity.PWCallback" />
>                   </map>
>                 </constructor-arg>
>               </bean>
>               <bean class="xxxxx.wssecurity.UsernameTokenInterceptor" />
>             </jaxws:inInterceptors>
>         </jaxws:endpoint>
> --------------------------
> My wsdl is being generated thus:
> <xsd:sequence>
> <xsd:element minOccurs="0" name="idSistema" type="xsd:int"/>
> <xsd:element minOccurs="0" name="idModulo" type="xsd:int"/>
> </xsd:sequence>
> It's wrong.
> minOccurs should be 1.
> TypeCreationOptions had no effect. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CXF-1628) TypeCreationOptions ignored

Posted by "Bruno Braga (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CXF-1628?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12602909#action_12602909 ] 

Bruno Braga commented on CXF-1628:
----------------------------------

about my observation of xsd:complexType and wsdl:message:

CXF uses tns to MAP a complexType to wsdl:message (axis1 use wsdl:part directly):
---------
<xsd:element name="alterarVisao" type="tns:alterarVisao"/>
<xsd:complexType name="alterarVisao">
<xsd:sequence>
<xsd:element minOccurs="0" name="idSistema" type="xsd:int"/>
<xsd:element minOccurs="0" name="nomeVisao" type="xsd:string"/>
<xsd:element minOccurs="0" name="codigoVisao" type="xsd:string"/>
<xsd:element minOccurs="0" name="idVisao" type="xsd:short"/>
</xsd:sequence>
</xsd:complexType>
---------
<wsdl:message name="alterarVisao">
<wsdl:part element="tns:alterarVisao" name="parameters">
    </wsdl:part>
</wsdl:message>
---------

but complexType of Objects could have different rules of params complexType.
default minOccurs="0" to int / string params is useful?


> TypeCreationOptions ignored
> ---------------------------
>
>                 Key: CXF-1628
>                 URL: https://issues.apache.org/jira/browse/CXF-1628
>             Project: CXF
>          Issue Type: Bug
>          Components: Aegis Databinding
>    Affects Versions: 2.1
>         Environment: java 6 update 6 + tomcat 6.0.16
>            Reporter: Bruno Braga
>            Assignee: Benson Margulies
>             Fix For: 2.1.1
>
>
> I believe that the aegis is with a bug.
> The new settings using TypeCreationOptions  are not working (or I did wrong settings and didn't show any error).
> --------------------------
>         <bean id="aegisBean" class="org.apache.cxf.aegis.databinding.AegisDatabinding">
>                 <property name="configuration">
>                         <bean class="org.apache.cxf.aegis.type.TypeCreationOptions">
>                         <property name="defaultMinOccurs" value="1"/>
>                         <property name="defaultNillable" value="false"/>
>                         </bean>
>                 </property>
>         </bean>
>            
>         <bean id="jaxws-and-aegis-service-factory"
>             class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"
>             scope="prototype">
>             <property name="dataBinding" ref="aegisBean"/>
>         </bean>
>        
>         <bean id="segurancaService" class="xxxxx.SegurancaService">
>                 <constructor-arg><ref bean="fachadaSeguranca"/></constructor-arg>  
>         </bean>
>        
>         <jaxws:endpoint id="endpointSegurancaService" implementor="#segurancaService" address="/SegurancaService">
>                 <jaxws:serviceFactory>
>                         <ref bean='jaxws-and-aegis-service-factory' />
>                 </jaxws:serviceFactory>
>             <jaxws:inInterceptors>
>               <bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor" />
>               <bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
>                 <constructor-arg>
>                   <map>
>                     <entry key="action" value="UsernameToken Timestamp" />
>                     <entry key="passwordType" value="PasswordDigest" />
>                     <entry key="passwordCallbackClass" value="xxxxx.wssecurity.PWCallback" />
>                   </map>
>                 </constructor-arg>
>               </bean>
>               <bean class="xxxxx.wssecurity.UsernameTokenInterceptor" />
>             </jaxws:inInterceptors>
>         </jaxws:endpoint>
> --------------------------
> My wsdl is being generated thus:
> <xsd:sequence>
> <xsd:element minOccurs="0" name="idSistema" type="xsd:int"/>
> <xsd:element minOccurs="0" name="idModulo" type="xsd:int"/>
> </xsd:sequence>
> It's wrong.
> minOccurs should be 1.
> TypeCreationOptions had no effect. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.