Groovy Camel-Olingo2:元数据约束&x27;[Nullable=true,MaxLength=16]';与文本不匹配
我正在使用camel-olingo2组件在ODataV2端点上查询SAP SuccessFactors。路线是:Groovy Camel-Olingo2:元数据约束&x27;[Nullable=true,MaxLength=16]';与文本不匹配,groovy,apache-camel,odata,olingo,sap-successfactors,Groovy,Apache Camel,Odata,Olingo,Sap Successfactors,我正在使用camel-olingo2组件在ODataV2端点上查询SAP SuccessFactors。路线是: from("direct:start") .to(olingoEndpoint) .process(paging) .loopDoWhile(simple("\${header.CamelOlingo2.\$skiptoken} != null")) .to(olingoE
from("direct:start")
.to(olingoEndpoint)
.process(paging)
.loopDoWhile(simple("\${header.CamelOlingo2.\$skiptoken} != null"))
.to(olingoEndpoint)
.process(paging)
.end()
分页处理器是:
Processor paging = new Processor() {
@Override
void process(Exchange g) throws Exception {
ODataDeltaFeed feed = g.in.getMandatoryBody(ODataDeltaFeed)
if (consumer) feed.getEntries().forEach(consumer)
String next = feed.getFeedMetadata().getNextLink()
if (next) {
List<NameValuePair> lst = URLEncodedUtils.parse(new URI(next), StandardCharsets.UTF_8)
NameValuePair skiptoken = lst.find { it.name == "\$skiptoken" }
g.out.headers."CamelOlingo2.\$skiptoken" = skiptoken.value
} else {
g.out.headers.remove("CamelOlingo2.\$skiptoken")
}
}
}
在Olingo2 camel组件的文档中,我找不到禁用此检查或其他演练的方法。你能给我推荐个好方法吗?
请不要建议服务器端数据更改,例如元数据修改,这超出了此任务的范围
我有个计划B:使用HTTPS请求和JSON解析,这很简单,但有点无聊。最后,我避免了在服务器端更改元数据。您是如何解决的?谢谢!时区确实如此。导入的数据无效,因此时区字段中的值错误。啊,时区始终是SFSF+编码的最大问题之一。。。他们有一些构造,时区总是服务器的时区,如果你在另一个时区有一个服务器,你必须转换。谢谢你的提示。
Caused by: org.apache.olingo.odata2.api.edm.EdmSimpleTypeException: The metadata constraints '[Nullable=true, MaxLength=16]' do not match the literal 'Bor.Kralja Petra I.16'.
at org.apache.olingo.odata2.core.edm.EdmString.internalValueOfString(EdmString.java:62)
at org.apache.olingo.odata2.core.edm.AbstractSimpleType.valueOfString(AbstractSimpleType.java:91)
at org.apache.olingo.odata2.core.ep.consumer.JsonPropertyConsumer.readSimpleProperty(JsonPropertyConsumer.java:236)
at org.apache.olingo.odata2.core.ep.consumer.JsonPropertyConsumer.readPropertyValue(JsonPropertyConsumer.java:169)