[ 
https://issues.apache.org/jira/browse/THRIFT-1489?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13187563#comment-13187563
 ] 

Kieran Benton commented on THRIFT-1489:
---------------------------------------

For anyone who's interested there's two rough areas to this:
A) my use of csharp:wcf=... to set the namespace. I would have preferred to 
have used a namespace decl in the file itself but couldn't see a way in the 
generators to easily access that
B) the uses of wcf faults and how they interact with thrift exceptions. Such a 
shame you can't mark a .net exception with the datacontract attribute and have 
it work properly. 


- Sent from a mobile Blackberry device


                
> Add support for WCF bindings (optionally) to C# compiler, allowing web 
> service usage of Thrift generated code
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: THRIFT-1489
>                 URL: https://issues.apache.org/jira/browse/THRIFT-1489
>             Project: Thrift
>          Issue Type: New Feature
>          Components: C# - Compiler
>            Reporter: Kieran Benton
>            Priority: Minor
>         Attachments: 
> 0001-Added-a-binding-option-csharp-wcf-http-testnamespace.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> As in the summary, I've modified the C# compiler to have an additional 
> optional parameter "wcf" which has a root URI namespace passed to it. If 
> these are present, the compiler will add [ServiceContract], 
> [OperationContract], [DataContract], [DataMember] and [FaultContract] 
> attributes to the appropriately generated entities.
> The big win here is that this essentially allows a server to handle both 
> Thrift or XML/SOAP/JSON with little difference - a big issue for 
> interoperability with external clients within a enterprise environment. 
> I've added provisional support for WCF "faults" by generating a corresponding 
> "fault" class for each generated Thrift exception. It's not possible to add 
> [DataContact] to generated exceptions as the base "Exception" class has 
> support for ISerializable which WCF does not like. Possibility of modifying 
> the C# library to handle throwing of faults and convert to the "thrift 
> exception" counterpart if there is one? Workable for now though.
> Usage of the option is as follows:
> .\thrift.exe -o .\outputdir\ --gen 
> csharp:wcf=http://mynamespace.com/services/ definition.thrift
> Pretty simple :)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to