Uploaded image for project: 'CXF Distributed OSGi (Retired)'
  1. CXF Distributed OSGi (Retired)
  2. DOSGI-55

JAX-WS Frontend generating WSDL with no operations or types

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.1
    • 1.3
    • None
    • None

    Description

      I've setup a web service interface and implementation with the proper annotations (@WebService, @WebMethod, @WebParam) and so forth, and deployed the dosgi singlebundle distribution into spring dmServer 2.0. When setup for the simple frontend with jaxb bindings, I get a somewhat ok result, though the generated wsdl exceptions a message payload like this:

      <ns1:addWidget><widgetData>...<widgetData></ns1:addWidget>

      Obviously this is not optimal, so i decided to switch to JAX-WS, and added the appropriate package imports in my manifest:

      @WebService
      public interface WidgetService {
          @WebMethod
          void addWidget(@WebParam(name="widgetData") WidgetData widgetData);
      }
      
          <osgi.import.package>
          javax.jws,
          javax.jws.soap,
          javax.xml.bind.annotation,
          javax.xml.bind.annotation.adapters,
          ...
          </osgi.import.package>
      

      and then set the front end to use jaxws:

        <osgi:service ref="WidgetWebService" interface="com.fiberlink.service.widget.web.api.WidgetWebService">
          <osgi:service-properties>
            <entry key="service.exported.interfaces" value="com.fiberlink.service.widget.web.api.WidgetWebService" />
            <entry key="service.exported.configs" value="org.apache.cxf.ws" />
            <entry key="org.apache.cxf.ws.frontend" value="jaxws" />
            <entry key="org.apache.cxf.ws.databinding" value="jaxb" />
            <entry key="org.apache.cxf.ws.address" value="http://localhost:9090/widget" />
          </osgi:service-properties>
        </osgi:service>
      

      I would have expected a proper WSDL to be generated which wanted a payload like this:

      <ns1:addWidget><widgetData>...<widgetData></ns1:addWidget>

      However, what I got from the WSDL was this. Posts I have googled on indicated there might be something wrong with singlebundle distribution, but the links to the solution are expired, and i've had no luck getting the multibundle distribution working. Everytime I try to deploy a webservice using the multi-bundle distro, it never ends up deploying anything on the requested port #. Same with the 1.2 SNAPSHOT version as well. Seems I'm running into roadblocks everywhere.

      <wsdl:definitions name="WidgetWebServiceService" targetNamespace="http://api.web.widget.service.fiberlink.com/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://api.web.widget.service.fiberlink.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <wsdl:portType name="WidgetWebService">
        </wsdl:portType>
        <wsdl:binding name="WidgetWebServiceServiceSoapBinding" type="tns:WidgetWebService">
          <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
        </wsdl:binding>
        <wsdl:service name="WidgetWebServiceService">
          <wsdl:port binding="tns:WidgetWebServiceServiceSoapBinding" name="WidgetWebServicePort">
            <soap:address location="http://localhost:9090/widget" />
      
          </wsdl:port>
        </wsdl:service>
      </wsdl:definitions>
      

      Attachments

        1. diff_cxf_2.2.5.txt
          2 kB
          Matthew P. Inger
        2. diff_dosgi_trunk.txt
          86 kB
          Matthew P. Inger

        Activity

          People

            Unassigned Unassigned
            mattinger Matthew P. Inger
            Votes:
            1 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: