[ 
https://issues.apache.org/jira/browse/CXF-962?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12526329
 ] 

benson margulies commented on CXF-962:
--------------------------------------

I see the problem.

AegisDatabinding.getParameterType calls XMLTypeCreator.createType. That method 
figures out all the name mapping, but the results are partially discarded, 
since the TypeClassInfo that comes from CreateClassInfo never makes it far 
enough back out to get copied into the MessagePartInfo (particularly the 
parameter name).

I would really prefer to see some commentary from Dan D as to how to fix this 
.. it looks to me as if the contents of createType(Method m, int index) needs 
to just be inlined into getParameterType, so that the later can push 
information into the MessagePartInfo. But I'm pretty new to this.


> Aegis mappings not reflecting in wsdl method parameters
> -------------------------------------------------------
>
>                 Key: CXF-962
>                 URL: https://issues.apache.org/jira/browse/CXF-962
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 2.0.1
>            Reporter: Tawfik Lachheb
>            Priority: Blocker
>
> I am trying to migrate from xfire to cxf but need to re-use the aegis mapping 
> files we already have.  I have tried using both the simple frontend and the 
> jax-ws front end but I get the same problem.  Here is my config:
> <beans xmlns="http://www.springframework.org/schema/beans";
>       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>       xmlns:simple="http://cxf.apache.org/simple";
>       xsi:schemaLocation="http://www.springframework.org/schema/beans 
> http://www.springframework.org/schema/beans/spring-beans.xsd 
> http://cxf.apache.org/simple http://cxf.apache.org/schemas/simple.xsd";>
>     <import resource="classpath:services_definition.xml" />
>     <import resource="classpath:META-INF/cxf/cxf.xml" />
>     <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
>     <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
>    <simple:server id="spatialQuery" serviceClass="ISpatialQuery" 
> address="/SpatialQuery">
>       <simple:dataBinding>
>          <bean class="org.apache.cxf.aegis.databinding.AegisDatabinding" />
>       </simple:dataBinding>
>       <simple:serviceBean>
>          <ref bean="spatialqueryService" /><!-- defined in 
> services_definition.xml -->
>       </simple:serviceBean>
>       <!-- did not help...
>       <simple:serviceFactory>
>          <ref bean="serviceFactory"/>
>       </simple:serviceFactory>
>       -->
>    </simple:server>
> </bens>
> The aegis mapping files are taking effect for the object model and the schema 
> for all objects look as they should.  The problem is limited to method 
> parameters.  What I get in the wsdl for one of the methods looks like this:
> <complexType name="findFeaturesByExtent">
>  <sequence>
>   <element minOccurs="0" name="arg0" type="ns0:Envelope" /> 
>   <element minOccurs="0" name="arg1" type="ns0:SpatialQueryOptions" /> 
>   <element minOccurs="0" name="arg2" type="string" /> 
>   </sequence>
>   </complexType>
> but it should be (based on the aegis mapping files and the wsdl from xfire 
> with those same mapping files):
> <xsd:element name="findFeaturesByExtent">
>  <xsd:complexType>
>  <xsd:sequence>
>   <xsd:element maxOccurs="1" minOccurs="1" name="extent" nillable="true" 
> type="tns:Envelope" /> 
>   <xsd:element maxOccurs="1" minOccurs="1" name="spatialQueryOptions" 
> nillable="true" type="tns:SpatialQueryOptions" /> 
>   <xsd:element maxOccurs="1" minOccurs="1" name="token" nillable="true" 
> type="xsd:string" /> 
>   </xsd:sequence>
>   </xsd:complexType>
> Note that I do see that the mapping file for the service is being read but it 
> is just not reflecting on the wsdl:
> [01 Sep 07 09:35:25][main XMLTypeCreator DEBUG][getDocument:112]      Found 
> mapping file : /ISpatialQuery.aegis.xml
> Thank you

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

Reply via email to