You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by jim ma <ma...@gmail.com> on 2010/06/10 09:02:41 UTC

Enable @Action inspection when create service from wsdl

Hi all, When there is no wsaw:action specified in wsdl input/out :

<binding name="AddNumbersBindingOnlyAnon" type="tns:AddNumbersPortType">
		<wsaw:UsingAddressing wsdl:required="false" />
		<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
			style="document" />
		<operation name="addNumbers">
			<soap:operation soapAction="" />
			<input>
				<soap:body use="literal" />
			</input>

We do not inspect the @Action annotated to the interface class which
user manually added  :

    @Action(input = "1in", output = "1out", fault = {
        @FaultAction(className = AddNumbersFault_Exception.class,
value = "1fault")
    })
    public int addNumbers(int number1, int number2) throws
AddNumbersFault_Exception {

    }

Should we support this ?  In some situation , user do not have the
right to change the remote or standard wsdl.
Modifying the annotation in Interface class is a quick and easy way to
change the default wsa action value in soap  message .
Do you see any problems here ?

Cheers
Jim

Re: Enable @Action inspection when create service from wsdl

Posted by Daniel Kulp <dk...@apache.org>.
I'm really kind of torn on this.

On one hand, the wsdl would normally be considered the contract.   If it's 
expecting non-default  Actions, those should be in the contract.    The code 
should be generated off that contract.    Modifying the generated SEI is 
normally considered a bad idea.

On the other hand, we all know standards based wsdls and such cannot really be 
modified.   Plus, there are a LARGE number of "bad WSDL's" out there.
Having an easy way to add this data does make some sense to work around those 
issues.

I guess I'm OK with it.  :-)   It shouldn't be a "normal" occurance. 


Dan




On Thursday 10 June 2010 3:02:41 am jim ma wrote:
> Hi all, When there is no wsaw:action specified in wsdl input/out :
> 
> <binding name="AddNumbersBindingOnlyAnon" type="tns:AddNumbersPortType">
> 		<wsaw:UsingAddressing wsdl:required="false" />
> 		<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
> 			style="document" />
> 		<operation name="addNumbers">
> 			<soap:operation soapAction="" />
> 			<input>
> 				<soap:body use="literal" />
> 			</input>
> 
> We do not inspect the @Action annotated to the interface class which
> user manually added  :
> 
>     @Action(input = "1in", output = "1out", fault = {
>         @FaultAction(className = AddNumbersFault_Exception.class,
> value = "1fault")
>     })
>     public int addNumbers(int number1, int number2) throws
> AddNumbersFault_Exception {
> 
>     }
> 
> Should we support this ?  In some situation , user do not have the
> right to change the remote or standard wsdl.
> Modifying the annotation in Interface class is a quick and easy way to
> change the default wsa action value in soap  message .
> Do you see any problems here ?
> 
> Cheers
> Jim

-- 
Daniel Kulp
dkulp@apache.org
http://dankulp.com/blog