For my bottom up web service, Axis 1.4 generated, in part:
<element name="getTransforms">
<complexType>
<sequence>
<element name="in0" type="xsd:string"/>
<element name="in1" type="xsd:long"/>
</sequence>
</complexType>
</element>
Axis 2 1.3 generates:
<xs:element name="getTransforms">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="docID"
nillable="true" type="xs:string"/>
<xs:element minOccurs="0"
name="firstSequenceNumber" type="xs:long"/>
</xs:sequence>
</xs:complexType>
</xs:element>
This new form of WSDL causes source code auto-generated by
Microsoft.VSDesigner, Version 2.0.50727.312.
MS Web Services Client Protocol 2.0.50727.312
System.Web.Services, 2.0.50727.312
to include an unwanted third parameter named firstSequenceNumberSpecified:
public string[] getTransforms(
[System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
string docID,
long firstSequenceNumber,
[System.Xml.Serialization.XmlIgnoreAttribute()] bool
firstSequenceNumberSpecified)
Now in Axis 2's WSDL, everything has minOccurs="0". That in itself is
not enough to trigger the errant behaviour in the Windows client.
The errant behaviour is triggered by the type xs:long, but not for
example, by xs:string or xs:anyType. I also saw a post somewhere from
someone complaining about errant behaviour triggered by type boolean -
I have no booleans in my WSDL though.
I see org.apache.axis2.dataretrieval.WSDLDataLocator calls
org.apache.axis2.description.AxisService2WSDL11 which in turn uses
org.apache.ws.commons.schema.XmlSchema to serialise itself.
But a quick look at
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/XmlSchema/src/main/java/org/apache/ws/commons/schema/XmlSchema.java?view=markup
suggests there is no easy way to tell Axis 2 not to generate
minOccurs="0"?
For the moment, I'm manually deleting minOccurs="0", and feeding the
resulting WSDL file to Visual Studio to generate the client.
Has anybody else experienced this? What is the simplest workaround to
avoid editing the WSDL file manually?
thanks
Jason
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]