Você pode retornar normalmente (em ambiente SOA com interoperabilidade, eu talvez utilizaria uma classe). Quando retorna e está consumindo isso em uma aplicação .NET, a IDE irá ler o WSDL do serviço e, automaticamente, gerará a estrutura do lado do cliente.