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 ax...@ws.apache.org on 2004/10/12 18:36:52 UTC

[jira] Created: (AXIS-1605) SOAPFaultException should be throw instead of AxisFault to be compliant with JAX-RPC 1.1

Message:

  A new issue has been created in JIRA.

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/AXIS-1605

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: AXIS-1605
    Summary: SOAPFaultException should be throw instead of AxisFault to be compliant with JAX-RPC 1.1
       Type: Bug

     Status: Unassigned
   Priority: Major

    Project: Axis
   Versions:
             1.2 Beta

   Assignee: 
   Reporter: Sébastien Tardif

    Created: Tue, 12 Oct 2004 9:35 AM
    Updated: Tue, 12 Oct 2004 9:35 AM
Environment: Axis 9/23/2004

Description:
SOAPFaultException should be throw instead of AxisFault to be compliant with JAX-RPC 1.1.

Right now as a Axis client of a webservices implemented with Axis I receive an AxisFault instead of a SOAPFaultException.

The JAX-RPC 1.1 said:

>From 4.3.6:
A wsdl:fault is mapped to either a java.rmi.RemoteException (or its subclass),
service specific Java exception (described later in this section) or a javax.xml.rpc.
soap.SOAPFaultException. Refer to the section 6.5, "SOAP Fault" for more details on
the Java mapping of a WSDL fault based on the SOAP binding.
Refer to the section 14.3.6, "Mapping of Remote Exceptions" for the mapping between
the standard SOAP faults [5] and the java.rmi.RemoteException.
...
Service Specific Exception
A service specific Java exception (mapped from a wsdl:fault and the corresponding
wsdl:message) extends the class java.lang.Exception directly or indirectly.
The single message part in the wsdl:message (referenced from the wsdl:fault
element) may be either a type or an element. If the former, it can be either a
xsd:complexType or a simple XML type.
Each element inside the xsd:complexType is mapped to a getter method and a
parameter in the constructor of the Java exception. Mapping of these elements follows
the standard XML to Java type mapping. The name of the Java exception class is
mapped from the name attribute of the xsd:complexType for the single message part.
This naming scheme enables the WSDL to Java mapping to map an xsd:complexType
derivation hierarchy to the corresponding Java exception class hierarchy. The following
section illustrates an example. Refer to the section

>From 6.5:
A SOAP fault is mapped to either a javax.xml.rpc.soap.SOAPFaultException, a
service specific exception class or RemoteException.

- Without this bug I could change of webservices runtime compliant with JAX-RPC and keep the same Java code.
- AxisFault is not a service specific Exception and so should not derived from RemoteException.


---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Commented: (AXIS-1605) SOAPFaultException should be throw instead of AxisFault to be compliant with JAX-RPC 1.1

Posted by ax...@ws.apache.org.
The following comment has been added to this issue:

     Author: Steve Loughran
    Created: Wed, 13 Oct 2004 3:11 PM
       Body:
Sebastien,

Looking at the scope of things, its clear that SOAPFaultException is new for SAAJ; meaning it is new in this version of Axis. I think we could consider somehow merging AxisFault so it is an implementation of SOAPFaultElement, but this is not going to happen in Axis1.2; its too late in the game, and there is lots of risks of regression.

As it stands, Axis is technically compliant by throwing AxisFault stuff, but it does limit your code's ability to run against other stacks. 

Returning to your underlying problem -inadequate diagnostics on faults. 

When you run against a production server you are not going to get a stack trace, whether you know the names of the Axis elements or not. You should see something on the log of the app however; Axis logs any unexpected runtime faults, and you can configure the logging to log all faults (in detail) by setting the relevant log level in the log4J configuration of your server:-

org.apache.axis.EXCEPTIONS=DEBUG

I am going to mark this as an enhancement, not a defect. 
---------------------------------------------------------------------
View this comment:
  http://issues.apache.org/jira/browse/AXIS-1605?page=comments#action_54015

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/AXIS-1605

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: AXIS-1605
    Summary: SOAPFaultException should be throw instead of AxisFault to be compliant with JAX-RPC 1.1
       Type: Bug

     Status: Unassigned
   Priority: Major

    Project: Axis
   Versions:
             1.2 Beta

   Assignee: 
   Reporter: Sébastien Tardif

    Created: Tue, 12 Oct 2004 9:35 AM
    Updated: Wed, 13 Oct 2004 3:11 PM
Environment: Axis 9/23/2004

Description:
SOAPFaultException should be throw instead of AxisFault to be compliant with JAX-RPC 1.1.

Right now as a Axis client of a webservices implemented with Axis I receive an AxisFault instead of a SOAPFaultException.

The JAX-RPC 1.1 said:

>From 4.3.6:
A wsdl:fault is mapped to either a java.rmi.RemoteException (or its subclass),
service specific Java exception (described later in this section) or a javax.xml.rpc.
soap.SOAPFaultException. Refer to the section 6.5, "SOAP Fault" for more details on
the Java mapping of a WSDL fault based on the SOAP binding.
Refer to the section 14.3.6, "Mapping of Remote Exceptions" for the mapping between
the standard SOAP faults [5] and the java.rmi.RemoteException.
...
Service Specific Exception
A service specific Java exception (mapped from a wsdl:fault and the corresponding
wsdl:message) extends the class java.lang.Exception directly or indirectly.
The single message part in the wsdl:message (referenced from the wsdl:fault
element) may be either a type or an element. If the former, it can be either a
xsd:complexType or a simple XML type.
Each element inside the xsd:complexType is mapped to a getter method and a
parameter in the constructor of the Java exception. Mapping of these elements follows
the standard XML to Java type mapping. The name of the Java exception class is
mapped from the name attribute of the xsd:complexType for the single message part.
This naming scheme enables the WSDL to Java mapping to map an xsd:complexType
derivation hierarchy to the corresponding Java exception class hierarchy. The following
section illustrates an example. Refer to the section

>From 6.5:
A SOAP fault is mapped to either a javax.xml.rpc.soap.SOAPFaultException, a
service specific exception class or RemoteException.

- Without this bug I could change of webservices runtime compliant with JAX-RPC and keep the same Java code.
- AxisFault is not a service specific Exception and so should not derived from RemoteException.


---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Commented: (AXIS-1605) SOAPFaultException should be throw instead of AxisFault to be compliant with JAX-RPC 1.1

Posted by ax...@ws.apache.org.
The following comment has been added to this issue:

     Author: Steve Loughran
    Created: Wed, 13 Oct 2004 3:26 PM
       Body:
Wait. I'm confused. There is a SOAPFault interface in SAAJ, SOAPFaultException (a class) in JAX-RPC. 

It seems to me that (a) SOAPFaultElement ought to implement SOAPFault, 
(b) we ought to be returning SOAPFaultExceptions when things go wrong. Even if we are technically correct, Sebastien is correct; "The SOAPFaultException exception represents a SOAP fault."


(a) is JAX-RPC tweaking
(b) is quite a significant change 

What we could do (shorter term) is provide some logic that turns an AxisFault into a SOAPFaultException, but its hard to see how useful that would be. 

Longer term we would need to change the proxy classes to throw a SOAPFaultException instead. 

Leaving defect open.
---------------------------------------------------------------------
View this comment:
  http://issues.apache.org/jira/browse/AXIS-1605?page=comments#action_54016

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/AXIS-1605

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: AXIS-1605
    Summary: SOAPFaultException should be throw instead of AxisFault to be compliant with JAX-RPC 1.1
       Type: Bug

     Status: Unassigned
   Priority: Major

    Project: Axis
   Versions:
             1.2 Beta

   Assignee: 
   Reporter: Sébastien Tardif

    Created: Tue, 12 Oct 2004 9:35 AM
    Updated: Wed, 13 Oct 2004 3:26 PM
Environment: Axis 9/23/2004

Description:
SOAPFaultException should be throw instead of AxisFault to be compliant with JAX-RPC 1.1.

Right now as a Axis client of a webservices implemented with Axis I receive an AxisFault instead of a SOAPFaultException.

The JAX-RPC 1.1 said:

>From 4.3.6:
A wsdl:fault is mapped to either a java.rmi.RemoteException (or its subclass),
service specific Java exception (described later in this section) or a javax.xml.rpc.
soap.SOAPFaultException. Refer to the section 6.5, "SOAP Fault" for more details on
the Java mapping of a WSDL fault based on the SOAP binding.
Refer to the section 14.3.6, "Mapping of Remote Exceptions" for the mapping between
the standard SOAP faults [5] and the java.rmi.RemoteException.
...
Service Specific Exception
A service specific Java exception (mapped from a wsdl:fault and the corresponding
wsdl:message) extends the class java.lang.Exception directly or indirectly.
The single message part in the wsdl:message (referenced from the wsdl:fault
element) may be either a type or an element. If the former, it can be either a
xsd:complexType or a simple XML type.
Each element inside the xsd:complexType is mapped to a getter method and a
parameter in the constructor of the Java exception. Mapping of these elements follows
the standard XML to Java type mapping. The name of the Java exception class is
mapped from the name attribute of the xsd:complexType for the single message part.
This naming scheme enables the WSDL to Java mapping to map an xsd:complexType
derivation hierarchy to the corresponding Java exception class hierarchy. The following
section illustrates an example. Refer to the section

>From 6.5:
A SOAP fault is mapped to either a javax.xml.rpc.soap.SOAPFaultException, a
service specific exception class or RemoteException.

- Without this bug I could change of webservices runtime compliant with JAX-RPC and keep the same Java code.
- AxisFault is not a service specific Exception and so should not derived from RemoteException.


---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Commented: (AXIS-1605) SOAPFaultException should be throw instead of AxisFault to be compliant with JAX-RPC 1.1

Posted by ax...@ws.apache.org.
The following comment has been added to this issue:

     Author: Sébastien Tardif
    Created: Wed, 13 Oct 2004 11:28 AM
       Body:
SOAPFaultException has those methods:
- Detail getDetail()     // Gets the detail element.
- String getFaultActor() // Gets the faultactor element.
- QName	getFaultCode()   // Gets the faultcode element.
- String getFaultString()// Gets the faultstring element.

Detail class derived from Node:
Interface Detail
All Superinterfaces: 
Node, SOAPElement, SOAPFaultElement 

So it seems SOAPFaultException also permit to receive all the XML of the fault detail.

Let's agree JAX-RPC specification is suck because it allow Axis to be compliant without using the SOAPFaultException which is more standard and do the same thing as AxisFault.

Now do we want to improve Axis and support a flag which will change this behavior?
---------------------------------------------------------------------
View this comment:
  http://issues.apache.org/jira/browse/AXIS-1605?page=comments#action_54009

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/AXIS-1605

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: AXIS-1605
    Summary: SOAPFaultException should be throw instead of AxisFault to be compliant with JAX-RPC 1.1
       Type: Bug

     Status: Unassigned
   Priority: Major

    Project: Axis
   Versions:
             1.2 Beta

   Assignee: 
   Reporter: Sébastien Tardif

    Created: Tue, 12 Oct 2004 9:35 AM
    Updated: Wed, 13 Oct 2004 11:28 AM
Environment: Axis 9/23/2004

Description:
SOAPFaultException should be throw instead of AxisFault to be compliant with JAX-RPC 1.1.

Right now as a Axis client of a webservices implemented with Axis I receive an AxisFault instead of a SOAPFaultException.

The JAX-RPC 1.1 said:

>From 4.3.6:
A wsdl:fault is mapped to either a java.rmi.RemoteException (or its subclass),
service specific Java exception (described later in this section) or a javax.xml.rpc.
soap.SOAPFaultException. Refer to the section 6.5, "SOAP Fault" for more details on
the Java mapping of a WSDL fault based on the SOAP binding.
Refer to the section 14.3.6, "Mapping of Remote Exceptions" for the mapping between
the standard SOAP faults [5] and the java.rmi.RemoteException.
...
Service Specific Exception
A service specific Java exception (mapped from a wsdl:fault and the corresponding
wsdl:message) extends the class java.lang.Exception directly or indirectly.
The single message part in the wsdl:message (referenced from the wsdl:fault
element) may be either a type or an element. If the former, it can be either a
xsd:complexType or a simple XML type.
Each element inside the xsd:complexType is mapped to a getter method and a
parameter in the constructor of the Java exception. Mapping of these elements follows
the standard XML to Java type mapping. The name of the Java exception class is
mapped from the name attribute of the xsd:complexType for the single message part.
This naming scheme enables the WSDL to Java mapping to map an xsd:complexType
derivation hierarchy to the corresponding Java exception class hierarchy. The following
section illustrates an example. Refer to the section

>From 6.5:
A SOAP fault is mapped to either a javax.xml.rpc.soap.SOAPFaultException, a
service specific exception class or RemoteException.

- Without this bug I could change of webservices runtime compliant with JAX-RPC and keep the same Java code.
- AxisFault is not a service specific Exception and so should not derived from RemoteException.


---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Commented: (AXIS-1605) SOAPFaultException should be throw instead of AxisFault to be compliant with JAX-RPC 1.1

Posted by ax...@ws.apache.org.
The following comment has been added to this issue:

     Author: Steve Loughran
    Created: Tue, 12 Oct 2004 12:42 PM
       Body:

If you have a look at AxisFault, you will see that we attach all this fancy extra information not in fields in the message, but as bits of XML in the message details. Which means the contents serialise into structured content that can then be processed by an aware recipient. For example, stack trace and hostname are two such entities. 

This is important: we are exchanging and preserving structure for use at the far end. 


Equally importantly, unless you configure the engine to be a development system, we strip the stack trace out before it goes over the wire. This is for security reasons; the less info you provide, the harder it is to subvert. 

Now, if you look at SOAPFaultException you see that it is a RuntimeException (nice), but then it doesn't actually do anything (not so nice). All it has is the ability to add classes that implement DetailElement interface. Thus it is essentially unusable and inflexible. Axis Fault's "work with the raw XML" is a better design. 

Now, I'm sorry this is unsatisfactory, but I don't find any of the fault handling in JAX-RPC very good. I do know this: you are better of working with the XML in a fault, than trying to magically marshall Java faults over the wire, as with the latter, you don't know what a non-Java app is going to do at the far end. 
---------------------------------------------------------------------
View this comment:
  http://issues.apache.org/jira/browse/AXIS-1605?page=comments#action_53953

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/AXIS-1605

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: AXIS-1605
    Summary: SOAPFaultException should be throw instead of AxisFault to be compliant with JAX-RPC 1.1
       Type: Bug

     Status: Unassigned
   Priority: Major

    Project: Axis
   Versions:
             1.2 Beta

   Assignee: 
   Reporter: Sébastien Tardif

    Created: Tue, 12 Oct 2004 9:35 AM
    Updated: Tue, 12 Oct 2004 12:42 PM
Environment: Axis 9/23/2004

Description:
SOAPFaultException should be throw instead of AxisFault to be compliant with JAX-RPC 1.1.

Right now as a Axis client of a webservices implemented with Axis I receive an AxisFault instead of a SOAPFaultException.

The JAX-RPC 1.1 said:

>From 4.3.6:
A wsdl:fault is mapped to either a java.rmi.RemoteException (or its subclass),
service specific Java exception (described later in this section) or a javax.xml.rpc.
soap.SOAPFaultException. Refer to the section 6.5, "SOAP Fault" for more details on
the Java mapping of a WSDL fault based on the SOAP binding.
Refer to the section 14.3.6, "Mapping of Remote Exceptions" for the mapping between
the standard SOAP faults [5] and the java.rmi.RemoteException.
...
Service Specific Exception
A service specific Java exception (mapped from a wsdl:fault and the corresponding
wsdl:message) extends the class java.lang.Exception directly or indirectly.
The single message part in the wsdl:message (referenced from the wsdl:fault
element) may be either a type or an element. If the former, it can be either a
xsd:complexType or a simple XML type.
Each element inside the xsd:complexType is mapped to a getter method and a
parameter in the constructor of the Java exception. Mapping of these elements follows
the standard XML to Java type mapping. The name of the Java exception class is
mapped from the name attribute of the xsd:complexType for the single message part.
This naming scheme enables the WSDL to Java mapping to map an xsd:complexType
derivation hierarchy to the corresponding Java exception class hierarchy. The following
section illustrates an example. Refer to the section

>From 6.5:
A SOAP fault is mapped to either a javax.xml.rpc.soap.SOAPFaultException, a
service specific exception class or RemoteException.

- Without this bug I could change of webservices runtime compliant with JAX-RPC and keep the same Java code.
- AxisFault is not a service specific Exception and so should not derived from RemoteException.


---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Commented: (AXIS-1605) SOAPFaultException should be throw instead of AxisFault to be compliant with JAX-RPC 1.1

Posted by ax...@ws.apache.org.
The following comment has been added to this issue:

     Author: Sébastien Tardif
    Created: Tue, 12 Oct 2004 10:08 AM
       Body:
Maybe my interpretation of the spec is not exact but for sure it will be better to use SOAPFaultException than a specific Axis class.

My use case triggering this inquiry is that when I call on the instance of Exception getMessage() it doesn't return all the errors messages describing the problems. But they are shown when I do ex.printStackTrace(). So to get all the information we have to cast to AxisFault.

So if getMessage() return a complete message I will not need anymore a AxisFault or a SOAPFaultException.

The stack trace is like this:
SEVERE: Message doesn't comply with the associated XML schema :
The following exception occured while validating field: _queryExpressionList of class: com.docharbor.webservices.Criteria
ValidationException: The field '_operator' (whose xml name is 'operator') is a required field of class 'com.docharbor.webservices.QueryExpression;
   - location of error: XPATH: QueryExpression
	at org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:208)
	at org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:903)
	at org.exolab.castor.xml.Validator.validate(Validator.java:122)
	at org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:229)
	at org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:903)
	at org.exolab.castor.xml.Validator.validate(Validator.java:122)

But the ex.getMessage() is just this:
; nested exception is: 
	java.io.IOException: Message doesn't comply with the associated XML schema :The following exception occured while validating field: _queryExpressionList of class: com.docharbor.webservices.Criteria

So at least the getMessage() should return this:
SEVERE: Message doesn't comply with the associated XML schema :
The following exception occured while validating field: _queryExpressionList of class: com.docharbor.webservices.Criteria
ValidationException: The field '_operator' (whose xml name is 'operator') is a required field of class 'com.docharbor.webservices.QueryExpression;
   - location of error: XPATH: QueryExpression

---------------------------------------------------------------------
View this comment:
  http://issues.apache.org/jira/browse/AXIS-1605?page=comments#action_53946

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/AXIS-1605

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: AXIS-1605
    Summary: SOAPFaultException should be throw instead of AxisFault to be compliant with JAX-RPC 1.1
       Type: Bug

     Status: Unassigned
   Priority: Major

    Project: Axis
   Versions:
             1.2 Beta

   Assignee: 
   Reporter: Sébastien Tardif

    Created: Tue, 12 Oct 2004 9:35 AM
    Updated: Tue, 12 Oct 2004 10:08 AM
Environment: Axis 9/23/2004

Description:
SOAPFaultException should be throw instead of AxisFault to be compliant with JAX-RPC 1.1.

Right now as a Axis client of a webservices implemented with Axis I receive an AxisFault instead of a SOAPFaultException.

The JAX-RPC 1.1 said:

>From 4.3.6:
A wsdl:fault is mapped to either a java.rmi.RemoteException (or its subclass),
service specific Java exception (described later in this section) or a javax.xml.rpc.
soap.SOAPFaultException. Refer to the section 6.5, "SOAP Fault" for more details on
the Java mapping of a WSDL fault based on the SOAP binding.
Refer to the section 14.3.6, "Mapping of Remote Exceptions" for the mapping between
the standard SOAP faults [5] and the java.rmi.RemoteException.
...
Service Specific Exception
A service specific Java exception (mapped from a wsdl:fault and the corresponding
wsdl:message) extends the class java.lang.Exception directly or indirectly.
The single message part in the wsdl:message (referenced from the wsdl:fault
element) may be either a type or an element. If the former, it can be either a
xsd:complexType or a simple XML type.
Each element inside the xsd:complexType is mapped to a getter method and a
parameter in the constructor of the Java exception. Mapping of these elements follows
the standard XML to Java type mapping. The name of the Java exception class is
mapped from the name attribute of the xsd:complexType for the single message part.
This naming scheme enables the WSDL to Java mapping to map an xsd:complexType
derivation hierarchy to the corresponding Java exception class hierarchy. The following
section illustrates an example. Refer to the section

>From 6.5:
A SOAP fault is mapped to either a javax.xml.rpc.soap.SOAPFaultException, a
service specific exception class or RemoteException.

- Without this bug I could change of webservices runtime compliant with JAX-RPC and keep the same Java code.
- AxisFault is not a service specific Exception and so should not derived from RemoteException.


---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Commented: (AXIS-1605) SOAPFaultException should be throw instead of AxisFault to be compliant with JAX-RPC 1.1

Posted by "Davanum Srinivas (JIRA)" <ax...@ws.apache.org>.
     [ http://nagoya.apache.org/jira/browse/AXIS-1605?page=comments#action_55502 ]
     
Davanum Srinivas commented on AXIS-1605:
----------------------------------------

As per Steve's comment. leaving defect open till next release.

-- dims

> SOAPFaultException should be throw instead of AxisFault to be compliant with JAX-RPC 1.1
> ----------------------------------------------------------------------------------------
>
>          Key: AXIS-1605
>          URL: http://nagoya.apache.org/jira/browse/AXIS-1605
>      Project: Axis
>         Type: Bug
>     Versions: 1.2 Beta
>  Environment: Axis 9/23/2004
>     Reporter: Sébastien Tardif

>
> SOAPFaultException should be throw instead of AxisFault to be compliant with JAX-RPC 1.1.
> Right now as a Axis client of a webservices implemented with Axis I receive an AxisFault instead of a SOAPFaultException.
> The JAX-RPC 1.1 said:
> From 4.3.6:
> A wsdl:fault is mapped to either a java.rmi.RemoteException (or its subclass),
> service specific Java exception (described later in this section) or a javax.xml.rpc.
> soap.SOAPFaultException. Refer to the section 6.5, "SOAP Fault" for more details on
> the Java mapping of a WSDL fault based on the SOAP binding.
> Refer to the section 14.3.6, "Mapping of Remote Exceptions" for the mapping between
> the standard SOAP faults [5] and the java.rmi.RemoteException.
> ...
> Service Specific Exception
> A service specific Java exception (mapped from a wsdl:fault and the corresponding
> wsdl:message) extends the class java.lang.Exception directly or indirectly.
> The single message part in the wsdl:message (referenced from the wsdl:fault
> element) may be either a type or an element. If the former, it can be either a
> xsd:complexType or a simple XML type.
> Each element inside the xsd:complexType is mapped to a getter method and a
> parameter in the constructor of the Java exception. Mapping of these elements follows
> the standard XML to Java type mapping. The name of the Java exception class is
> mapped from the name attribute of the xsd:complexType for the single message part.
> This naming scheme enables the WSDL to Java mapping to map an xsd:complexType
> derivation hierarchy to the corresponding Java exception class hierarchy. The following
> section illustrates an example. Refer to the section
> From 6.5:
> A SOAP fault is mapped to either a javax.xml.rpc.soap.SOAPFaultException, a
> service specific exception class or RemoteException.
> - Without this bug I could change of webservices runtime compliant with JAX-RPC and keep the same Java code.
> - AxisFault is not a service specific Exception and so should not derived from RemoteException.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Commented: (AXIS-1605) SOAPFaultException should be throw instead of AxisFault to be compliant with JAX-RPC 1.1

Posted by ax...@ws.apache.org.
The following comment has been added to this issue:

     Author: Tom Jordahl
    Created: Wed, 13 Oct 2004 7:05 AM
       Body:
We are conforming to the spec:
>From 4.3.6:
A wsdl:fault is mapped to either a java.rmi.RemoteException 
(or its subclass), 
^^^^^^^^^^^^^^^^^

AxisFault is is a subclass:

public class AxisFault extends java.rmi.RemoteException {

So I don't believe this is a bug.


---------------------------------------------------------------------
View this comment:
  http://issues.apache.org/jira/browse/AXIS-1605?page=comments#action_53995

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/AXIS-1605

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: AXIS-1605
    Summary: SOAPFaultException should be throw instead of AxisFault to be compliant with JAX-RPC 1.1
       Type: Bug

     Status: Unassigned
   Priority: Major

    Project: Axis
   Versions:
             1.2 Beta

   Assignee: 
   Reporter: Sébastien Tardif

    Created: Tue, 12 Oct 2004 9:35 AM
    Updated: Wed, 13 Oct 2004 7:05 AM
Environment: Axis 9/23/2004

Description:
SOAPFaultException should be throw instead of AxisFault to be compliant with JAX-RPC 1.1.

Right now as a Axis client of a webservices implemented with Axis I receive an AxisFault instead of a SOAPFaultException.

The JAX-RPC 1.1 said:

>From 4.3.6:
A wsdl:fault is mapped to either a java.rmi.RemoteException (or its subclass),
service specific Java exception (described later in this section) or a javax.xml.rpc.
soap.SOAPFaultException. Refer to the section 6.5, "SOAP Fault" for more details on
the Java mapping of a WSDL fault based on the SOAP binding.
Refer to the section 14.3.6, "Mapping of Remote Exceptions" for the mapping between
the standard SOAP faults [5] and the java.rmi.RemoteException.
...
Service Specific Exception
A service specific Java exception (mapped from a wsdl:fault and the corresponding
wsdl:message) extends the class java.lang.Exception directly or indirectly.
The single message part in the wsdl:message (referenced from the wsdl:fault
element) may be either a type or an element. If the former, it can be either a
xsd:complexType or a simple XML type.
Each element inside the xsd:complexType is mapped to a getter method and a
parameter in the constructor of the Java exception. Mapping of these elements follows
the standard XML to Java type mapping. The name of the Java exception class is
mapped from the name attribute of the xsd:complexType for the single message part.
This naming scheme enables the WSDL to Java mapping to map an xsd:complexType
derivation hierarchy to the corresponding Java exception class hierarchy. The following
section illustrates an example. Refer to the section

>From 6.5:
A SOAP fault is mapped to either a javax.xml.rpc.soap.SOAPFaultException, a
service specific exception class or RemoteException.

- Without this bug I could change of webservices runtime compliant with JAX-RPC and keep the same Java code.
- AxisFault is not a service specific Exception and so should not derived from RemoteException.


---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Commented: (AXIS-1605) SOAPFaultException should be throw instead of AxisFault to be compliant with JAX-RPC 1.1

Posted by ax...@ws.apache.org.
The following comment has been added to this issue:

     Author: Ian P. Springer
    Created: Wed, 13 Oct 2004 3:49 PM
       Body:
Here's logic to convert from a SOAPFE to an AxisFault. Reversing it to go the other way shouldn't be hard.

public static AxisFault toAxisFault(SOAPFaultException soapfe) {
        AxisFault axis_fault =
                new AxisFault(soapfe.getFaultCode(),
                        soapfe.getFaultString(),
                        soapfe.getFaultActor(),
                        null);
        if (soapfe.getDetail() != null) {
            Iterator detailElemsIter = soapfe.getDetail().getChildElements();
            while (detailElemsIter.hasNext()) {
                axis_fault.addFaultDetail((Element) detailElemsIter.next());
            }
        }
        return (axis_fault);
    }

---------------------------------------------------------------------
View this comment:
  http://issues.apache.org/jira/browse/AXIS-1605?page=comments#action_54017

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/AXIS-1605

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: AXIS-1605
    Summary: SOAPFaultException should be throw instead of AxisFault to be compliant with JAX-RPC 1.1
       Type: Bug

     Status: Unassigned
   Priority: Major

    Project: Axis
   Versions:
             1.2 Beta

   Assignee: 
   Reporter: Sébastien Tardif

    Created: Tue, 12 Oct 2004 9:35 AM
    Updated: Wed, 13 Oct 2004 3:49 PM
Environment: Axis 9/23/2004

Description:
SOAPFaultException should be throw instead of AxisFault to be compliant with JAX-RPC 1.1.

Right now as a Axis client of a webservices implemented with Axis I receive an AxisFault instead of a SOAPFaultException.

The JAX-RPC 1.1 said:

>From 4.3.6:
A wsdl:fault is mapped to either a java.rmi.RemoteException (or its subclass),
service specific Java exception (described later in this section) or a javax.xml.rpc.
soap.SOAPFaultException. Refer to the section 6.5, "SOAP Fault" for more details on
the Java mapping of a WSDL fault based on the SOAP binding.
Refer to the section 14.3.6, "Mapping of Remote Exceptions" for the mapping between
the standard SOAP faults [5] and the java.rmi.RemoteException.
...
Service Specific Exception
A service specific Java exception (mapped from a wsdl:fault and the corresponding
wsdl:message) extends the class java.lang.Exception directly or indirectly.
The single message part in the wsdl:message (referenced from the wsdl:fault
element) may be either a type or an element. If the former, it can be either a
xsd:complexType or a simple XML type.
Each element inside the xsd:complexType is mapped to a getter method and a
parameter in the constructor of the Java exception. Mapping of these elements follows
the standard XML to Java type mapping. The name of the Java exception class is
mapped from the name attribute of the xsd:complexType for the single message part.
This naming scheme enables the WSDL to Java mapping to map an xsd:complexType
derivation hierarchy to the corresponding Java exception class hierarchy. The following
section illustrates an example. Refer to the section

>From 6.5:
A SOAP fault is mapped to either a javax.xml.rpc.soap.SOAPFaultException, a
service specific exception class or RemoteException.

- Without this bug I could change of webservices runtime compliant with JAX-RPC and keep the same Java code.
- AxisFault is not a service specific Exception and so should not derived from RemoteException.


---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira