detergent
detergent copied to clipboard
WSDL with multiple namespaces not parsed correctly
Apologies in advance for a really vague bug report.
I have a WSDL document with many namespaces. Namespace info is parsed, but all namespaces are assigned both prefixes P
and the specified default prefix in the model. When I generate SOAP requests, incorrect namespace attributes are generated (P
is missing, the specified prefix is set, but with a random namespace url).
I've tried created a soap_config document for erlsom, but this did not seem to help. I'm using this to initialise models for both write_hrl
and call steps.
makeOptions
seems to pass namespace information back in a random format, not that which is required by erlsom - {namespaces, [{ns, Prefix, Url}]}
. I changed this, but no improvement.
The definitions element of the WSDL begins like this (actual namespace urls obfuscated):
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://impl.example.com" xmlns:intf="http://intf.example.com" xmlns:tns1="http://tns1.example.com" xmlns:tns10="http://tns10.example.com" xmlns:tns11="http://tns11.example.com" xmlns:tns12="http://tns12.example.com" xmlns:tns13="http://tns13.example.com" xmlns:tns14="http://tns14.example.com" xmlns:tns2="http://tns2.example.com" xmlns:tns3="http://tns3.example.com" xmlns:tns4="http://tns4.example.com" xmlns:tns5="http://tns5.example.com" xmlns:tns6="http://tns6.example.com" xmlns:tns7="http://tns7.example.com" xmlns:tns8="http://tns8.example.com" xmlns:tns9="http://tns9.example.com" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://impl.example.com">
When I call write_hrl
, I expect to see records for each of these namespaces. I just see records in the soap
, P
, _document-
and specified default prefixes.
When I call call
passing records from various namespaces, I expect to see the appropriate namespaces defined in the output SOAP request, i.e. lots of xmlns
attributes.