You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by bu...@apache.org on 2002/07/14 18:57:09 UTC
DO NOT REPLY [Bug 10788] New: -
Web Service throwing AxisFault leads to corrupt WSDL
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10788>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10788
Web Service throwing AxisFault leads to corrupt WSDL
Summary: Web Service throwing AxisFault leads to corrupt WSDL
Product: Axis
Version: current (nightly)
Platform: PC
OS/Version: Windows NT/2K
Status: NEW
Severity: Normal
Priority: Other
Component: WSDL processing
AssignedTo: axis-dev@xml.apache.org
ReportedBy: arne@degenring.de
I already reported this some days ago on axis-user, but got no response. I now
have attached the files so that you can reproduce the bug quicker.
Have a look at the attached TestSOAPFault Web Service. The testMethod() throws
an AxisFault with my own SOAP fault code.
The SOAP response that is returned by the service and contains the SOAP Fault
seems to be perfectly ok. I also accessed the web service from the .NET
platform. I could generate a proxy class using wsdl.exe. From a simple .NET
test client I could perfectly access the SOAP fault code.
BUT: The WSDL definition generated by Axis must be corrupt. WSDL2Java is not
able to generate a proxy out of the WSDL definition. Error
message: "java.io.IOException: Type {http://axis.apache.org}AxisFault is
referenced but not defined."
BTW: I'm using beta-3 (this option is still missing in Bugzilla).
-----
package de.degenring;
import javax.xml.namespace.QName;
import org.apache.axis.AxisFault;
import org.w3c.dom.Element;
public class TestSOAPFault{
public void testMethod() throws AxisFault {
throw new AxisFault(
new QName("http://degenring.de","MyOwnFaultCode"), "This is a SOAP
Fault with custom faultcode", null, new Element[0]);
}
}
-----
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="TestSOAPFault" provider="java:RPC"
xmlns:myNS="http://degenring.de">
<parameter name="className" value="de.degenring.TestSOAPFault"/>
<parameter name="allowedMethods" value="testMethod"/>
</service>
</deployment>