  | | | 1.3 wsdl2java generates code with missing methods | 1.3 wsdl2java generates code with missing methods 2007-11-07 - By Pantvaidya, Vishwajit
Back I looked into the code generate and the missing methods issue is fixed. Thanks for the fix.
Now I added a wsdl:fault specification in the wsdl - and I get the exception:
[java] Caused by: java.lang.RuntimeException: Element QName is null for ECMServiceExceptionMessage! [java] at org.apache.axis2.wsdl.codegen.emitter .AxisServiceBasedMultiLanguageEmitter.getFaultParamElements (AxisServiceBasedMultiLanguageEmitter.java:2795) [java] at org.apache.axis2.wsdl.codegen.emitter .AxisServiceBasedMultiLanguageEmitter.getFaultElement (AxisServiceBasedMultiLanguageEmitter.java:2714) [java] at org.apache.axis2.wsdl.codegen.emitter .AxisServiceBasedMultiLanguageEmitter.generateMethodElement (AxisServiceBasedMultiLanguageEmitter.java:2237) [java] at org.apache.axis2.wsdl.codegen.emitter .AxisServiceBasedMultiLanguageEmitter.loadOperations (AxisServiceBasedMultiLanguageEmitter.java:2119) [java] at org.apache.axis2.wsdl.codegen.emitter .AxisServiceBasedMultiLanguageEmitter.createDOMDocumentForSkeletonInterface (AxisServiceBasedMultiLanguageEmitter.java:2076) [java] at org.apache.axis2.wsdl.codegen.emitter .AxisServiceBasedMultiLanguageEmitter.writeSkeletonInterface (AxisServiceBasedMultiLanguageEmitter.java:1985) [java] at org.apache.axis2.wsdl.codegen.emitter .AxisServiceBasedMultiLanguageEmitter.emitSkeleton (AxisServiceBasedMultiLanguageEmitter.java:1311)
Seems like this was a bug earlier in Axis2 - has that reappeared again in this nightly build? A more basic question I have asked earlier - Axis1 used to generate skeleton interface methods that threw java.lang.RemoteException by default - that no longer happens in Axis2. Is that a bug or by design? If that ia a bug and can be fixed - I no longer have to define a custom fault in wsdl.
Please let me know.
Thanks,
Vish.
>-- --Original Message-- -- >From: Pantvaidya, Vishwajit [mailto:vpantvai@(protected)] >Sent: Wednesday, November 07, 2007 12:34 PM >To: axis-user@(protected) >Subject: RE: [Axis2] 1.3 wsdl2java generates code with missing methods > >Their was no stack trace - but after today's research I have found that the >problem was because of the saxon7.jar in my lib space. I did not want to >remove it - so I just added <jvmarg value="- >Djavax.xml.transform.TransformerFactory=org.apache.xalan.processor.Transfor >merFactoryImpl"/> in my wsdl2java task and now the build completes without >the earlier error ("Error reported by XML parser: Premature end of file."). > >It will be good to add this to Axis FAQ or Known Problems/Workarounds. Do >you want me to do this? > > >- Vish. > >>-- --Original Message-- -- >>From: Amila Suriarachchi [mailto:amilasuriarachchi@(protected)] >>Sent: Wednesday, November 07, 2007 12:48 AM >>To: axis-user@(protected) >>Subject: Re: [Axis2] 1.3 wsdl2java generates code with missing methods >> >>are you getting any stack trace. >>if not put all your jars to axis lib and run the wsdl2java tool. >>see whether you can get any stack trace. >> >>amila. >> >>On Nov 7, 2007 11:12 AM, Pantvaidya, Vishwajit <vpantvai@(protected)> >>wrote: >>> >>> >>> >>> >>> - I downloaded the latest nightly Axis2 1.3 build (dated >>> 06-Nov-2007 (See http://Nov-2007.ora-code.com)) >>> >>> - 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:amilasuriarachchi@(protected)] >>> Sent: Monday, November 05, 2007 8:34 PM >>> >>> To: axis-user@(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 <vpantvai@(protected)> wrote: >>> >>> >>> >>> Hi Amila, >>> >>> >>> >>> Should I try the latest nightly build now if the fix has been checked >in? >>> >>> >>> >>> >>> >>> - Vish. >>> >>> >>> >>> >>> __ ____ ____ ____ ____ ____ ____ >>> >>> >>> From: Pantvaidya, Vishwajit [mailto: vpantvai@(protected)] >>> Sent: Monday, October 29, 2007 10:43 AM >>> To: axis-user@(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:amilasuriarachchi@(protected)] >>> Sent: Monday, October 29, 2007 4:57 AM >>> To: axis-user@(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 <vpantvai@(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:vpantvai@(protected)] >>> Sent: Tuesday, October 23, 2007 5:25 PM >>> To: axis-user@(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. >> >> >> >>-- >>Amila Suriarachchi, >>WSO2 Inc. >> >>-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ------ >>To unsubscribe, e-mail: axis-user-unsubscribe@(protected) >>For additional commands, e-mail: axis-user-help@(protected) > > >-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ------ >To unsubscribe, e-mail: axis-user-unsubscribe@(protected) >For additional commands, e-mail: axis-user-help@(protected)
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ------ To unsubscribe, e-mail: axis-user-unsubscribe@(protected) For additional commands, e-mail: axis-user-help@(protected)
|
|
 |