Je rencontre un problème avec Delphi 2007 lorsque j'essaie de consommer un service Web que j'ai configuré en Java à l'aide de JAX-WS. Le service Web peut être utilisé à partir d'un autre programme Java et à partir d'un site Web C#/ASP.NET 2.0. Toutefois, lorsque j'essaie d'accéder au même service à l'aide de WSDL Importer dans Delphi 2007 (correctif 17-DEc-2007), le service Web JAX-WS ne reconnaît aucun des paramètres que je transmets et les annule.Delphi 2007 ne consomme pas le service Web JAX-WS correctement
J'ai vérifié le message SOAP qui est passé par Delphi et l'ai comparé aux autres et ils sont à peu près identiques (à l'exception de quelques espaces de noms négligeables et beaucoup d'état d'affichage du .NET! J'ai également été sur le web (lien le plus utile était http://www.bobswart.nl/Weblog/Blog.aspx?RootId=5:798 du Dr Bob) mais pas de joie.
Est-ce que quelqu'un a déjà rencontré ça?
TIA.
La saga continue! Après avoir enculé l'objet HTTPRIO pour essayer de le faire fonctionner, j'ai finalement abandonné et essayé un transfert XML direct sur HTTP. Échouer. OK, donc j'ai construit un simple testeur en C# et j'ai essayé ça. Fonctionne pas de problème. En utilisant Fiddler pour voir ce qui était envoyé en avant et en arrière, il semblait que la seule différence était dans les espaces de noms. J'ai changé les espaces de noms dans l'envoi XML en Delphi et ... ça marche!
C'était un échantillon du XML d'origine étant généré par le WSDLImporter:
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<version xmlns="http://path.to.service.com/">
<input>test</input>
</version>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
et voici ce qui fonctionne réellement:
<?xml version="1.0"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:version xmlns:ns2="http://path.to.service.com/">
<input>test</input>
</ns2:version>
</S:Body>
</S:Envelope>
Alors, maintenant que je sais, je fais, je allez-vous changer les valeurs de l'espace de noms pour le code WSDLImporter? Je ne vois rien d'évident sur les propriétés HTTPRIO.
TIA
Je peux vérifier que commenter cette ligne résout le problème pour un service Web JAX-WS. Je ne peux pas vérifier l'efficacité de beaucoup de bière si ;-) –