array of Strings changed to <element name="varArray" type="xsd:string"/> in
java2wsdl
-------------------------------------------------------------------------------------
Key: AXIS-2519
URL: http://issues.apache.org/jira/browse/AXIS-2519
Project: Apache Axis
Type: Bug
Components: WSDL processing
Versions: 1.4
Environment: Windows XPSP2, SUN's java 1.4.2_11-b06.
Reporter: Grzegorz Grzybek
Priority: Critical
I used wsdl2Java and my xsd:complexType, which uses array of strings is
properly converted into java.lang.String[]. But when the web service is
published and URL with ?wsdl param is used, the generated wsdl says, that my
type is simple xsd:string, and not ArrayOfStrings.
You can easily reproduce this bug - just run the "echo" sample from
axis-1.4-src/samples/echo and see http://localhost:8080/axis/services/echo?wsdl
and particulary - <complexType name="SOAPArrayStruct"> definition - it's always
wrong.
The TestClient runs fine - it sends array of strings, but we're talking about
interoperability - te generated "?wsdl" document is used in .NET environment to
generate ws proxies - and instead of string[] there is simply string property.
It helps when one add:
elemField.setItemQName(new QName("http://www.w3.org/2001/XMLSchema",
"string"));
in the static {} block in generated SOAPArrayStruct.java.
I think the problem is in
org.apache.axis.encoding.ser.BeanSerializer.writeField() method:
both the conditions:
if (!SchemaUtils.isSimpleSchemaType(xmlType) &&
Types.isArray(fieldType)) {
xmlType = null;
}
if (itemQName != null &&
SchemaUtils.isSimpleSchemaType(xmlType) &&
Types.isArray(fieldType)) {
xmlType = null;
}
are not met and the information that the element is array is lost. One of these
conditions is met when the array elements are NOT simple schema types.
--
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
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]