[ http://issues.apache.org/jira/browse/AXIS-1827?page=comments#action_60352 ] Jongjin Choi commented on AXIS-1827: ------------------------------------
I tested this with Axis1.2 RC3 using the generated Stub classes from WSDL2Java. The request soap message from Axis is : <?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>guest</strUser> <strBusinessSystem>biz1</strBusinessSystem> <strParameter>param_name</strParameter> <strValues> <string>param_value1</string> <string>param_value2</string> </strValues> </SetParameterValues> </soapenv:Body> </soapenv:Envelope> I don't see any xmlns="" in <string>. Do you have the same results in RC3? If so, can you upload a test client that reproduce your issue? > Unnecessary empty-valued attribute "xmlns" in Envelope parameter values > ----------------------------------------------------------------------- > > Key: AXIS-1827 > URL: http://issues.apache.org/jira/browse/AXIS-1827 > Project: Axis > Type: Bug > Components: Serialization/Deserialization > Versions: 1.2 > Environment: Windows 2000 Pro SP4 JDK 1.4.2-05 > Reporter: Konstantin Kasatkin > Priority: Blocker > Attachments: AuthService.wsdl > > 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 - If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira
