PeopleSoft - Impossible de traiter les messages d'erreur de savon après avoir consommé un service Web

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

  •  14-11-2019
  •  | 
  •  

Question

PT 8.50.15

Nous avons une nouvelle intégration avec un système tiers. Ils ont fourni le WSDL et j'ai utilisé l'assistant de service Web Consume pour le consommer dans PeopleSoft. Tout cela est de vous donner les messages de talon avec un schéma attaché à chacun. J'ai écrit certains PeopleCode pour envoyer un message de test au webservice. Lorsque le service Web renvoie un résultat valide, je n'ai aucun problème. Cependant, lorsque le service Web renvoie un message de défaut, j'obtiens l'erreur suivante:

Gateway d'intégration - HttptargetConnector: ExternalApplicationException. Code d'état HTTP HttpStaturScode Retour: 500. (158,10623)

HttptargetConnector: externalApplicationException. Le système externe a répondu avec un état d'erreur. Pour l'explication du code d'état HTTP, veuillez vérifier les spécifications du protocole HTTP.

Je sais que le service Web renvoie le message de défaut b / c J'ai essayé la même chose dans SOAPUI. Est-ce que quelqu'un sait pourquoi PeopleSoft lance cette erreur uniquement sur le message de défaut?

Était-ce utile?

La solution

Sur le routage que vous utilisez, cliquez sur la case «Exception de l'utilisateur». Ensuite, vous n'obtiendrez pas l'erreur HTTP 500. Évaluez la réponse du message de réponse. S'il n'est pas nul, vous pourrez alors analyser le défaut de savon et voir quel est le scénario retourné.

Autres conseils

En plus de la réponse antérieure, l'erreur 500 que vous voyez doit être suivie par tout défaut de savon qui revient avec la réponse dans le fichier errorlog.html sur votre passerelle (ou msglog en fonction du paramètre ig.log.level dans votre intégrationgateway. Fichier de propriétés. Vérifiez la section 'Response', ainsi que la trace de pile pour plus d'informations.

Faites corriger votre opération de service. J'ai eu le même problème, après avoir changé le SO dans ce code, cela a commencé à fonctionner

&msgRequest = CreateMessage(Operation.Operation_name, %IntBroker_Request);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top