I've created a SOAP Server asset called test under the Web Services Folder. The asset has public read access and I can view the XML in the browser at, e.g., //www.foo.co.uk/_web_services/test?wsdl. However, when I add a SOAP API Asset Service asset under the Server asset and go back to //www.foo.co.uk/_web_services/test?wsdl, one of our other domains (www.bar.co.uk) is referenced (e.g in the targetNamespace attributes, and the location attribute of the <soap:address> tag) – please see below XML.
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.bar.co.uk/_web_services/test" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.bar.co.uk/_web_services/test"> <wsdl:types> <s:schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.bar.co.uk/_web_services/test"/> </wsdl:types> <wsdl:portType name="MatrixSOAPService"/> <wsdl:binding name="MatrixSOAPServiceBinding" type="tns:MatrixSOAPService"> <soap:binding xmlns="http://schemas.xmlsoap.org/wsdl/soap/" style="document" transport="http://schemas.xmlsoap.org/soap/http"/> </wsdl:binding> <wsdl:service name="MatrixWebServices"> <wsdl:port xmlns:default="http://schemas.xmlsoap.org/wsdl/soap/" name="MatrixWebServicesPort" binding="tns:MatrixSOAPServiceBinding"> <soap:address xmlns="http://schemas.xmlsoap.org/wsdl/soap/" location="http://www.bar.co.uk/_web_services/test?wsdl"/> </wsdl:port> </wsdl:service> </wsdl:definitions>
When I do a jQuery $.ajax() call to the API's GetTags function, it returns an Internal Service Error. I believe this is due to the incorrect domain (www.bar.co.uk instead of www.foo.co.uk) being referenced within the XML.
Should the domain within the XML reflect the domain that the XML is accessed over, or am I misunderstanding something?