• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2432
  • Last Modified:

Expose custom type through WCF service

Hi,

I've got a WCF service and client.  I'd like the service to expose a custom structure used to return some data to the client of the form:

   Public Structure TRANSACTION_RESPONSE
        Dim ar As AUTHORIZATION_RESPONSE
        Dim Fields() As String
    End Structure

AUTHORIZATION_RESPONSE is an enum and Fields is an array of strings.

The service does not define this structure however, it is defined that another library (IS.Services) which is included as a reference to the service.  I get this error when I create an interface and method on the service which take string parameters and return a parameter of type TRANSACTION_RESPONSE:

Type 'IS.Services+TRANSACTION_RESPONSE' cannot be serialized. Consider marking it with the DataContractAttribute attribute, and marking all of its members you want serialized with the DataMemberAttribute attribute."

The question is, how can I add the DataContractAttribute markers to a library that is used as a reference within the service. It would be easy if the service defined the structure itself - but it does not.

This is the WCF interface definition:

using IS.Services;
    public interface IServices
    {
        [OperationContract]
       'IS.Services.TRANSACTION_RESPONSE AddTransaction(string sMain);
    }
0
ossentoo
Asked:
ossentoo
1 Solution
 
surajgupthaCommented:
In my opinion all responses and request classes SHOULD be marked with the DataContract attribute and all its members should be marked with the Data member attribute for it to be sent over the wire. Transaction Response SHOULD be marked with the data contract attribute. If you dont have control over it, create your own class and copy the attributes from the original class to the newly create data contract class object.
0
 
ossentooAuthor Commented:
Thanks for the answer! It worked.
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now