Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-962

Aegis mappings not reflecting in wsdl method parameters

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • 2.0.1
    • 2.0.2
    • None
    • None

    Description

      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

      Attachments

        1. methodfix.txt
          6 kB
          Benson Margulies

        Activity

          People

            dkulp Daniel Kulp
            tawfik Tawfik Lachheb
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: