You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Matt Inger (JIRA)" <ji...@apache.org> on 2010/02/19 00:37:27 UTC

[jira] Updated: (DOSGI-55) JAX-WS Frontend generating WSDL with no operations or types

     [ https://issues.apache.org/jira/browse/DOSGI-55?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Matt Inger updated DOSGI-55:
----------------------------

    Attachment: diff_dosgi_trunk.txt
                diff_cxf_2.2.5.txt

I'm attaching diff files for the changes I made to CXF and dosgi to make them compatible with dmServer.  This involved making a switch over to spring 3.0.0 and spring-dm 1.2.1.  I made new distributions for both the singlebundle and multibundle specific to spring-dm to eliminate the geronimo-ws-spec jar, and the spring and spring-dm jars from the distributions as they are not needed in that case.

In the case of the cxf-minimal bundle, I also fixed an import to add com.sun.xml.bind.v2 as well, which was missing.



> JAX-WS Frontend generating WSDL with no operations or types
> -----------------------------------------------------------
>
>                 Key: DOSGI-55
>                 URL: https://issues.apache.org/jira/browse/DOSGI-55
>             Project: CXF Distributed OSGi
>          Issue Type: Bug
>    Affects Versions: 1.1
>            Reporter: Matt Inger
>         Attachments: diff_cxf_2.2.5.txt, diff_dosgi_trunk.txt
>
>
> 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:
> {code}<ns1:addWidget><widgetData>...<widgetData></ns1:addWidget>{code}
> Obviously this is not optimal, so i decided to switch to JAX-WS, and added the appropriate package imports in my manifest:
> {code}
> @WebService
> public interface WidgetService {
>     @WebMethod
>     void addWidget(@WebParam(name="widgetData") WidgetData widgetData);
> }
> {code}
> {code}
>     <osgi.import.package>
>     javax.jws,
>     javax.jws.soap,
>     javax.xml.bind.annotation,
>     javax.xml.bind.annotation.adapters,
>     ...
>     </osgi.import.package>
> {code}
> and then set the front end to use jaxws:
> {code}
>   <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>
> {code}
> I would have expected a proper WSDL to be generated which wanted a payload like this:
> {code}<ns1:addWidget><widgetData>...<widgetData></ns1:addWidget>{code}
> 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.
> {code}
> <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>
> {code}

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