You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Michael Merz (JIRA)" <ax...@ws.apache.org> on 2006/02/21 07:42:25 UTC

[jira] Commented: (AXIS-2413) .NET interop: response documents still contain xmlns="" (inconsistent with WSDL)

    [ http://issues.apache.org/jira/browse/AXIS-2413?page=comments#action_12367153 ] 

Michael Merz commented on AXIS-2413:
------------------------------------

It looks like a case statement should be added to use the default namespace if the elementFormDefault is qualified and the namespace is an empty string -- instead of actually adding the "" (empty string) namespace to the element.

> .NET interop: response documents still contain xmlns="" (inconsistent with WSDL)
> --------------------------------------------------------------------------------
>
>          Key: AXIS-2413
>          URL: http://issues.apache.org/jira/browse/AXIS-2413
>      Project: Apache Axis
>         Type: Bug
>     Versions: 1.2.1, 1.3
>     Reporter: Michael Merz

>
> While the WSDL is generated correctly (since bug #1935 has been fixed), there is a problem with the actual XML response generated by the Axis Web Service:
> The WSDL:
> <wsdl:types>
> <schema elementFormDefault="qualified" targetNamespace="http://iconclude.com/repairsystem/types" xmlns="http://www.w3.org/2001/XMLSchema">
>   <complexType name="ArrayOf_xsd_string">
>     <sequence>
>       <element maxOccurs="unbounded" minOccurs="0" name="item" type="xsd:string" /> 
>     </sequence>
>   </complexType>
>   <complexType name="RSRepairsList">
>     <sequence>
>       <element name="repairs" nillable="true" type="impl:ArrayOf_xsd_string" /> 
>     </sequence>
>   </complexType>
>   <element name="listReturn" type="impl:RSRepairsList" /> 
> ...
> An XML response document sent by that very service -- and has the wrong namespace (not compatible with the schema):
> <?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>
>     <listReturn xmlns="http://iconclude.com/repairsystem/types">
>       <repairs>
>         <item xmlns="">/Library/drt/testcase1003/main</item> 
>         <item xmlns="">/Library/drt/executioncontexttest/main</item> 
>         <item xmlns="">/Library/drt/testcase683/Test_Data_Entry_01</item> 
>         <item xmlns="">/Library/drt/testcase794/testflow</item> 
>       </repairs>
>     </listReturn>
>   </soapenv:Body>
> </soapenv:Envelope>
> My use case is to generate a .NET client by pointing Microsoft's wsdl.exe to the URL of the live service. In accordance with the WSDL, wsdl.exe expects the namespace for item to be "http://iconclude.com/repairsystem/types", the same namespace as for the array. However, Axis sends the response using namespace="" for "item".
> An easy hack to get this working is to override the automatically generated client with C# attributes; however, since this means modifying generated code, it really is a hack rather than a solution.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira