|
The problem is in your schema definition. Per
the XML Schema 2001 specification, <element> does not have a “namespace”
attribute. (This attribute is a proprietary extension in Microsoft’s
schema compiler). Axis is performing correctly. It is ignoring the “namespace”
attribute and therefore treats the element as a local element. This definition is not correct: <element
name="getStringsReturn" type="tns:AuthorData" namespace="urn:ConfigTest"/> If you want this element to be namespace
qualified, you should define it this way: <element
name="getStringsReturn" type="tns:AuthorData" form="qualified"/> Alternatively, you can specify that
elements should be qualified by default: <schema
xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:ConfigTest" elementFormDefault=”qualified”> (but if you do this then you will need to
specify form=”unqualified” on your two local elements (“ids”
and “values”)) I’ve attached an updated version of
your WSDL in which I included the “elementFormDefault”
attribute. I removed all incidents of the “namespace” attributes on
your element definitions, and I added the form=”unqualified”
attributed to your local elements. Also notice that I removed the “namespace”
attributes from your binding <input> and <output> definitions. You must
not specify the namespace attribute when using Doc/Literal. Regards, Anne From: bolek
[mailto:[EMAIL PROTECTED] Hello, I’m having a little trouble with my webservice. I have
written a wsdl and generated associated source code. I edited the IMPL file and
deployed without fail. Using InfoPath as a client I tried to connect to my
webservice and got the following error when I ran a query with the webservice
method: Element 'getStringsReturn' is unexpected according to
content model of parent element '{urn:ConfigTest}getStringsResponse'. Expecting: {urn:ConfigTest}getStringsReturn. The actual soap message over the wire: <?xml version="1.0"
encoding="UTF-8"?> <soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <getStringsResponse
xmlns="urn:ConfigTest"> <getStringsReturn xmlns=""> <ids>paul</ids> <ids>skye</ids> <ids>luci</ids> <ids>manu</ids> <values>apples</values> <values>oranges</values> </getStringsReturn> </getStringsResponse> </soapenv:Body> </soapenv:Envelope> As indicated by InfoPath the xmlns value is missing for the
getStringsReturn element. Is it an Axis error or InfoPath problem? What do I need to modify/implement so that getStringsReturn
will have namespace associated with it? Any help is much appreciated. Attached
is my wsdl. Thanks, -Bolek |
TestAxisUpdated.wsdl
Description: Binary data
