My guess is that this is the way XI processes custom faults. I suggest
you ask your question on an SAP XI discussion list.

Anne

On 7/20/07, jaypee_p <[EMAIL PROTECTED]> wrote:

Hi All,

I am using axis 1.4. SAP XI is my clinet. My wsdl file as below

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://ws.example.com/service";
   xmlns:wns="http://ws.example.com/service";
   xmlns:tns="http://ws.exampleenterprise.com";
   xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
   xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>
 <wsdl:types>
         <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
                targetNamespace="http://ws.exampleenterprise.com";
                elementFormDefault="qualified">
                 <xs:complexType name="SecrtySbj">
                         <xs:sequence>
                                 <xs:element name="usrname" type="xs:string"/>
                                 <xs:element name="pswrd" type="xs:string"/>
                         </xs:sequence>
                 </xs:complexType>
                 <xs:complexType name="AuthenticateRequest">
                         <xs:sequence>
                                 <xs:element name="secrtySbj" 
type="tns:SecrtySbj"/>
                         </xs:sequence>
                 </xs:complexType>
                 <xs:element name="authenticateRequest" 
type="tns:AuthenticateRequest"/>
                 <xs:complexType name="AuthenticateResponse" >
                         <xs:sequence>
                                 <xs:element name="sessnId" type="xs:string"/>
                         </xs:sequence>
                 </xs:complexType>
                 <xs:element name="authenticateResponse" 
type="tns:AuthenticateResponse"/>
                 <xs:complexType name="customFault">
                         <xs:sequence>
                                 <xs:element name="customCd" type="xs:int"/>
                                 <xs:element name="customMsg" type="xs:string" 
minOccurs="0"/>
                                 <xs:element name="customExcp" type="xs:string" 
minOccurs="0"/>
                         </xs:sequence>
                 </xs:complexType>
                 <xs:element name="customFault" type="tns:customFault"/>
         </xs:schema>
 </wsdl:types>
 <wsdl:message name="authRequest">
   <wsdl:part name="parameters" element="tns:authenticateRequest"/>
  </wsdl:message>
  <wsdl:message name="authResponse">
   <wsdl:part name="result" element="tns:authenticateResponse"/>
  </wsdl:message>
  <wsdl:message name="CustomFault">
   <wsdl:part name="CustomFault" element="tns:customFault"/>
  </wsdl:message>
  <wsdl:portType name="AuthenticateServiceInterface">
        <wsdl:operation name="authenticate">
    <wsdl:input message="wns:authRequest" />
        <wsdl:output message="wns:authResponse" />
    <wsdl:fault name="CustomFault" message="wns:CustomFault"/>
   </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="AuthenticateServiceSoapBinding"
type="wns:AuthenticateServiceInterface">
          <soap:binding transport="http://schemas.xmlsoap.org/soap/http";
style="document"/>
   <wsdl:operation name="authenticate">
    <soap:operation soapAction=""/>
    <wsdl:input>
     <soap:body use="literal"/>
    </wsdl:input>
        <wsdl:output>
                <soap:body use="literal"/>
        </wsdl:output>
        <wsdl:fault name="CustomFault" >
                   <soap:fault name="CustomFault" use="literal" />
           </wsdl:fault>
   </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="AuthenticateServiceService">
   <wsdl:port name="AuthenticateService"
binding="wns:AuthenticateServiceSoapBinding">
    <soap:address
location="http://10.236.14.6:8080/axis/services/AuthenticateService"/>
   </wsdl:port>
  </wsdl:service>
 </wsdl:definitions>


Axis generates the soap fault as below in detail tag as below

<ns1:customFault xmlns:ns1="http://ws.examplenterprise.com";>
<ns1:customCd>123</ns1:customCd>
<ns1:customMsg>Password is wrong</ns1:customMsg>
<ns1:customExcp>CustomException</ns1:customExcp>
</ns1:customFault>

They are getting error like below while getting the fault message.

<SAP:ApplicationFaultMessage
namespace="http://ws.exampleenterprise.com";>customfault<SAP:ApplicationFaultMessage>

Question: Why it is throwing "ApplicationFaultMessage" for fault messages?
is there any error in wsdl file in defining the elements? or style has to be
different? or is it an namespace issue in the wsdl?

Note: They are able to do it sucesssfull for the response message.


--
View this message in context: 
http://www.nabble.com/Axis-fault-handling-in-SAP-XI-client-tf4116522.html#a11706509
Sent from the Axis - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to