Deepal,
The main problem is that when I run Java2WSDL on the interface that
has an import of a class with variables and use that as the argument
to the method, the generated WSDL is rejected by WSDL2Java, unless I
edit the file and remove the duplicate complex type definition. After
that, I am am able to use the file, but it is undesirable from the
perspective that we want to be able to automatically generate a web
service, without human intervention, as we do with Axis2 0.93. The
issue is that the generated WSDL produced by Java2WSDL is incorrect
for what your WSDL2Java can process. I am sure that Anne is correct in
what she says, as she knows a great deal more than I do about WSDL,
but the duplicate complex type is what I wrote the JIRA issue about.
Regards,
Jim
On 6/21/06, Deepal Jayasinghe <[EMAIL PROTECTED]> wrote:
Hi Jim
pls see my comments below;
Jim Bender wrote:
> It appears that the Axis2 Std 1.0 WSDL file generation from a Java
> interface is hard-wired to set the elementFormDefault to
> "unqualified".
>
> By not setting
>
> // java2WsdlBuilder.setSchemaTargetNamespace("");
> // java2WsdlBuilder.setSchemaTargetNamespacePrefix("");
>
> in the Java2WSDLBuilder, I was able to get rid of several problems in
> the generated
> WSDL file.
>
> In the example file, edited by Anne, she had set the
> "elementFormDefault" to
> "qualified", and I looked and there is code in the
> WSDL11ToAxisServiceBuilder
> that is hard-coded to set the elementFormDefault to "unqualified"
> (on line 830). This is the only class that seemed to write the
> "elementFormDefault".
My knowledge on WSDL is not that rich ,so is Axis2 default behaviors
buggy ? I mean setting elementFormDefault="unqualified" is a bug ?
If so I like to fix that
> This is in the daily build for last Friday, June 9th.
> As suggested, I am trying the daily build from Friday, to get the
> latest fixes,
> although that is probably not what we need to be using (we want to use
> the
> Axis2 Std 1.0 release).
>
> BTW, there still seems to be some gratuitous namespace references in
> the generated
> SOAP body, which Anne says should not be there.
I just checked now and it does not generate any namespace element in
SOAP body , its only has <soap:body use="literal"/>
>
> At least, I realized that I had a way to format the WSDL file so that
> it is not
> quite so unreadable. I attached the formatted file that I just
> generated, to see
> if anyone has any ideas. I will test this against the WSDL2Java generator
> to see if it will work, as is.
>
> Regards,
>
>------------------------------------------------------------------------
>
><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:ns1="http://testexamples/xsd"
xmlns:ns="http://PointsCalculator.ve.recursionsw.com/types" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
targetNamespace="http://PointsCalculator.ve.recursionsw.com/types">
> <wsdl:types>
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns="http://testexamples/xsd"
targetNamespace="http://testexamples/xsd" elementFormDefault="unqualified"
attributeFormDefault="unqualified">
> <xs:element type="ns:FoodDescription"
name="FoodDescription"/>
> <xs:complexType name="FoodDescription">
> <xs:sequence>
> <xs:element type="xs:int"
name="calories"/>
> <xs:element type="xs:int"
name="fatGrams"/>
> <xs:element type="xs:int"
name="fiberGrams"/>
> <xs:element type="xs:int"
name="points"/>
> </xs:sequence>
> </xs:complexType>
> <xs:element name="calculatePoints">
> <xs:complexType>
> <xs:sequence>
> <xs:element type="ns:FoodDescription"
name="param0"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> <xs:element name="calculatePointsResponse">
> <xs:complexType>
> <xs:sequence>
> <xs:element type="xs:int"
name="return"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> <xs:complexType name="FoodDescription">
> <xs:sequence>
> <xs:element type="xs:int"
name="calories"/>
> <xs:element type="xs:int"
name="fatGrams"/>
> <xs:element type="xs:int"
name="fiberGrams"/>
> <xs:element type="xs:int"
name="points"/>
> </xs:sequence>
> </xs:complexType>
> </xs:schema>
> </wsdl:types>
> <wsdl:message name="calculatePointsMessage">
> <wsdl:part element="ns1:calculatePoints" name="part1"/>
> </wsdl:message>
> <wsdl:message name="calculatePointsResponseMessage">
> <wsdl:part element="ns1:calculatePointsResponse" name="part1"/>
> </wsdl:message>
> <wsdl:portType name="PointsCalculatorPortType">
> <wsdl:operation name="calculatePoints">
> <wsdl:input message="ns:calculatePointsMessage"/>
> <wsdl:output
message="ns:calculatePointsResponseMessage"/>
> </wsdl:operation>
> </wsdl:portType>
> <wsdl:binding type="ns:PointsCalculatorPortType"
name="PointsCalculatorSOAP11Binding">
> <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
> <wsdl:operation name="calculatePoints">
> <soap:operation style="document"
soapAction="urn:calculatePoints"/>
> <wsdl:input>
> <soap:body
namespace="http://PointsCalculator.ve.recursionsw.com/types" use="literal"/>
> </wsdl:input>
> <wsdl:output>
> <soap:body
namespace="http://PointsCalculator.ve.recursionsw.com/types" use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> </wsdl:binding>
> <wsdl:binding type="ns:PointsCalculatorPortType"
name="PointsCalculatorSOAP12Binding">
> <soap12:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
> <wsdl:operation name="calculatePoints">
> <soap12:operation style="document"
soapAction="urn:calculatePoints"/>
> <wsdl:input>
> <soap12:body
namespace="http://PointsCalculator.ve.recursionsw.com/types" use="literal"/>
> </wsdl:input>
> <wsdl:output>
> <soap12:body
namespace="http://PointsCalculator.ve.recursionsw.com/types" use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> </wsdl:binding>
> <wsdl:service name="PointsCalculator">
> <wsdl:port binding="ns:PointsCalculatorSOAP11Binding"
name="PointsCalculatorSOAP11port">
> <soap:address
location="c:/Java/projects2/axis2-std-1.0testbed\build\wsdlPointsCalculator"/>
> </wsdl:port>
> <wsdl:port binding="ns:PointsCalculatorSOAP12Binding"
name="PointsCalculatorSOAP12port">
> <soap12:address
location="c:/Java/projects2/axis2-std-1.0testbed\build\wsdlPointsCalculator"/>
> </wsdl:port>
> </wsdl:service>
></wsdl:definitions>
>
>
>------------------------------------------------------------------------
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
>
--
Thanks,
Deepal
................................................................
~Future is Open~
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Jim
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]