2010-11-12 53 views
0

Nous avons récemment configuré notre propre service web en utilisant SOAP et tout fonctionne comme un charme. Étant donné que le service n'est utilisé qu'à partir de nos propres applications, je n'autorise généralement pas la génération d'un WSDL.Typo dans SOAP WebServExp.GenerateXMLSchema?

Aujourd'hui j'ai commencé des tests avec SoapUI et j'avais besoin d'un WSDL de notre propre service. J'ai donc activé l'action Default du composant TWSDLHTMLPublish et essayé d'exporter le WSDL. Tout ce que je suis arrivé était un violaton d'accès à WebServExp.GenerateXMLSchema, ligne 1636:

if (ParentInfo = nil) and ((GetTypeData(ATypeInfo).ParentInfo)^ <> nil) then 

Débogage ce, reveiled que GetTypeData(ATypeInfo).ParentInfo retourné un nul, donc bien sûr en utilisant^sur zéro soulève une violation d'accès.

Après avoir retiré le carret je n'ai eu aucun problème pour générer le WSDL.

Alors est-ce que je me suis trouvé un bug ici ou est-ce qu'il me manque quelque chose?

BTW: Nous avons créé notre propre SOAP.bpl, contenant toutes les sources de savon Delphi d'origine, pour corriger un problème connu à l'exception dérivée de TRemotableException

Répondre

1

Alors ai-je me trouver un bug ici ou suis J'ai raté quelque chose?

Oui, c'est un bug. Et Subversion révèle que cela a été comme ça pendant de nombreuses années - aussi longtemps que nous avons été sur Subversion :(. [Je ne suis plus configuré pour accéder au référentiel Starteam précédent]

Je fais une note à recours et vérifier dans les tests unitaires pour cela. S'il vous plaît ne hésitez pas à déposer un QC si le temps le permet. et je voudrais en savoir plus sur la question des types dérivés TRemotableException.

Cheers,

Bruneau

+0

Merci pour votre réponse – Bascy

+0

Le problème TRemotableException peut être trouvé en arrière, et il y a un QC à ce sujet (# 57210), qui l'indique est résolu ... mais plusieurs ressources continuent de le signaler. Voir un article de DrBob référençant un correctif: http://www.drbob42.com/examines/examinA2.htm – Bascy

+0

Affiché QC# 89906 – Bascy