[ http://issues.apache.org/jira/browse/AXIS-1904?page=comments#action_63545 ] Davanum Srinivas commented on AXIS-1904: ----------------------------------------
Konstantin, i need the actual WSDL of the .NET web service. thanks, dims > CLONE -Unnecessary empty-valued attribute "xmlns" in Envelope parameter values > ------------------------------------------------------------------------------ > > Key: AXIS-1904 > URL: http://issues.apache.org/jira/browse/AXIS-1904 > Project: Axis > Type: Bug > Components: Serialization/Deserialization > Versions: 1.2 > Environment: Windows 2000 Pro SP4 JDK 1.4.2-05 > Reporter: Konstantin Kasatkin > > There is a problem of interaction Axis WebService Client (as console > application) with Microsoft WebService Server (as .Net application) > Here WEBService method description is from MS side: > <?xml version="1.0" encoding="utf-8"?> > <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> > <soap:Body> > <SetParameterValues xmlns="http://tempuri.org/"> > <strUser>string</strUser> > <strBusinessSystem>string</strBusinessSystem> > <strParameter>string</strParameter> > <strValues> > <string>string</string> > <string>string</string> > </strValues> > </SetParameterValues> > </soap:Body> > </soap:Envelope> > Here real Axis SOAP envelope is from Java applicaton: > <?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> > <SetParameterValues xmlns="http://tempuri.org/"> > <strUser>test</strUser> > <strBusinessSystem>SYS</strBusinessSystem> > <strParameter>100</strParameter> > <strValues> > <string xmlns="">123</string> > <string xmlns="">234</string> > </strValues> > </SetParameterValues> > </soapenv:Body> > </soapenv:Envelope> > As you can see in section <strValues> all of inner elements contain attribute > xmlns="". > This notation does not work in MS (It is very strange, but I don't know why). > MS ignores all such lines and returns empty collection. > If I'm removing empty "xmlns" attributes all works fine. > I've already found the point where you can place fix code. > CLASS: org.apache.axis.encoding.SerializationContext > CODE: > if (!(map.getNamespaceURI().equals(Constants.NS_URI_XMLNS) && > map.getPrefix().equals("xmlns")) && > !(map.getNamespaceURI().equals(Constants.NS_URI_XML) && > map.getPrefix().equals("xml"))) > It need to be added one more check in the condition. Here modified condition > if (!(map.getNamespaceURI().equals(Constants.NS_URI_XMLNS) && > map.getPrefix().equals("xmlns")) && > !(map.getNamespaceURI().equals(Constants.NS_URI_XML) && > map.getPrefix().equals("xml")) && > !map.getNamespaceURI().equals("")) > Maybe I didn't take into account something, but after this change all have > worked fine. -- 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
