To anyone who can help:

I'm trying to show something intelligible in the case of a web service call
failure in the Delegation Processor.

The example I'm using is a service call that simply faults on a division by
zero.

The resulting XML document arriving at the delegation processor looks like:

<?xml version="1.0" encoding="utf-8" ?>
    - <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xmlns:xsd="
    http://www.w3.org/2001/XMLSchema";>
      - <soap:Body>
        - <soap:Fault>
          � <faultcode>soap:Server</faultcode>
          � <faultstring>Server was unable to process request. -->
          Attempted to divide by zero.</faultstring>
          � <detail />
      � </soap:Fault>
    � </soap:Body>
  � </soap:Envelope>

Granted I am not aware of any spec for soap faults beyond simply expecting
a node at XPath:
"/soap:Envelope/soap:Body/soap:Fault".

As a developer I would expect the delegation processor to allow me access
to this response as the result of the processor call?
Then I could <p:choose blah blah> something reasonable to do about it.

Unfortunately (presumably due to the following .java code implementing the
delegation processor) :

 // Handle result
                                        if (resultEnvelope != null) {

                                            // Throw exception if a fault
is returned
                                            if
(resultEnvelope.getBody().getFault() != null) {
                                                throw new
OXFException("SOAP Fault. Request:\n"
                                                        +
XMLUtils.domToString(requestEnvelope.getAsDocument())
                                                        + "\n\nResponse:\n"
                                                        +
XMLUtils.domToString(resultEnvelope.getAsDocument()));
                                            }

all that ever happens is that my calling pipeline is short-circuited with a
catch-all nasty error screen.

Although to my mind I would still like the full result returned from the
processor for me to deal with rather than an exception,
even the built-in exception logic here seems to have a problem in that it
always displays the following (screen shown at the end of this message)
instead of the desired request/response information.

Is there any kind of configuration issue I might be experiencing to cause
this?  Is it a valid bug?  Can you let me know what to plan for regarding
error handling for web services going forward?

Thanks,

Brian Battah MCSD
Senior Programmer
Computer Sciences Corporation

----------------------------------------------------------------------------------------

This is a PRIVATE message. If you are not the intended recipient, please
delete without copying and kindly advise us by e-mail of the mistake in
delivery. NOTE: Regardless of content, this e-mail shall not operate to
bind CSC to any order or other contract unless pursuant to explicit written
agreement or government initiative expressly permitting the use of e-mail
for such purpose.
----------------------------------------------------------------------------------------

Presentation Server - Error Page
                                                                                
                                                              
   Type   class java.lang.IllegalArgumentException                              
                                                              
                                                                                
                                                              
 Message  
Value�of�{{http://saxon.sf.net/}indent-s...}�must�be�a�positive�integer         
                                        
                                                                                
                                                              
 Location                                                                       
                                                              
                                                                                
                                                              
   Line   N/A                                                                   
                                                              
                                                                                
                                                              
  Column  N/A                                                                   
                                                              
                                                                                
                                                              
  Stack                                                                         
                                                              
  Trace                                                                         
                                                              
                                                                                
                                                              
                                                                          Class 
Name                                                          
                                                                                
                                      Method Name             
                                                                                
                                                  File Name   
                                                                                
                                                              Line
                                                                                
                                                             Number
          org.orbeon.saxon.Controller                                           
                                                              
                                                                                
                    setOutputProperty                         
                                                                                
                                          Controller.java     
                                                                                
                                                             239
          org.orbeon.oxf.xml.TransformerUtils                                   
                                                              
                                                                                
                    applyXMLOutputProperties                  
                                                                                
                                          TransformerUtils.java
                                                                                
                                                             164
          org.orbeon.oxf.xml.TransformerUtils                                   
                                                              
                                                                                
                    getXMLIdentityTransformer                 
                                                                                
                                          TransformerUtils.java
                                                                                
                                                             152
          org.orbeon.oxf.xml.XMLUtils                                           
                                                              
                                                                                
                    domToString                               
                                                                                
                                          XMLUtils.java       
                                                                                
                                                             288
          org.orbeon.oxf.processor.DelegationProcessor$2                        
                                                              
                                                                                
                    endElement                                
                                                                                
                                          DelegationProcessor.java
                                                                                
                                                             254
          org.orbeon.oxf.xml.SAXStore                                           
                                                              
                                                                                
                    replay                                    
                                                                                
                                          SAXStore.java       
                                                                                
                                                             168
          org.orbeon.oxf.processor.DebugProcessor$1                             
                                                              
                                                                                
                    readImpl                                  
                                                                                
                                          DebugProcessor.java 
                                                                                
                                                             76
          org.orbeon.oxf.processor.ProcessorImpl$6                              
                                                              
                                                                                
                    read                                      
                                                                                
                                          ProcessorImpl.java  
                                                                                
                                                             945
          org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl            
                                                              
                                                                                
                    read                                      
                                                                                
                                          ProcessorImpl.java  
                                                                                
                                                             1106
          
org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl$ConcreteProcessorFilter
                                                  
                                                                                
                    read                                      
                                                                                
                                          ProcessorImpl.java  
                                                                                
                                                             923
          org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl            
                                                              
                                                                                
                    read                                      
                                                                                
                                          ProcessorImpl.java  
                                                                                
                                                             1106
          org.orbeon.oxf.processor.ProcessorImpl                                
                                                              
                                                                                
                    readInputAsSAX                            
                                                                                
                                          ProcessorImpl.java  
                                                                                
                                                             340
          org.orbeon.oxf.processor.ProcessorImpl                                
                                                              
                                                                                
                    readInputAsSAX                            
                                                                                
                                          ProcessorImpl.java  
                                                                                
                                                             345
          org.orbeon.oxf.processor.DelegationProcessor$1                        
                                                              
                                                                                
                    readImpl                                  
                                                                                
                                          DelegationProcessor.java
                                                                                
                                                             83
          org.orbeon.oxf.processor.ProcessorImpl$6                              
                                                              
                                                                                
                    read                                      
                                                                                
                                          ProcessorImpl.java  
                                                                                
                                                             945
          
org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl$ConcreteProcessorFilter$ForwarderProcessorOutput
                         
                                                                                
                    read                                      
                                                                                
                                          ProcessorImpl.java  
                                                                                
                                                             899
          org.orbeon.oxf.processor.ProcessorImpl                                
                                                              
                                                                                
                    readInputAsSAX                            
                                                                                
                                          ProcessorImpl.java  
                                                                                
                                                             340
          org.orbeon.oxf.processor.ProcessorImpl                                
                                                              
                                                                                
                    readInputAsSAX                            
                                                                                
                                          ProcessorImpl.java  
                                                                                
                                                             345
          org.orbeon.oxf.processor.DebugProcessor$1                             
                                                              
                                                                                
                    readImpl                                  
                                                                                
                                          DebugProcessor.java 
                                                                                
                                                             62
                                                                                
                                                              
                                                                                
                                                              

....




-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
orbeon-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/orbeon-user

Reply via email to