GustavoWalbon

Engenheiro da Computação pela Univ. Federal de Itajubá. Hobbista de gosto próprio por programação de baixo~médio nível(C e C ), curioso e uso python(django) e java(jsp), e também velho usuário dos GNU/Linux da redondeza. Culinária herdada de família.

Página Inicial: https://programai.wordpress.com

Gambi SOAP com C#

Chegando no novo emprego e me ambientando com as novidades …

Bem, toma aqui o seu Visual Studio, este projeto e este probleminha que estamos tendo que agora o filho é seu, pega! Linguagem e ambiente novo, daí Google it!

O ambiente era de integração com serviços de terceiros usando SOAP, tudo usando C#(arc!), e o descritor do serviço WSDL dá as informações necessárias para acesso e além disso atráves do framework em C# se obtém o Reference.cs com todas as funções e como devem ser acessadas corretamente.

PASMEM!!!! Pode estar errado o Reference.cs que é montado automaticamente pelas pontas do serviço.

Daí você mesmo montando corretamente a sua chamada em XML e enviado ao Web Service, quando não há erros de sintaxe ou acesso negado irá voltar a resposta, mas no caso do Reference.cs errado irá voltar como resultado um belo de um NULL!! que você senta e chora porque não vai saber porque esta errado.

Depois de buscas no Oráculo(Google), notei que a chamada no Reference.cs estava diferente do que é citado no WSDL, ou seja, alguém errou ai. Daí feitas as correções como a classificação do tipo de retorno do método que deve ser idêntico ao descrito no WSDL, e daí terei a resposta à minha requisição corretamente.

OUTRO CASO

Mesmo teimando você não encontrar a solução para sua chama que retorna NULL, há como fazer a chamada ao service de Web Service via WebRequest montando a estrutura do corpo da mensagem toda e tratando este retorno como um string. Meu exemplo funcional e básico esta neste link: https://gist.github.com/walbon/7531713

Boa sorte e agora me despeço do C#, bye bye!

:wq!

Deixe um comentário

Git salvando minha pele

Ultimamente o uso do git e suas flexibilidades tem sido intenso, visto que quando você quer alterar alguma coisa para um teste e um conjunto de CTRL+Z não resolve é bom ter cuidaos que o git pode lhe ajudar.

Git stash

Guardar suas alterações no formato de pilha, onde o ultimo grupo de mudanças guardadas pode ser retirada com um pop ou tirada sem ser usada com um drop.

Git merge

Você pode pegar um outro branch e juntar ao seu, daí pegando mudanças de um lugar e pondo em outro. Ex. git merge 2.0 , ai você está num branch e vai juntar suas mudanças com as mudanças do branch 2.0, mas poderá haver conflitos entre mudanças em mesmos pontos do mesmo arquivo.

Git mergetool

Ao fazer um merge entre branch distintos poderá haver conflitos, e escolher como juntar e mudar adequadamente através deste comando, isso se você estiver instalado algumas das ferramentas gráficas para isto que será de grande ajuda, exemplo o Meld. Assim você verá três estados de cada arquivo ao mesmo tempo o estado anterior ao merge, o futuro arquivo e o arquivo com a mudança sugerida pelo branch escolhido no git merge.

Git diff

Você poderá comparar e ter as direnças entre estados de um arquivo usando o SHA1 ou nome de um branch diferente, porém se nenhum parâmetro usado vai ver as suas mudanças em relação ao ultimo estado commitado.

Git status

Você poderá ver quais arquivos mudandos, novos e excluídos em relação ao ultimo commit dentre suas atuais mudanças.

Git –format-patch

Você irá gerar um patch de suas mudanças atuais em relação a algum estado que você escolheu usando como parâmetro o nome de um branch ou um SHA1.

Git am

Já com um patch em mãos você poderá aplicá-lo em seu repositório, necessário estar na mesma linha do seu desenvolvimento.

Deixe um comentário