- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在使用以下代码解析soap响应,但我收到UnmarshallingFailureException,我将@XmlSeeAlso更改为@XMLRootElement,但问题仍然存在。 WSDL 是 here .
Caused by: javax.xml.bind.UnmarshalException: unexpected element
(uri:"ElsyArres.API", local:"SearchFlightsResponse"). Expected elements are
<{ElsyArres.API}Inbound>,<{ElsyArres.API}Leg>,<{ElsyArres.API}Legs>,
<{ElsyArres.API}Outbound>,<{ElsyArres.API}Request>,<{ElsyArres.API}Response>,
<{ElsyArres.API}SearchFlights>,<{ElsyArres.API}SoapMessage>
代码
@XmlRootElement(name = "SoapMessage")
@XmlAccessorType(XmlAccessType.FIELD)
public class WegoloSoapMessageResponse {
@XmlElement(name = "Username")
private String username;
@XmlElement(name = "Password")
private String password;
@XmlElement(name = "LanguageCode")
private String languageCode;
@XmlElement(name = "ErrorMessage")
private String errorMessage;
@XmlElement(name = "ErrorCode")
private int errorCode;
@XmlElement(name = "AppVersion")
private String appVersion;
@XmlElement(name = "Request")
private Request request;
@XmlElement(name = "Response")
private Response response;
getters and setters
@XmlRootElement(name = "Request")
@XmlAccessorType(XmlAccessType.FIELD)
public class Request {
@XmlElement(name = "Departure")
private String departure;
@XmlElement(name = "Destination")
private String destination;
@XmlElement(name = "DepartureDate")
private String departureDate;
@XmlElement(name = "ReturnDate")
private String returnDate;
@XmlElement(name = "NumADT")
private int numADT;
@XmlElement(name = "NumINF")
private int numInf;
@XmlElement(name = "NumCHD")
private int numCHD;
@XmlElement(name = "CurrencyCode")
private String currencyCode;
@XmlElement(name = "WaitForResult")
private boolean waitForResult;
@XmlElement(name = "NearByDepartures")
private boolean nearByDepartures;
@XmlElement(name = "NearByDestinations")
private boolean nearByDestinations;
@XmlElement(name = "RROnly")
private boolean rronly;
@XmlElement(name = "MetaSearch")
private boolean metaSearch;
getters and setters
@XmlRootElement(name="Response")
@XmlAccessorType(XmlAccessType.FIELD)
public class Response {
@XmlElement(name="SearchFlightId")
private String searchFlightId;
@XmlElement(name="Roundtrip")
private boolean roundTrip;
@XmlElement(name="CurrencyCode")
private String currencyCode;
@XmlElement(name="Flights")
private Flights flights;
getters and setters
@XmlSeeAlso(Flight.class)
@XmlAccessorType(XmlAccessType.FIELD)
public class Flights {
@XmlElement(name="Flight")
private List<Flight> flight;
getter and setter
@XmlSeeAlso(Outbound.class)
@XmlAccessorType(XmlAccessType.FIELD)
public class Flight {
@XmlElement(name = "Outbound")
private Outbound outbound;
@XmlElement(name="Inbound")
private Inbound inbound;
@XmlElement(name = "BagFee")
private int bagFee;
@XmlElement(name = "CcFee")
private int ccFee;
@XmlElement(name = "HandlingFee")
private int handlingFee;
@XmlElement(name = "TotalFare")
private int totalFare;
@XmlElement(name = "FlightId")
private String flightId;
@XmlElement(name = "Link2Book")
private String link2Book;
@XmlElement(name = "Provider")
private String provider;
getters and setters
@XmlRootElement(name = "Outbound")
@XmlAccessorType(XmlAccessType.FIELD)
public class Outbound {
@XmlElement(name="CarName")
private String carName;
@XmlElement(name="CarCode")
private String carCode;
@XmlElement(name="DepName")
private String depName;
@XmlElement(name="DepCode")
private String depCode;
@XmlElement(name="DestName")
private String destName;
@XmlElement(name="DestCode")
private String destCode;
@XmlElement(name="Duration")
private String duration;
@XmlElement(name="FlightNo")
private String flightNo;
@XmlElement(name="DepDateTime")
private Date dapDateTime;
@XmlElement(name="ArrDateTime")
private Date arrDateTime;
@XmlElement(name="Legs")
private Legs legs;
@XmlElement(name="Taxes")
private int taxes;
@XmlElement(name="FareADT")
private int fareADT;
@XmlElement(name="FareCHD")
private int fareCHD;
@XmlElement(name="FareINF")
private int fareInf;
@XmlElement(name="MiscFees")
private int miscFees;
@XmlElement(name="Idx")
private int idx;
@XmlElement(name="FareClass")
private String fareClass;
@XmlElement(name="FareType")
private String fareType;
@XmlElement(name="FareId")
private String fareId;
getters and setters
@XmlRootElement(name="Legs")
@XmlAccessorType(XmlAccessType.FIELD)
public class Legs {
@XmlElement(name="Leg")
private Leg leg;
getter and setter
@XmlRootElement(name="Leg")
@XmlAccessorType(XmlAccessType.FIELD)
public class Leg {
@XmlElement(name="Sequence")
private int sequence;
@XmlElement(name="FlightNo")
private String flightNo;
@XmlElement(name="DepCode")
private String depCode;
@XmlElement(name="DepName")
private String depName;
@XmlElement(name="DestCode")
private String destCode;
@XmlElement(name="DestName")
private String destName;
@XmlElement(name="DepTime")
private String depTime;
@XmlElement(name="ArrTime")
private String arrTime;
@XmlElement(name="CarCode")
private String carCode;
@XmlElement(name="CarName")
private String carName;
@XmlElement(name="FareClass")
private String fareClass;
@XmlElement(name="ArrDateTime")
private Date arrDateTime;
@XmlElement(name="DepDateTime")
private Date depDateTime;
getters and setters
@XmlRootElement(name = "Inbound")
@XmlAccessorType(XmlAccessType.FIELD)
public class Inbound {
@XmlElement(name="CarName")
private String carName;
@XmlElement(name="CarCode")
private String carCode;
@XmlElement(name="DepName")
private String depName;
@XmlElement(name="DepCode")
private String depCode;
@XmlElement(name="DestName")
private String destName;
@XmlElement(name="DestCode")
private String destCode;
@XmlElement(name="Duration")
private String duration;
@XmlElement(name="FlightNo")
private String flightNo;
@XmlElement(name="DepDateTime")
private Date dapDateTime;
@XmlElement(name="ArrDateTime")
private Date arrDateTime;
@XmlElement(name="Legs")
private Legs legs;
@XmlElement(name="Taxes")
private int taxes;
@XmlElement(name="FareADT")
private int fareADT;
@XmlElement(name="FareCHD")
private int fareCHD;
@XmlElement(name="FareINF")
private int fareInf;
@XmlElement(name="MiscFees")
private int miscFees;
@XmlElement(name="Idx")
private int idx;
@XmlElement(name="FareClass")
private String fareClass;
@XmlElement(name="FareType")
private String fareType;
@XmlElement(name="FareId")
private String fareId;
gettes and setters
jaxb.index
SearchFlights
Flight
Flights
Leg
Legs
Outbound
Request
Response
WegoloSoapMessage
package-info.java
@XmlSchema(
namespace = "ElsyArres.API",
elementFormDefault = XmlNsForm.QUALIFIED)
package com.myproject.flights.wegolo;
import javax.xml.bind.annotation.XmlNsForm;
import javax.xml.bind.annotation.XmlSchema;
回应
1
2
3
4
5
6
最佳答案
错误消息指出,您正在尝试解析本地节点 searchflightsresponse
,您没有将其映射到类中作为注释。
您必须像之前对另一个节点所做的那样声明此节点。
请注意,这里不建议使用 jaxb 来解析 soap 响应,因为结构(如您所见)并非微不足道。我建议下载 wsdl 并生成客户端 stub 以匹配 web 服务。这样您就不需要注释数百个成员和类。
关于java - 无法使用 JAXB org.springframework.oxm.UnmarshallingFailureException 解析 XML 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34825333/
我正在使用 jersey( 编写 jax-rs Restful 应用程序,GET 请求很好,但 POST、PUT 和 DELETE 请求给出以下错误 SEVERE: Servlet.service()
从旧版自由式 Web 服务中,我收到以下类型的数据: value1 value2 ... valueN 元素名称 key1, key2, ... 事先未知,并且可以
这与 my prior question 相关一般来说,这更针对 JAXB。但这个问题与 spring-oxm 中的解码器更相关。我想看看是否可以使用 spring-oxm 解码器仅解码 XML 中的
本文整理了Java中org.eclipse.persistence.oxm.XMLRoot类的一些代码示例,展示了XMLRoot类的具体用法。这些代码示例主要来源于Github/Stackoverfl
本文整理了Java中org.eclipse.persistence.oxm.XMLMarshaller类的一些代码示例,展示了XMLMarshaller类的具体用法。这些代码示例主要来源于Github
本文整理了Java中org.eclipse.persistence.oxm.XMLLogin类的一些代码示例,展示了XMLLogin类的具体用法。这些代码示例主要来源于Github/Stackover
尽管我已经成为一名开发人员有一段时间了,但我很幸运能够避免使用 XML 进行大量工作。所以现在我有一个项目,我必须在其中与一些 Web 服务进行交互,并且想使用某种对象到 XML 映射解决方案。 我唯
本文整理了Java中org.eclipse.persistence.internal.oxm.XPathFragment类的一些代码示例,展示了XPathFragment类的具体用法。这些代码示例主要
本文整理了Java中org.eclipse.persistence.oxm.annotations.XmlPath类的一些代码示例,展示了XmlPath类的具体用法。这些代码示例主要来源于Github
本文整理了Java中org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping类的一些代码示例,展示了XMLCompositeObje
本文整理了Java中org.eclipse.persistence.internal.oxm.XMLConversionManager类的一些代码示例,展示了XMLConversionManager类
本文整理了Java中org.eclipse.persistence.oxm.mappings.XMLTransformationMapping类的一些代码示例,展示了XMLTransformation
本文整理了Java中org.eclipse.persistence.oxm.mappings.XMLInverseReferenceMapping类的一些代码示例,展示了XMLInverseRefer
本文整理了Java中org.eclipse.persistence.internal.oxm.XPathNode类的一些代码示例,展示了XPathNode类的具体用法。这些代码示例主要来源于Githu
本文整理了Java中org.eclipse.persistence.oxm.mappings.XMLObjectReferenceMapping类的一些代码示例,展示了XMLObjectReferen
本文整理了Java中org.eclipse.persistence.oxm.mappings.XMLBinaryDataMapping类的一些代码示例,展示了XMLBinaryDataMapping类
本文整理了Java中org.eclipse.persistence.oxm.mappings.XMLAnyCollectionMapping类的一些代码示例,展示了XMLAnyCollectionMa
本文整理了Java中org.eclipse.persistence.oxm.schema.XMLSchemaReference类的一些代码示例,展示了XMLSchemaReference类的具体用法。
本文整理了Java中org.eclipse.persistence.oxm.mappings.XMLChoiceObjectMapping类的一些代码示例,展示了XMLChoiceObjectMapp
本文整理了Java中org.eclipse.persistence.oxm.mappings.XMLChoiceCollectionMapping类的一些代码示例,展示了XMLChoiceCollec
我是一名优秀的程序员,十分优秀!