I too see the problem using 1.4 and the RC.
Thanks,
Paromita
| Jess Sightler <[EMAIL PROTECTED]>
02/13/2003 02:46 PM
|
To: [EMAIL PROTECTED] cc: [EMAIL PROTECTED] Subject: MAJOR Exception problems in RC1 |
Can someone else confirm that this has NOT been fixed? I am seeing this
behaviour with 1.4 using the RC.
Thanks,
Jess
Mitch,
This has already been fixed. Please try latest nightly build.
Thanks,
dims
>> Mitch,
>>
>> Can you file a bug for this with a small test case?
>>
>> Including a patch with the bug will increase the odds of the fix making 1.1 by an
>order of
magnitude!
>>
>> Thanks.
>> --
>> Tom Jordahl
>> Macromedia Server Development
>>
>>
>>
>> -----Original Message-----
>> From: Mitch Gitman [mailto:[EMAIL PROTECTED]]
>> Sent: Monday, December 23, 2002 12:27 PM
>> To: [EMAIL PROTECTED]
>> Subject: Java 1.4 issue
>>
>>
>> I've come across an Axis problem with Java 1.4. The 1.4 JDK introduces a
>> couple methods in the Exception class:
>> public Throwable getCause()
>> public StackTraceElement[] getStackTrace()
>>
>> Suppose the Java interface you're converting to a web service throws
>> exceptions. Since the above methods are public, they're picked up by
>> Java2WSDL for Exception, RemoteException and any descendant thereof. So
>> Java2WSDL produces the following warnings:
>>
>> org.apache.axis.wsdl.fromJava.Types isBeanCompatible
>> WARNING: The class java.lang.Throwable is defined in a java or javax
>> package and
>> cannot be converted into an xml schema type. An xml schema anyType will
>> be use
>> d to define this class in the wsdl file.
>> org.apache.axis.wsdl.fromJava.Types isBeanCompatible
>> WARNING: The class java.lang.StackTraceElement is defined in a java or
>> javax pac
>> kage and cannot be converted into an xml schema type. An xml schema
>> anyType wil
>> l be used to define this class in the wsdl file.
>>
>> I notice that, in the generated WSDL file, the references to Throwable,
>> StackTraceElement, and array of StackTraceElement mention a namespace,
>> tns3, which in my system doesn't exist.
>>
>> Next I run WSDL2Java. It throws the following exception:
>> java.io.IOException: Type StackTraceElement is referenced but not defined.
>> at
>> org.apache.axis.wsdl.symbolTable.SymbolTable.checkForUndefined(SymbolTable.java:496)
>> at
>> org.apache.axis.wsdl.symbolTable.SymbolTable.add(SymbolTable.java:396)
>> at
>> org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:382)
>> at
>> org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:367)
>> at org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:246)
>> at java.lang.Thread.run(Thread.java:536)
>>
>> The only way I have found to prevent this problem is to take the WSDL file
>> generated by Java2WSDL and strip any references to the Throwable and
>> StackTraceElements. I do this hack during my build using a DOM parser.
>>
>> I also have a .NET client that needs the Axis web service's WSDL. Since the
>> dynamic WSDL obtained through the ?wsdl URL parameter will have the same
>> dreaded Throwable and StackTraceElements belonging to the same dreaded
>> undefined namespace, I have to feed .NET my hacked static WSDL.
>>
>> Ironically, exception throwing works. At the end of this message is the
>> content of a sample SOAP response containing a fault corresponding to the
>> original server exception. The response even contains a stack trace in the
>> fault detail.
>>
>> So with the hack, everything works. Just, it's irritating that, without
>> this hack, Axis seemingly can't produce a valid WSDL in the common
>> circumstance of needing to throw exceptions in Java 1.4.
>> ===============================================================================
>> <?xml version="1.0" encoding="UTF-8"?>
>> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
>> xmlns:xsd="http://www.w3.org/2001/XMLSchema";
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
>> <soapenv:Body>
>> <soapenv:Fault>
>> <faultcode>soapenv:Server.userException</faultcode>
>> <faultstring>This is a test exception.</faultstring>
>> <detail>
>> <ns1:stackTrace xmlns:ns1="http://xml.apache.org/axis/";>This is a test
>> exception.
>> at foo.bar.ApplicationBean.testException(ApplicationBean.java:225)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>> at
>>
>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> ...
>> </ns1:stackTrace>
>> </detail>
>> </soapenv:Fault>
>> </soapenv:Body>
>> </soapenv:Envelope>
=====
Davanum Srinivas - http://xml.apache.org/~dims/
__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com
--
=======================================
Jess Sightler
Senior Developer
Exim Technologies
131 Falls Street
Greenville SC 29601
Phone: 864-679-4651
=======================================
