J'ai un problème que je crois être en ce qui concerne les espaces de noms. Le WSDL peut être téléchargé ici: http://promostandards.org/content/wsdl/Order%20Shipment%20NotificationService/1.0.0/OSN-1-0-0.zipruby savon et wsdl namespacing
Lorsque la demande est généré, il ressemble à ceci:
<soapenv:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="http://www.promostandards.org/WSDL/OrderShipmentNotificationService/1.0.0/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<tns:GetOrderShipmentNotificationRequest>
<tns:wsVersion>1.0.0</tns:wsVersion>
<tns:id>myusername</tns:id>
<tns:password>mypassword</tns:password>
<tns:queryType>3</tns:queryType>
<tns:shipmentDateTimeStamp>2017-07-19</tns:shipmentDateTimeStamp>
</tns:GetOrderShipmentNotificationRequest>
</soapenv:Body>
</soapenv:Envelope>
Il en résulte une faute de savon.
Lorsque SoapUI construit la demande en utilisant le même WSDL il ressemble à ce
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.promostandards.org/WSDL/OrderShipmentNotificationService/1.0.0/" xmlns:shar="http://www.promostandards.org/WSDL/OrderShipmentNotificationService/1.0.0/SharedObjects/">
<soapenv:Header/>
<soapenv:Body>
<ns:GetOrderShipmentNotificationRequest>
<shar:wsVersion>1.0.0</shar:wsVersion>
<shar:id>myusername</shar:id>
<shar:password>mypassword</shar:password>
<ns:queryType>3</ns:queryType>
<ns:shipmentDateTimeStamp>2017-07-19</ns:shipmentDateTimeStamp>
</ns:GetOrderShipmentNotificationRequest>
</soapenv:Body>
</soapenv:Envelope>
Vous pouvez voir que SoapUI a placé le nom d'utilisateur et mot de passe à l'intérieur de l'espace de noms « shar ». J'ai remarqué que ceci n'est pas directement listé dans le WSDL ou dans n'importe quel fichier XSD directement chargé par le WSDL. Il est chargé quelque chose comme WSDL => fichier XSD => fichier XSD contenant un espace de noms shar. cela pourrait-il être le problème? Comment puis-je ajouter l'espace de noms à seulement 3 des clés? J'utilise savon 2.11.1 et nori 2.6.0