[英]Oracle Web service Date Returns Null in Java Code but Not in SOAP UI
据我所知,我正在尝试调用由Oracle实现的Web服务。 我需要从此Web服务获取日期。 这是为NetBeans中的Web服务客户端生成的代码的一部分:
@WebMethod(operationName = "LASTENABLED", action = "LASTENABLED")
@WebResult(name = "LASTENABLEDOutput", targetNamespace = "Something",partName = "parameters")
public LASTENABLEDOutput lastenabled(
@WebParam(name = "SDATE-LASTENABLEDInput", targetNamespace = "Something", partName = "parameters")
SDATELASTENABLEDInput parameters);
这是LASTENABLEDOutput的代码:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"_return"
})
@XmlRootElement(name = "LASTENABLEDOutput")
public class LASTENABLEDOutput {
@XmlElement(name = "RETURN", required = true)
@XmlSchemaType(name = "date")
protected XMLGregorianCalendar _return;
public XMLGregorianCalendar getRETURN() {
return _return;
}
public void setRETURN(XMLGregorianCalendar value) {
this._return = value;
}
}
这就是我所说的Web服务的方式:
LASTENABLEDOutput output = webservice.lastenabled(input);
XMLGregorianCalendar xMLGregorianCalendar = output.getRETURN();
GregorianCalendar calendar = xMLGregorianCalendar.toGregorianCalendar();
Date date = calendar.getTime();
webservice.lastenabled(input)
返回一个LASTENABLEDOutput
对象,但是上面的代码中output.getRETURN()
的值为null。 但是,在soap UI中,我测试了Web服务,并返回了有效的答案:request:
<soapenv:Envelope xmlns:soapenv="a Url" xmlns:pkg="a URL">
<soapenv:Header/>
<soapenv:Body>
<pkg:SDATE-LASTENABLEDInput>
<pkg:TELNO-VARCHAR2-IN>some phone number</pkg:TELNO-VARCHAR2-IN>
<pkg:SERVICEID-NUMBER-IN>10</pkg:SERVICEID-NUMBER-IN>
<pkg:ENABLE-BOOLEAN-IN>true</pkg:ENABLE-BOOLEAN-IN>
</pkg:SDATE-LASTENABLEDInput>
</soapenv:Body>
</soapenv:Envelope>
响应:
<soap:Envelope xmlns:soap="a URL">
<soap:Body>
<LASTENABLEDOutput xmlns="a URL">
<RETURN>07-JUL-15</RETURN>
</LASTENABLEDOutput>
</soap:Body>
</soap:Envelope>
可以说这个Web服务中还有其他方法以及其他返回类型可以与我调用此方法相同的方式正常工作。 我怎么解决这个问题?
听起来07-JUL-15
对于您指定的XML模式“日期”不是有效格式。
建议:
如果您自己生成返回值, YYYY-MM-DD
格式输出。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.