我的web服务从多个实体返回响应。但当我用回应阅读回应时。readEntity(A.class)。注意,类A包含类B和类C的依赖关系。当我从上述语句中读取响应时,我只能读取类A的内容。
你能帮我解决这个问题吗。
以下是我的Java Pojo代码
@XmlRootElement(name = "TA_TESTPATTERN")
@XmlAccessorType(XmlAccessType.FIELD)
public class TAPattern {
private User User;
private String TP_Type;
private String Car;
private String Category;
private String Description;
private TestCase TestCase;
private String status;
private String Customizable_Field;
private RESULT_COLLECTION RESULT_COLLECTION;
private String Id;
private String xmlns;
private String Variant;
private String Code;
在这里
RESULT_COLLECTION
是另一个类让我们说
B
和
RESULT_COLLECTON
再次包含类对象数组的依存关系
RESULT
. 方法
结果_集合
包含的数组
结果
类数组。所以在我的课堂上
TAPattern
是
A
班
结果_集合
是
和类
结果
是
C
. 测试用例是这样说的
D
以下是我的jersey客户代码:
Response response = invocationBuilder.header("Content-Type", "application/xml")
.post(Entity.entity(vstpattern, MediaType.APPLICATION_XML));
return response.readEntity(TAPattern.class);
以下是POJO类
,
结果
和测试用例:
@XmlRootElement(name = "RESULT_COLLECTION")
@XmlAccessorType(XmlAccessType.FIELD)
public class RESULT_COLLECTION {
private Result[] Result;
}
@XmlRootElement(name = "Result")
@XmlAccessorType(XmlAccessType.FIELD)
public class Result {
private String Method;
private String Href;
private String Rel;
}
@XmlRootElement(name = "TestCase")
@XmlAccessorType(XmlAccessType.FIELD)
public class TestCase {
private String Method;
private String Href;
private String Rel;
}
ConfigPropertyHandler configPropertyHandler = ConfigPropertyHandler.getInstance();
ClientConfig config = new ClientConfig();
HttpAuthenticationFeature feature = HttpAuthenticationFeature.basic(configPropertyHandler.getTid(),
configPropertyHandler.getPassword());
Client client = ClientBuilder.newClient(config);
client.register(feature);
WebTarget webTarget = client.target(configPropertyHandler.getVstUrl()).path(configPropertyHandler.getVstPath());
Invocation.Builder invocationBuilder = webTarget.request(MediaType.APPLICATION_XML);
Response response = invocationBuilder.header("Content-Type", "application/xml")
.post(Entity.entity(vstpattern, MediaType.APPLICATION_XML));
//return 0;
return response.readEntity(TAPattern.class);
}
以下是xml邮递员请求:
<TA_TESTPATTERN xmlns="http://examples.com" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Car>MyCar</Car>
<Id>122</Id>
<Code>myCode</Code>
<Description> TA TEST</Description>
<TP_Type>VF</TP_Type>
<Category>0</Category>
<Variant>0</Variant>
<Customizable_Field> nda </Customizable_Field>
<status>w</status>
<RESULT_COLLECTION>
<Result>
<Href>http://examples.com</Href>
<Method>GET</Method>
<Rel>READ</Rel>
</Result>
<Result>
<Href>http://examples.com</Href>
<Method>GET</Method>
<Rel>READ</Rel>
</Result>
</RESULT_COLLECTION>
<TestCase>
<Href>http://examples.com</Href>
<Method>GET</Method>
<Rel>READ</Rel>
</TestCase>
<User>
<ID>f10711a</ID>
<email>abc@external.com</email>
<Name>abc</Name>
</User>
</TA_TESTPATTERN>
以下是我的TA_模式
@XmlRootElement(name = "TA_TESTPATTERN")
@XmlAccessorType(XmlAccessType.FIELD)
public class TAPattern {
@XmlElement(name = "User")
private User User;
@XmlElement(name = "TP_Type")
private String TP_Type;
@XmlElement(name = "Car")
private String Car;
@XmlElement(name = "Category")
private String Category;
@XmlElement(name = "Description")
private String Description;
@XmlElement(name = "TestCase")
private TestCase TestCase;
@XmlElement(name = "status")
private String status;
@XmlElement(name = "Customizable_Field")
private String Customizable_Field;
@XmlElement(name = "RESULT_COLLECTION") RESULT_COLLECTION RESULT_COLLECTION;
@XmlElement(name = "Id")
private String Id;
@XmlElement(name = "xmlns")
private String xmlns;
@XmlElement(name = "Variant")
private String Variant;
@XmlElement(name = "Code")
private String Code;
以下是VSTTAPattern的POJO
@XmlRootElement(name = "TA_TESTPATTERN")
@XmlAccessorType(XmlAccessType.FIELD)
public class VSTTAPattern {
private User User;
private String TP_Type;
private String Car;
private String Category;
private String Description;
private TestCase TestCase;
private String status;
private String Customizable_Field;
private RESULT_COLLECTION RESULT_COLLECTION;
private String Id;
private String xmlns;
private String Variant;
private String Code;