将soap响应解组到java对象

将soap响应解组到java对象,java,xml,soap,unmarshalling,Java,Xml,Soap,Unmarshalling,下面是需要转换为Java对象的SOAP响应 <?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">

下面是需要转换为Java对象的SOAP响应

 <?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>
    <ns0:HelpDesk_Query_ServiceResponse xmlns:ns0="urn:XXXX_HPD_IncidentInterface_WS__XXXXX" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <ns0:Assigned_Group>TIM-CSDWINDOWS-ADMIN</ns0:Assigned_Group>
        <ns0:Assigned_Group_Shift_Name/>
        <ns0:Assigned_Support_Company>India  Ltd</ns0:Assigned_Support_Company>
        <ns0:Assigned_Support_Organization>TIM-CSD</ns0:Assigned_Support_Organization>
        <ns0:Assignee>Akshay Patwardhan</ns0:Assignee>
        <ns0:Categorization_Tier_1>TIM</ns0:Categorization_Tier_1>
        <ns0:Categorization_Tier_2>ATT</ns0:Categorization_Tier_2>
        <ns0:Categorization_Tier_3>C Drive Enablement</ns0:Categorization_Tier_3>
        <ns0:City>HYDERABAD</ns0:City>
        <ns0:Closure_Manufacturer/>
        <ns0:Closure_Product_Category_Tier1/>
        <ns0:Closure_Product_Category_Tier2/>
        <ns0:Closure_Product_Category_Tier3/>
        <ns0:Closure_Product_Model_Version/>
        <ns0:Closure_Product_Name/>
        <ns0:Company>India  Ltd</ns0:Company>
        <ns0:Contact_Company>India  Ltd</ns0:Contact_Company>
        <ns0:Contact_Sensitivity>Standard</ns0:Contact_Sensitivity>
        <ns0:Country>India</ns0:Country>
        <ns0:Department>TIM-India </ns0:Department>
        <ns0:Summary>Test</ns0:Summary>
        <ns0:Notes>Host Name: INHYTZPC03456 Detailed Business Justification: test Project/ODC Name: TIM Your Current Location Details: </ns0:Notes>
        <ns0:First_Name>Venkata</ns0:First_Name>
        <ns0:Impact>4-Minor/Localized</ns0:Impact>
        <ns0:Last_Name>Sabbarapu</ns0:Last_Name>
        <ns0:Manufacturer/>
        <ns0:Middle_Initial/>
        <ns0:Organization>XXX_TIM</ns0:Organization>
        <ns0:Phone_Number>XXXXXX Extn: 67 -XXXXXX</ns0:Phone_Number>
        <ns0:Priority>Medium</ns0:Priority>
        <ns0:Priority_Weight>10</ns0:Priority_Weight>
        <ns0:Product_Categorization_Tier_1/>
        <ns0:Product_Categorization_Tier_2/>
        <ns0:Product_Categorization_Tier_3/>
        <ns0:Product_Model_Version/>
        <ns0:Product_Name/>
        <ns0:Region>India</ns0:Region>
        <ns0:Reported_Source>Self Service</ns0:Reported_Source>
        <ns0:Resolution/>
        <ns0:Resolution_Category/>
        <ns0:Resolution_Category_Tier_2/>
        <ns0:Resolution_Category_Tier_3/>
        <ns0:Service_Type>User Service Request</ns0:Service_Type>
        <ns0:Site>BHD-SEZ</ns0:Site>
        <ns0:Site_Group>HYDERABAD</ns0:Site_Group>
        <ns0:Status>Assigned</ns0:Status>
        <ns0:Status_Reason xsi:nil="true" />
        <ns0:Urgency>3-Medium</ns0:Urgency>
        <ns0:VIP>No</ns0:VIP>
        <ns0:ServiceCI/>
        <ns0:ServiceCI_ReconID/>
        <ns0:HPD_CI/>
        <ns0:HPD_CI_ReconID/>
        <ns0:HPD_CI_FormName/>
        <ns0:z1D_CI_FormName/>
    </ns0:HelpDesk_Query_ServiceResponse>
</soapenv:Body>
</soapenv:Envelope>
这是解组码

    Unmarshaller unmarshaller = JAXBContext.newInstance(Response.class).createUnmarshaller();
    Document bodyDoc = soapResponse.getSOAPBody().extractContentAsDocument();
    Response request = (Response) unmarshaller.unmarshal(bodyDoc);
它给出了javax.xml.bind.UnmarshalException。
可以帮助我创建Java POJO,并将上面的soap XML响应解组到Java对象。

我建议使用它来生成soap客户端。还有一个。

或工具,它将为您创建类。使用soap堆栈(cxf、axis2…)的工具发布堆栈跟踪
    Unmarshaller unmarshaller = JAXBContext.newInstance(Response.class).createUnmarshaller();
    Document bodyDoc = soapResponse.getSOAPBody().extractContentAsDocument();
    Response request = (Response) unmarshaller.unmarshal(bodyDoc);