-          I downloaded the latest nightly Axis2 1.3 build (dated 06-Nov-2007)
-          included the relevant axis2 jars into my lib space (which has other 
non-axis jars that I need)
-          then running wsdl2java using my ant task gave following error:
o        [java] Error on line -1
o        [java]   Error reported by XML parser: Premature end of file.
-          Ant build gave "completed successfully" message and some java code 
has got built from the wsdl, it seems to be ok - I need to look in more detail.

I have following questions:
-          I then ran wsdl2java with only the axis nightly build jars (i.e. 
deleted other non-axis jars from my lib space) and it worked fine without any 
errors. So this seems to be a jar conflict issue. Does anyone know offhand what 
jar conflicts can cause above error?
-          I was not getting this error with the regular 1.3 download - so is 
this jar conflict introduced by any changes since 1.3?

Looking into this, I think that Sun bundling apache classes into java 1.4.2 and 
5.0 rt.jar adds uncertainty into which classes are getting used by wsdl2java. 
Any thoughts how I can improve upon this and get some certainty?



________________________________
From: Amila Suriarachchi [mailto:[EMAIL PROTECTED]
Sent: Monday, November 05, 2007 8:34 PM
To: [email protected]
Subject: Re: [Axis2] 1.3 wsdl2java generates code with missing methods

yes, now the nighly build should have this.
On 11/6/07, Pantvaidya, Vishwajit <[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>> 
wrote:

Hi Amila,



Should I try the latest nightly build now if the fix has been checked in?





- Vish.



________________________________

From: Pantvaidya, Vishwajit [mailto: [EMAIL PROTECTED]<mailto:[EMAIL 
PROTECTED]>]
Sent: Monday, October 29, 2007 10:43 AM
To: [email protected]<mailto:[email protected]>
Subject: RE: [Axis2] 1.3 wsdl2java generates code with missing methods



Thanks Amila. Can you let me know which nightly build I should take to try out 
the fix?





________________________________

From: Amila Suriarachchi [mailto:[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>]
Sent: Monday, October 29, 2007 4:57 AM
To: [email protected]<mailto:[email protected]>
Subject: Re: [Axis2] 1.3 wsdl2java generates code with missing methods



I have fixed this issue locally. will commit soon.

Amila.

On 10/25/07, Pantvaidya, Vishwajit <[EMAIL PROTECTED] <mailto:[EMAIL 
PROTECTED]> > wrote:

A quick clarification - the MessageReceiverInOut class generated by wsdl2java 
contains references to the missing methods. As this is an autogenerated class, 
I do not want to edit it myself to remove these problems.



Any insights?



________________________________

From: Pantvaidya, Vishwajit [mailto:[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>]
Sent: Tuesday, October 23, 2007 5:25 PM
To: [email protected]<mailto:[email protected]>
Subject: Axis2 1.3 wsdl2java generates code with missing methods



I am using wsdl2java to generate java code from a wsdl using wsdl2java options 
"-o -ss -sd -ssi -f -uw -uri -ns2p". The result includes a MessageReceiverInOut 
class that is missing a method resulting in a compiletime error "method 
wrapIsUploadAllowed(OperationStatusType) is undefined for the type 
...MessageReceiverInOut".



I observed that this seems to happen when wsdl parts in different messages 
refer to the same complex type. In such cases, the wrap methods in the 
MessageReceiver class for the first operation is created while that for the 
other one is not created. E.g. in this case the method 
wrapUpload(OperationStatusType) gets created while 
wrapIsUploadAllowed(OperationStatusType) is missing.



Wsdl snippet is included below.



Is this a bug?





                                    <s:complexType name="OperationStatusType">

                                                <s:sequence>

                                                            <s:element 
name="successFlag" type="s:boolean"/>

                                                            <s:element 
name="messageLevel" type="s:string"/>

                                                            <s:element 
name="messageCode" type="s:string"/>

                                                            <s:element 
name="message" type="s:string"/>

                                                </s:sequence>

                                    </s:complexType>

                                    <s:element name="OperationStatusElement" 
type="tns:OperationStatusType"/>



                                    <s:element name="UploadRequestElement">

                                                <s:complexType>

                                                            <s:sequence>

                                                                        
<s:element name="sessiontoken" type="s:string"/>

                                                                        
<s:element name="trackingnumber" type="s:string"/>

                                                                        
<s:element name="version" type="s:int"/>

                                                            </s:sequence>

                                                </s:complexType>>

                                    </s:element>



                                    <s:element 
name="IsUploadAllowedRequestElement">

                                                <s:complexType>

                                                            <s:sequence>

                                                                        
<s:element name="SessionToken" type="s:string"></s:element>

                                                                        
<s:element name="TrackingNumber" type="s:string"></s:element>

                                                                        
<s:element name="Version" type="s:int"></s:element>

                                                            </s:sequence>

                                                </s:complexType>

                                    </s:element>

...         <wsdl:message name="UploadRequest">

                        <wsdl:part name="uploadrequest" 
element="tns:UploadRequestElement"></wsdl:part>

            </wsdl:message>

            <wsdl:message name="UploadResponse">

                        <wsdl:part name="uploadoperationstatus" 
element="tns:OperationStatusElement"></wsdl:part>

            </wsdl:message>



            <wsdl:message name="IsUploadAllowedRequest">

                        <wsdl:part name="uploadcheckrequest" 
element="tns:IsUploadAllowedRequestElement"></wsdl:part>

            </wsdl:message>

            <wsdl:message name="IsUploadAllowedResponse">

                        <wsdl:part name="uploadcheckoperationstatus" 
element="tns:OperationStatusElement"></wsdl:part>

            </wsdl:message>

...

                        <wsdl:operation name="Upload">

                                    <wsdl:input 
message="tns:UploadRequest"></wsdl:input>

                                    <wsdl:output 
message="tns:UploadResponse"></wsdl:output>

                        </wsdl:operation>

                        <wsdl:operation name="IsUploadAllowed">

                                    <wsdl:input 
message="tns:IsUploadAllowedRequest"></wsdl:input>

                                    <wsdl:output 
message="tns:IsUploadAllowedResponse"></wsdl:output>

                        </wsdl:operation>

...

                        <soap:binding 
transport="http://schemas.xmlsoap.org/soap/http"; style="document"/>

                        <wsdl:operation name="Upload">

                                    <soap:operation soapAction="" 
style="document"/>

                                    <wsdl:input>

                                                <soap:body use="literal"/>

                                    </wsdl:input>

                                    <wsdl:output>

                                                <soap:body use="literal"/>

                                    </wsdl:output>

                        </wsdl:operation>

                        <wsdl:operation name="IsUploadAllowed">

                                    <soap:operation soapAction="" 
style="document"/>

                                    <wsdl:input>

                                                <soap:body use="literal"/>

                                    </wsdl:input>

                                    <wsdl:output>

                                                <soap:body use="literal"/>

                                    </wsdl:output>

                        </wsdl:operation>

...



--
Amila Suriarachchi,
WSO2 Inc.



--
Amila Suriarachchi,
WSO2 Inc.

Reply via email to