Its no longer throwing a NullPointerException, but the output is not
correct.

When I throw an NRSFault_Response (which extends AxisFault):

Using the normal Axis Web Service, I get this (which works):

<?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.generalException</faultcode>
   <faultstring></faultstring>
   <detail>
    <ns1:NRSFault_Response
xmlns:ns1="http://www.nrs.eskom.co.za/XMLVend/01";>
     <ns1:TerminalID>9</ns1:TerminalID>
     <ns1:MsgId>
      <ns1:DateTime>2004-05-26 14:41:22 +0200</ns1:DateTime>
      <ns1:UniqueNumber>414714412200</ns1:UniqueNumber>
     </ns1:MsgId>
     <ns1:FaultGroup>501</ns1:FaultGroup>
     <ns1:FaultDescription>Login failed!</ns1:FaultDescription>
     <ns1:MessageVendor>Error</ns1:MessageVendor>
     <ns1:MessageConsumer>Error</ns1:MessageConsumer>
     <ns1:faultCodeT>003</ns1:faultCodeT>
    </ns1:NRSFault_Response>
    <ns2:exceptionName
xmlns:ns2="http://xml.apache.org/axis/";>za.co.eskom.nrs.xmlvend._NRSFault_Response</ns2:exceptionName>
   </detail>
  </soapenv:Fault>
 </soapenv:Body>
</soapenv:Envelope>

When I send a fault response from my Transaction Server (which has Axis
integrated into it) I get the following output (which doesn't work):

<?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.generalException</faultcode>
   <faultstring></faultstring>
   <detail>
    <za.co.eskom.nrs.xmlvend._NRSFault_Response>
     <ns1:TerminalID
xmlns:ns1="http://www.nrs.eskom.co.za/XMLVend/01";>9</ns1:TerminalID>
     <ns2:MsgId xmlns:ns2="http://www.nrs.eskom.co.za/XMLVend/01";>
      <ns2:DateTime>2004-05-26 15:04:30 +0200</ns2:DateTime>
      <ns2:UniqueNumber>414715043000</ns2:UniqueNumber>
     </ns2:MsgId>
     <ns3:FaultGroup
xmlns:ns3="http://www.nrs.eskom.co.za/XMLVend/01";>501</ns3:FaultGroup>
     <ns4:FaultDescription
xmlns:ns4="http://www.nrs.eskom.co.za/XMLVend/01";>Login
failed!</ns4:FaultDescription>
     <ns5:MessageVendor
xmlns:ns5="http://www.nrs.eskom.co.za/XMLVend/01";>Error</ns5:MessageVendor>
     <ns6:MessageConsumer
xmlns:ns6="http://www.nrs.eskom.co.za/XMLVend/01";>Error</ns6:MessageConsumer>
     <faultCodeT>003</faultCodeT>
    </za.co.eskom.nrs.xmlvend._NRSFault_Response>
    <ns7:exceptionName
xmlns:ns7="http://xml.apache.org/axis/";>za.co.eskom.nrs.xmlvend._NRSFault_Response</ns7:exceptionName>
    <ns8:stackTrace xmlns:ns8="http://xml.apache.org/axis/";>AxisFault
 faultCode:
{http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
 faultSubcode:
 faultString:
 faultActor:
 faultNode:
 faultDetail:
        {http://xml.apache.org/axis/}exceptionName:
za.co.eskom.nrs.xmlvend._NRSFault_Response


        at
com.innoforge.bizswitch.components.NRS_Portal.login_Request(NRS_Portal.java:218)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at
org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:402)
        at
org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:309)
        at
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:333)
        at
com.innoforge.bizswitch.components.NRS_Portal.process(NRS_Portal.java:144)
        at
com.innoforge.bizswitch.core.MessagePortal.run(MessagePortal.java:238)
</ns8:stackTrace>
   </detail>
  </soapenv:Fault>
 </soapenv:Body>
</soapenv:Envelope>

>From the above it seems like the problem relates to this:

Correct:
<ns1:NRSFault_Response
xmlns:ns1="http://www.nrs.eskom.co.za/XMLVend/01";>
 
Incorrect:
<za.co.eskom.nrs.xmlvend._NRSFault_Response>

Any ideas how I can fix this?

thanks,
Enrico




Reply via email to