cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Kulp <dk...@apache.org>
Subject Re: [Urgent] Webservice Client generation fail with CXF (non-WSI compliant WSDL : Non-unique body parts!)
Date Mon, 07 May 2012 15:57:21 GMT

Interesting solution.  I like it.   :-)

One note:  with CXF 2.6.1-SNAPSHOT, I did add a flag to the -validate param 
to have it turn off validation completely (even the WSI-BP checks we do).   
Thus, with 2.6.1, you will be able to do:

-validate=none

on the original WSDL and have it generate code.   

Dan


On Monday, May 07, 2012 05:53:11 PM Thomas Manson wrote:
> Thanks Daniel, it did work at the first try.
> 
> I build an xslt to add them automatically for next version of the product.
> (I did add the namespace using substring rather than XSLT 1.0 as it's a
> bit complicated to make it work, and I don't have time to dig this
> subject ;))
> 
> 
> <?xml version="1.0"?>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> version="1.0"
>  xpath-default-namespace="http://schemas.xmlsoap.org/wsdl/"
>   xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata">
> 
> 
>   <xsl:template match="@*|node()">
>     <xsl:copy>
>       <xsl:apply-templates select="@*|node()"/>
>     </xsl:copy>
>   </xsl:template>
> 
> 
> <xsl:template match="/definitions/portType/operation/input">
> 
>   <xsl:copy>
>     <xsl:attribute name="wsam:Action"><xsl:value-of
> select="../@name"/></xsl:attribute>
>     <xsl:copy-of select="@*"/>
>     <xsl:apply-templates/>
>   </xsl:copy>
> 
> </xsl:template>
> 
> 
> <xsl:template match="/">
> 
>   <xsl:copy>
>     <xsl:attribute name="wsam:Action"><xsl:value-of
> select="../@name"/></xsl:attribute>
>     <xsl:copy-of select="@*"/>
>     <xsl:apply-templates/>
>   </xsl:copy>
> 
> </xsl:template>
> 
> 
> </xsl:stylesheet>
> 
> The produced WSDL allow the generation of the client as well.
> 
> 
> Regards,
> Thomas.
> 
> On Fri, May 4, 2012 at 10:11 PM, Daniel Kulp <dkulp@apache.org> wrote:
> > On Friday, May 04, 2012 11:57:48 AM Thomas Manson wrote:
> > > Hi Daniel,
> > > 
> > >   i've made some tries on modifying the wsdl and failed.
> > >   
> > >   I've tried to add wsam:Action on wsdl:input/output/fault and still
> > >   get
> > > 
> > > the same error between the same operation (closeWorkitem and
> > > reofferworkitem in wp.wsdl)
> > > 
> > >   we also tried to add it on the message part (as it's what looks the
> > 
> > same
> > 
> > > between the two operation) and still have the same issue.
> > > 
> > >   find below some excerpt of the wsdl concerning the two operations :
> > >   
> > >   can you give some pointers to do it successfully ?  thanks a lot !
> > 
> > I've attached an updated wsdl that adds the wsam:Action to all the input
> > elements.   This allows recent versions of CXF wsdl2java tool to
> > generate
> > the code.   I'm not 100% sure the resulting code works, but it's at
> > least a start.
> > 
> > (note: the cxf list processor may strip the attachment, but I'm cc'ing
> > your direct email address which should get it fine)
> > 
> > --
> > Daniel Kulp
> > dkulp@apache.org - http://dankulp.com/blog
> > Talend Community Coder - http://coders.talend.com
-- 
Daniel Kulp
dkulp@apache.org - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com


Mime
View raw message