Hi,

I am new to Castor, trying marshalling and unmarshalling test programs, am
getting following exception on Unmarshall. I google but this time no luck so
thought of logging it here.

Below is the mapping, XML, and java code to unmarshall.

Exception
------------------------------------------------------------------------------------------------------
unable to find FieldDescriptor for 'ClientData' in ClassDescriptor of
Envelope{file: [not available]; line: 4; column: 22}
------------------------------------------------------------------------------------------------------

Here is the XML that I am trying to unmarshall

response.xml

<?xml version="1.0" encoding="UTF-8"?> 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";> 
        <soapenv:Std>XYZ</soapenv:Std>                 
        <soapenv:ClientData> 
            <Name>Jean Smith</Name> 
            <Address>2000, Alameda de las Pulgas, San Mateo, CA
94403</Address> 
          </soapenv:ClientData> 
</soapenv:Envelope> 

Please note that if I remove the namespace prefix i.e. 'soapenv' from the
tag <soapenv:ClientData> making it just <ClientData> in the above
response.xml, it unmarshalls with no issues however requirement is to
unmarshall with namespace prefix i.e.<soapenv:ClientData>.
The <map-to ns-uri="http://schemas.xmlsoap.org/soap/envelope/";
ns-prefix="soapenv" /> works well in marshalling but not working in
unmarshalling, please see the mapping file below

Mapping File

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Mapping DTD Version 1.0//EN" 
                         "http://castor.org/mapping.dtd";> 
<mapping>         
        <class name="com.xyz.transfer.dto.response.TransferResponseDTO">        
                     
             <map-to xml="Envelope"
ns-uri="http://schemas.xmlsoap.org/soap/envelope/";
               ns-prefix="soapenv"/>                                 
             <field name="ss" type="java.lang.String"> 
                       <bind-xml name="Std" node="element" /> 
             </field>                 
             <field name="cd" type="com.xyz.common.ism.response.ClientData">    
                     
                       <bind-xml name="ClientData" node="element"/> 
             </field>                                         
        </class> 
        <class name="com.xyz.common.ism.response.ClientData">             
            <map-to ns-uri="http://schemas.xmlsoap.org/soap/envelope/";
ns-prefix="soapenv" />
            <field name="Name" type="java.lang.String">                   
              <bind-xml name="Name" node="element"/> 
            </field>         
            <field name="Address" type="java.lang.String">                   
              <bind-xml name="Address" node="element"/> 
            </field> 
         </class>                                         
</mapping> 

Java Code

public static void main(String args[]) { 

            Mapping   mapping = new Mapping();                         
                    try {                                 
                         // 1. Load the mapping information from the file       
                          
                          
mapping.loadMapping("resources\\transfer_resp_mapping.xml" ); 
                         // 2. Unmarshal the data 
                                Unmarshaller unmar = new Unmarshaller
(mapping);                                           
                                
                                TransferResponseDTO dto =
(TransferResponseDTO) 
                                unmar.unmarshal(new InputSource(new
FileReader("resources\\response.xml"))); 
                                  
                                System.out.println(dto.getSs()); 
                                                                  
                        } catch (Exception e) { 
                                System.out.println(e); 
                                return; 
                        } 
                } 
} 

Any help would be much appriciated.

Thanks in Advance.

Regards,
Waez.
-- 
View this message in context: 
http://www.nabble.com/Unmarshalling-issue-with-namespace-prefix-tp25119826p25119826.html
Sent from the Castor - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to