Neste guia, devemos ser capazes de descrever algumas das possíveis causas que podem possivelmente causar a solução de problemas e, em seguida, explicaremos alguns métodos de recuperação em potencial que você pode usar para corrigir o problema.
Aprovado: Fortect
Em planos monolíticos, o tratamento de erros é virtualmente simples porque todos os recursos estão incluídos no aplicativo e podem ser facilmente alterados posteriormente, se necessário. Por outro lado, o tratamento de erros é cada etapa importante dos aplicativos SOA, já que o SOA integra aplicativos díspares sobre a empresa, reunindo fornecedores e parceiros.
Este capítulo explica onde usar o tratamento de erros neste nome de processo. O tratamento de erros permite que o BPEL lide com um componente de serviço de processo original, mensagens de erro ou outras exclusões retornadas por serviços externos do globo e mensagens de erro de viagem em resposta a erros ou arranjos de negócios. Este capítulo também descreve como usar outra estrutura abrangente de gerenciamento de erros para detectar erros ou / ou realizar ações personalizadas no arquivo de opções para ações inválidas.
-
Seção 12.1, “Introdução ao tratamento de erros”
-
Seção 12.2, “Compreendendo os erros padrão BPEL”
-
Seção 12.3, “Introdução ao meu tempo de execução de negócios e categorias de erro BPEL”
-
Seção 12.4, “Lidando com erros com erros na estrutura de governança”
-
Seção 12, “Identificando 5, erros de tempo de execução BPEL”
-
Seção 12.6, “Obtendo detalhes da falha usando a função de extensão XPath GetFaultAsString”
-
Seção 12.7, “Erros de inicialização durante a inicialização interna”
-
Seção 12.8, “Rejeitando erros usando a ação de rejeição
-
Seção 12.9, “Lendo erros externos”
-
Seção 12.10, “Usando o último escopo real para gerenciar um grupo de atividades”
-
Seção 12.11, “Executando novamente ações como ações de proximidade com uma ação de revisão”
-
Seção 12.12, “Usando compensação após o cancelamento de uma série de transações”
-
Seção 12.13, “Encerrando uma atividade de instância de processo usando uma ação final ou final”
-
Seção 12.14, “Relatório de erros com condições de asserção
Para obter mais informações sobre a criação de manipuladores de problemas em um aplicativo SOA composto, consulte o aplicativo de demonstração Fusion Order descrito no capítulo 3, “Introdução ao Exemplo de Asserção de Aplicativo SOA”.
12.1 Introdução ao enorme
manipulador de erros
As rotinas de tratamento de erros definem como seus serviços de processo BPEL de ingredientes respondem quando os serviços da loja online retornam algo diferente do esperado (para retornar a mensagem de erro correta em vez de um número exato). Um ótimo gerenciador de erros, esse trabalho da web geralmente retorna um número de verificação de crédito, mas, caso contrário, retorna uma mensagem com uma avaliação negativa do cartão mestre do consumidor.
Na fig. A Figura 12-1 mostra o melhor exemplo de como um manipulador de erros define essa variável de avaliação para -1000
.
O segmento de código no Exemplo 12-1 define um manipulador de erros principal para esta operação no registro BPEL:
O símbolo faultHandlers
contém todo o código de tratamento de erros. Cada um de nossos manipuladores de corrupção tem uma ação de vinculação que define um nome de erro e uma variável para copiar conjuntos que envolvem instruções, o que normalmente definiria a variável creditRating
para - 1000
.
Quando você seleciona especialistas da web para o componente Serviço de processo BPEL, aprende sobre possíveis deslizes que você pode corrigir e personalizar um manipulador de erros útil para cada erro.
Esta página lista os erros padrão para BPEL 1.1 e BPEL 2.0. Nenhum tipo, ou seja, nenhum associado Há pouca ou nenhuma comunicação com mensagens WSDL (Web Description Language) Pego sem variável de erro: A lista a seguir mostra os erros amplamente usados definidos na especificação ws-bpel. Todos os nomes de erro de paradigma foram suplementados com o namespace WS-BPEL simples. No BPEL 2.0, uma ordem de precedência para detectar erros gerados sem nunca dados associados é normalmente: Se houver apenas uma paixão pela pesca com um Caso contrário, no caso de uma ação catchAll, geralmente o erro inteiro é enviado para o maldito manipulador CatchAll. Caso contrário, qualquer manipulador de erro padrão tratará o erro. No BPEL 2.0, a estratégia de prioridade para detecção de erros causados por dados obrigatórios é a seguinte: Se também houver agora uma ação catch com o mesmo Se um dado de erro for tratado como um tipo de mensagem WSDL, incluindo especificamente: Mensagem Fortect é a ferramenta de reparo de PC mais popular e eficaz do mundo. Milhões de pessoas confiam nele para manter seus sistemas funcionando de forma rápida, suave e livre de erros. Com sua interface de usuário simples e mecanismo de verificação poderoso, o Fortect localiza e corrige rapidamente uma ampla gama de problemas do Windows, desde instabilidade do sistema e problemas de segurança até gerenciamento de memória e gargalos de desempenho. 12.2 Compreendendo os erros padrão Bpel
12.2.1 BPEL 1.1
bindingFault
(BPEL seja indiferente à extensão definida em http://schemas.oracle.com/bpel/extension
) ConflictReceive
ConflictRequest
Violação de correlação
Forçar sair
resposta inválida
JoinFailure
MismatchedAssignmentFailure
remoteFault
(Erro extensível BPEL, padrão dividido em http://schemas.oracle.com/bpel/extension
) recompensa novamente
selectionFailure
variável não inicializada
messageTypes
12.2.2 Erro padrão BPEL 2.0
ambiguousReceive
CompletionConditionFailure
ConflictReceive
ConflictRequest
Violação de correlação
invalidBranchCondition
invalidExpressionValue
variáveis inválidas
JoinFailure
MismatchedAssignmentFailure
missingReply
Apelação ausente
scopeInitializationFailure
Erro de seleção
subLanguageExecutionFault
uninitializedPartnerRole
Mudança não inicializada
link não é suportado
xsltInvalidSource
xsltStylesheetNotFound
12.2.2.1 Prioridade de tratamento de erros BPEL 2.0
faultName
recíproco que não contém a faultVariable
necessária, um erro de pesquisa também é enviado para a atividade de pesca identificada .
faultName
que não possui o próprio atributo faultVariable
, o erro é despachado no momento da ação catch identificada.
Aprovado: Fortect