Chamando o serviço da web com tipos primitivos dentro da orquestração - não é possível mapear a mensagem de solicitação

StackOverflow https://stackoverflow.com/questions/2379621

Pergunta

Estou enfrentando esse problema ao tentar chamar um serviço de SOAP Web de dentro de uma orquestração BizTalk. O Serviço da Web é um ABAPI exposto pela SAP como um serviço da Web SOAP, e a assinatura do método da Web que eu quero ligar é algo assim:

Operation(param1 as System.String, param2 as System.String, param3 ArrayOfSomeClass)

Quando vejo os esquemas gerados, notei que apenas 'ArrayofSomeclass' e 'Someclass' foram gerados. Mas não vejo nenhum esquema que represente todo o pedido. Percebi também que um tipo de porta da web foi gerado e a mensagem de solicitação é representada como uma mensagem de várias partes. As partes desta mensagem contém todos os parâmetros escalares (param1, param2) e também a matriz.

Sei que posso usar a forma de atribuição e preencher a mensagem por código, mas não é isso que eu quero, porque gostaria de mapear outra mensagem para a solicitação de serviço da Web.

Isso é possível? Alguém teve um problema semelhante?

Desde já, obrigado!

Foi útil?

Solução

Sua observação está correta, os esquemas não serão gerados para tipos simples e estão claramente documentados aqui e explica como você deve trabalhar com esses tipos.

http://msdn.microsoft.com/en-us/library/aa561724(bts.20).aspx

O XSD não conterá nós para tipos simples de parâmetros quando você adicionar uma referência da Web e o método da Web possui um parâmetro que é um tipo simples, o XSD gerado não conterá nós para esse parâmetro. Em vez disso, a mensagem multipart que é gerada conterá uma peça que é do tipo simples. A orquestração deve lidar com esta peça de mensagem adequadamente. Se fizer parte da solicitação ao Serviço da Web, atribua manualmente o valor a essa parte com uma forma de atribuição de mensagem. Se fizer parte da resposta do serviço da Web, acesse manualmente essa parte em forma de expressão para ver o valor.

Eu não entendi seu segundo ponto

Eu gostaria de mapear outra mensagem para a solicitação de serviço da web.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top