<Problem1>
I can successfully invoke my validateAddress soap-msg based service from a command line test tool by posting the soap request message below (A). However, when I generate a WSDL file for this service (correctly pointing it to the appropriate input and output documents, it does refer to a prefix name anywhere (“xsq” in my case).
What do I need to do to my WSDL file to cause a client (.Net, webMethods, AXIS, whatever) to generate a soap message with a root node of “xsq:validateAddress” instead of just “validateAddress”.
</Problem1>
<Problem2>
If I post the soap message (B) shown below, the default processor locates and invokes my service OK, but when I try to use queryDocument against the body of the message, the “Document View” shows the structure of the document with every node prefixed by “prefix0:”. That would be OK, if I could query against it, but a query of “/prefix0:validateAddress” returns null. See the two attached bitmaps.
This is easy to recreate and a real pain in the rear.
</Problem2>
(A) soap request message that invokes “myNamespace:validateAddress” and can be processed by queryDocument with a query like “/xsq:validateAddress”:
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="[url]http://schemas.xmlsoap.org/soap/envelope/"[/url] xmlns:SOAP-ENC="[url]http://schemas.xmlsoap.org/soap/encoding/"[/url] xmlns:xsd="[url]http://www.w3.org/1999/XMLSchema"[/url] xmlns:xsi="[url]http://www.w3.org/1999/XMLSchema-instance"[/url] SOAP-ENV:encodingStyle="[url]http://schemas.xmlsoap.org/soap/encoding/">[/url] <SOAP-ENV:Header xmlns:SOAP-ENV="[url]http://schemas.xmlsoap.org/soap/envelope/"><requestMessageHeader>[/url] <organization>B2BPartner1</organization> <department>Dept01</department> <application>AppID1</application> <timeStamp>2003-08-01T17:54:47.779Z</timeStamp> <messageID>000123456</messageID> </requestMessageHeader></SOAP-ENV:Header><SOAP-ENV:Body> <xsq:validateAddress xmlns:xsq="myNamespace"> <address> <streetAddress1>1700 Lincoln</streetAddress1> <streetAddress2></streetAddress2> <city>Denver</city> <state>CO</state> <country>US</country> <postalCode>80203</postalCode> </address> <address> <streetAddress1>1025 Eldorado Blvd</streetAddress1> <streetAddress2></streetAddress2> <city>Broomfield</city> <state>CO</state> <country>US</country> <postalCode>80021</postalCode> </address> </xsq:validateAddress></SOAP-ENV:Body> </SOAP-ENV:Envelope>(B) soap request message that properly invokes myNamespace:validateAddress, but causes queryDocument to break (no way to query the contents of the “validateAddress” element)
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="[url]http://schemas.xmlsoap.org/soap/envelope/"[/url] xmlns:SOAP-ENC="[url]http://schemas.xmlsoap.org/soap/encoding/"[/url] xmlns:xsd="[url]http://www.w3.org/1999/XMLSchema"[/url] xmlns:xsi="[url]http://www.w3.org/1999/XMLSchema-instance"[/url] SOAP-ENV:encodingStyle="[url]http://schemas.xmlsoap.org/soap/encodin[/url]