Order-candiates-rest-controller Beispiel

Hallo,
Wir wollen die API benutzen um unser Metasfresh mit Daten aus unserem Webshop zu füttern. Aktuell scheitern wir beim Erstellen eines funktionsfähigen Request am order-candidates-rest-controller Endpoint. Das angegebene Beispiel unter https://docs.metasfresh.org/rest_api_collection/EN/order-candidates-rest-controller-impl.html führt bei uns nur zu einem Bad Request. Anscheinend haben sich ein paar Felder geändert.
Könnte uns jemand sagen welche Felder wirklich erforderlich sind, da in unserer Swagger UI nur 5 Felder markiert sind, scheinbar aber mehr benötigt werden.
Oder noch besser hat jemand ein funktionierendes Beispiel für uns?
Vorab vielen Dank und besten Gruß

hi @SF_Team

habt ihr den OC endpunkt über swagger getestet oder via postman oder ähnlich ?
Wenn ja, welche URL habt ihr verwendet?
Außerdem wäre das JSON interessant.

Wir nutzen die Doku auch für unsere eigenen Tests daher wäre ich neugierig an welcher Stelle es für euch nicht passt.

VG
norbert

hi @metasnw

bisher haben wir über die swagger ui getestet, ServerIP:8282/swagger-ui.html
Über “Try it out” und dort das Beispiel von der oben verlinkten Docu reinkopiert. (Fehlermeldung reiche ich nach). Ich habe auch versucht das Beispiel, so wie es von Swagger direkt angezeigt wird mit Daten zu füllen, leider aber ohne Erfolg

Gruß

Wir hatten ein paar Probleme mit der Hostmaschine, daher die Verzögerung.
Hier die Fehlermeldung
“exception”: “org.springframework.http.converter.HttpMessageNotReadableException”,
“message”: “Could not read JSON document: Unexpected character (’”’ (code 34)): was expecting comma to separate Object entries\n at [Source: (PushbackInputStream); line: 83, column: 4]; nested exception is com.fasterxml.jackson.core.JsonParseException: Unexpected character (’"’ (code 34)): was expecting comma to separate Object entries\n at [Source: (PushbackInputStream); line: 83, column: 4]",
“path”: “/api/sales/order/candidates”

Ich habe hier mal angefangen ein JSON zusammenzubasteln:
{
“billBPartner”: {
“bpartner”: {
“active”: true,
“externalId”: “1156425”,
“code”: “Test001”,
“name”: “Tester”,
“name2”: “Vorname”,
“name3”: “nachname”,
“language”: “de_DE”,
“group”: “Standard”,
“syncAdvise”: {
“ifExists”: “UPDATE_MERGE”,
“ifNotExists”: “CREATE”
}
},
“syncAdvise”: {
“ifExists”: “UPDATE_MERGE”,
“ifNotExists”: “CREATE”
}
},
“dataDest”: “int-DEST.de.metas.ordercandidate”,
“dataSource”: “int-SOURCE.de.metas.rest_api.ordercandidates.impl.OrderCandidatesRestControllerImpl”,
“discount”: 0.0,
“externalHeaderId”: “extHead-101”,
“externalLineId”: “extLine-101”,
“orderDocType”: “SalesOrder”,
“paymentRule”: “Paypal”,
“product”: {
“externalId”: {123456},
“name”: “TestDruck”,
“type”: “ITEM”,
“uomCode”: “PCE”,
“price”: 2.0,
“syncAdvise”: {
“ifExists”: “UPDATE_MERGE”,
“ifNotExists”: “CREATE”
}
},
“qty”: 1.0
}

Aktuell bekomme ich noch Error 422. Hier die Antwort vom Server:
can’t parse JSON. Raw result:

{“errors”:[{“message”:“Could not read JSON document: Unexpected character (‘1’ (code 49)): was expecting double-quote to start field name\n at [Source: (PushbackInputStream); line: 31, column: 19] (through reference chain: de.metas.rest_api.ordercandidates.request.JsonOLCandCreateRequest[“product”]->de.metas.rest_api.ordercandidates.request.JsonProductInfo[“externalId”]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: Unexpected character (‘1’ (code 49)): was expecting double-quote to start field name\n at [Source: (PushbackInputStream); line: 31, column: 19] (through reference chain: de.metas.rest_api.ordercandidates.request.JsonOLCandCreateRequest[“product”]->de.metas.rest_api.ordercandidates.request.JsonProductInfo[“externalId”])”,“stackTrace”:" <~~~ UserAuthTokenFilter.lambda$doFilter$1:75 <- UserAuthTokenService.lambda$run$0:57 <- UserAuthTokenService.call:79 <- UserAuthTokenService.run:56 <- UserAuthTokenFilter.doFilter:73",“parameters”:{},“throwable”:{“cause”:{“cause”:{“cause”:null,“stackTrace”:[{“methodName”:"_constructError",“fileName”:“JsonParser.java”,“lineNumber”:1804,“className”:“com.fasterxml.jackson.core.JsonParser”,“nativeMethod”:false},{“methodName”:"_reportError",“fileName”:“ParserMinimalBase.java”,“lineNumber”:693,“className”:“com.fasterxml.jackson.core.base.ParserMinimalBase”,“nativeMethod”:false},{“methodName”:"_reportUnexpectedChar",“fileName”:“ParserMinimalBase.java”,“lineNumber”:591,“className”:“com.fasterxml.jackson.core.base.ParserMinimalBase”,“nativeMethod”:false},{“methodName”:"_handleOddName",“fileName”:“UTF8StreamJsonParser.java”,“lineNumber”:1996,“className”:“com.fasterxml.jackson.core.json.UTF8StreamJsonParser”,“nativeMethod”:false},{“methodName”:"_parseName",“fileName”:“UTF8StreamJsonParser.java”,“lineNumber”:1647,“className”:“com.fasterxml.jackson.core.json.UTF8StreamJsonParser”,“nativeMethod”:false},{“methodName”:“nextToken”,“fileName”:“UTF8StreamJsonParser.java”,“lineNumber”:733,“className”:“com.fasterxml.jackson.core.json.UTF8StreamJsonParser”,“nativeMethod”:false},{“methodName”:“deserialize”,“fileName”:“BeanDeserializer.java”,“lineNumber”:155,“className”:“com.fasterxml.jackson.databind.deser.BeanDeserializer”,“nativeMethod”:false},{“methodName”:“deserialize”,“fileName”:“SettableBeanProperty.java”,“lineNumber”:530,“className”:“com.fasterxml.jackson.databind.deser.SettableBeanProperty”,“nativeMethod”:false},{“methodName”:"_deserializeWithErrorWrapping",“fileName”:“BeanDeserializer.java”,“lineNumber”:528,“className”:“com.fasterxml.jackson.databind.deser.BeanDeserializer”,“nativeMethod”:false},{“methodName”:"_deserializeUsingPropertyBased",“fileName”:“BeanDeserializer.java”,“lineNumber”:417,“className”:“com.fasterxml.jackson.databind.deser.BeanDeserializer”,“nativeMethod”:false},{“methodName”:“deserializeFromObjectUsingNonDefault”,“fileName”:“BeanDeserializerBase.java”,“lineNumber”:1287,“className”:“com.fasterxml.jackson.databind.deser.BeanDeserializerBase”,“nativeMethod”:false},{“methodName”:“deserializeFromObject”,“fileName”:“BeanDeserializer.java”,“lineNumber”:326,“className”:“com.fasterxml.jackson.databind.deser.BeanDeserializer”,“nativeMethod”:false},{“methodName”:“deserialize”,“fileName”:“BeanDeserializer.java”,“lineNumber”:159,“className”:“com.fasterxml.jackson.databind.deser.BeanDeserializer”,“nativeMethod”:false},{“methodName”:“deserialize”,“fileName”:“SettableBeanProperty.java”,“lineNumber”:530,“className”:“com.fasterxml.jackson.databind.deser.SettableBeanProperty”,“nativeMethod”:false},{“methodName”:"_deserializeWithErrorWrapping",“fileName”:“BeanDeserializer.java”,“lineNumber”:528,“className”:“com.fasterxml.jackson.databind.deser.BeanDeserializer”,“nativeMethod”:false},{“methodName”:"_deserializeUsingPropertyBased",“fileName”:“BeanDeserializer.java”,“lineNumber”:417,“className”:“com.fasterxml.jackson.databind.deser.BeanDeserializer”,“nativeMethod”:false},{“methodName”:“deserializeFromObjectUsingNonDefault”,“fileName”:“BeanDeserializerBase.java”,“lineNumber”:1287,“className”:“com.fasterxml.jackson.databind.deser.BeanDeserializerBase”,“nativeMethod”:false},{“methodName”:“deserializeFromObject”,“fileName”:“BeanDeserializer.java”,“lineNumber”:326,“className”:“com.fasterxml.jackson.databind.deser.BeanDeserializer”,“nativeMethod”:false},{“methodName”:“deserialize”,“fileName”:“BeanDeserializer.java”,“lineNumber”:159,“className”:“com.fasterxml.jackson.databind.deser.BeanDeserializer”,“nativeMethod”:false},{“methodName”:"_readMapAndClose",“fileName”:“ObjectMapper.java”,“lineNumber”:4013,“className”:“com.fasterxml.jackson.databind.ObjectMapper”,“nativeMethod”:false},{“methodName”:“readValue”,“fileName”:“ObjectMapper.java”,“lineNumber”:3084,“className”:“com.fasterxml.jackson.databind.ObjectMapper”,“nativeMethod”:false},{“methodName”:“readJavaType”,“fileName”:“AbstractJackson2HttpMessageConverter.java”,“lineNumber”:231,“className”:“org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter”,“nativeMethod”:false},{“methodName”:“read”,“fileName”:“AbstractJackson2HttpMessageConverter.java”,“lineNumber”:219,“className”:“org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter”,“nativeMethod”:false},{“methodName”:“readWithMessageConverters”,“fileName”:“AbstractMessageConverterMethodArgumentResolver.java”,“lineNumber”:201,“className”:“org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver”,“nativeMethod”:false},{“methodName”:“readWithMessageConverters”,“fileName”:“RequestResponseBodyMethodProcessor.java”,“lineNumber”:150,“className”:“org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor”,“nativeMethod”:false},{“methodName”:“resolveArgument”,“fileName”:“RequestResponseBodyMethodProcessor.java”,“lineNumber”:128,“className”:“org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor”,“nativeMethod”:false},{“methodName”:“resolveArgument”,“fileName”:“HandlerMethodArgumentResolverComposite.java”,“lineNumber”:121,“className”:“org.springframework.web.method.support.HandlerMethodArgumentResolverComposite”,“nativeMethod”:false},{“methodName”:“getMethodArgumentValues”,“fileName”:“InvocableHandlerMethod.java”,“lineNumber”:158,“className”:“org.springframework.web.method.support.InvocableHandlerMethod”,“nativeMethod”:false},{“methodName”:“invokeForRequest”,“fileName”:“InvocableHandlerMethod.java”,“lineNumber”:128,“className”:“org.springframework.web.method.support.InvocableHandlerMethod”,“nativeMethod”:false},{“methodName”:“invokeAndHandle”,“fileName”:“ServletInvocableHandlerMethod.java”,“lineNumber”:97,“className”:“org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod”,“nativeMethod”:false},{“methodName”:“invokeHandlerMethod”,“fileName”:“RequestMappingHandlerAdapter.java”,“lineNumber”:827,“className”:“org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter”,“nativeMethod”:false},{“methodName”:“handleInternal”,“fileName”:“RequestMappingHandlerAdapter.java”,“lineNumber”:738,“className”:“org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter”,“nativeMethod”:false},{“methodName”:“handle”,“fileName”:“AbstractHandlerMethodAdapter.java”,“lineNumber”:85,“className”:“org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter”,“nativeMethod”:false},{“methodName”:“doDispatch”,“fileName”:“DispatcherServlet.java”,“lineNumber”:963,“className”:“org.springframework.web.servlet.DispatcherServlet”,“nativeMethod”:false},{“methodName”:“doService”,“fileName”:“DispatcherServlet.java”,“lineNumber”:897,“className”:“org.springframework.web.servlet.DispatcherServlet”,“nativeMethod”:false},{“methodName”:“processRequest”,“fileName”:“FrameworkServlet.java”,“lineNumber”:970,“className”:“org.springframework.web.servlet.FrameworkServlet”,“nativeMethod”:false},{“methodName”:“doPost”,“fileName”:“FrameworkServlet.java”,“lineNumber”:872,“className”:“org.springframework.web.servlet.FrameworkServlet”,“nativeMethod”:false},{“methodName”:“service”,“fileName”:“HttpServlet.java”,“lineNumber”:707,“className”:“javax.servlet.http.HttpServlet”,“nativeMethod”:false},{“methodName”:“service”,“fileName”:“FrameworkServlet.java”,“lineNumber”:846,“className”:“org.springframework.web.servlet.FrameworkServlet”,“nativeMethod”:false},{“methodName”:“service”,“fileName”:“HttpServlet.java”,“lineNumber”:790,“className”:“javax.servlet.http.HttpServlet”,“nativeMethod”:false},{“methodName”:“internalDoFilter”,“fileName”:“ApplicationFilterChain.java”,“lineNumber”:231,“className”:“org.apache.catalina.core.ApplicationFilterChain”,“nativeMethod”:false},{“methodName”:“doFilter”,“fileName”:“ApplicationFilterChain.java”,“lineNumber”:166,“className”:“org.apache.catalina.core.ApplicationFilterChain”,“nativeMethod”:false},{“methodName”:“doFilter”,“fileName”:“WsFilter.java”,“lineNumber”:52,“className”:“org.apache.tomcat.websocket.server.WsFilter”,“nativeMethod”:false},{“methodName”:“internalDoFilter”,“fileName”:“ApplicationFilterChain.java”,“lineNumber”:193,“className”:“org.apache.catalina.core.ApplicationFilterChain”,“nativeMethod”:false},{“methodName”:“doFilter”,“fileName”:“ApplicationFilterChain.java”,“lineNumber”:166,“className”:“org.apache.catalina.core.ApplicationFilterChain”,“nativeMethod”:false},{“methodName”:“doFilterInternal”,“fileName”:“ApplicationContextHeaderFilter.java”,“lineNumber”:55,“className”:“org.springframework.boot.web.filter.ApplicationContextHeaderFilter”,“nativeMethod”:false},{“methodName”:“doFilter”,“fileName”:“OncePerRequestFilter.java”,“lineNumber”:107,“className”:“org.springframework.web.filter.OncePerRequestFilter”,“nativeMethod”:false},{“methodName”:“internalDoFilter”,“fileName”:“ApplicationFilterChain.java”,“lineNumber”:193,“className”:“org.apache.catalina.core.ApplicationFilterChain”,“nativeMethod”:false},{“methodName”:“doFilter”,“fileName”:“ApplicationFilterChain.java”,“lineNumber”:166,“className”:“org.apache.catalina.core.ApplicationFilterChain”,“nativeMethod”:false},{“methodName”:“lambda$doFilter$1”,“fileName”:“UserAuthTokenFilter.java”,“lineNumber”:75,“className”:“de.metas.util.web.security.UserAuthTokenFilter”,“nativeMethod”:false},{“methodName”:“lambda$run$0”,“fileName”:“UserAuthTokenService.java”,“lineNumber”:57,“className”:“de.metas.util.web.security.UserAuthTokenService”,“nativeMethod”:false},{“methodName”:“call”,“fileName”:“UserAuthTokenService.java”,“lineNumber”:79,“className”:“de.metas.util.web.security.UserAuthTokenService”,“nativeMethod”:false},{“methodName”:“run”,“fileName”:“UserAuthTokenService.java”,“lineNumber”:56,“className”:“de.metas.util.web.security.UserAuthTokenService”,“nativeMethod”:false},{“methodName”:“doFilter”,“fileName”:“UserAuthTokenFilter.java”,“lineNumber”:73,“className”:“de.metas.util.web.security.UserAuthTokenFilter”,“nativeMethod”:false},{“methodName”:“internalDoFilter”,“fileName”:“ApplicationFilterChain.java”,“lineNumber”:193,“className”:“org.apache.catalina.core.ApplicationFilterChain”,“nativeMethod”:false},{“methodName”:“doFilter”,“fileName”:“ApplicationFilterChain.java”,“lineNumber”:166,“className”:“org.apache.catalina.core.ApplicationFilterChain”,“nativeMethod”:false},{“methodName”:“doFilterInternal”,“fileName”:“WebRequestTraceFilter.java”,“lineNumber”:110,“className”:“org.springframework.boot.actuate.trace.WebRequestTraceFilter”,“nativeMethod”:false},{“methodName”:“doFilter”,“fileName”:“OncePerRequestFilter.java”,“lineNumber”:107,“className”:“org.springframework.web.filter.OncePerRequestFilter”,“nativeMethod”:false},{“methodName”:“internalDoFilter”,“fileName”:“ApplicationFilterChain.java”,“lineNumber”:193,“className”:“org.apache.catalina.core.ApplicationFilterChain”,“nativeMethod”:false},{“methodName”:“doFilter”,“fileName”:“ApplicationFilterChain.java”,“lineNumber”:166,“className”:“org.apache.catalina.core.ApplicationFilterChain”,“nativeMethod”:false},{“methodName”:“doFilterInternal”,“fileName”:“RequestContextFilter.java”,“lineNumber”:99,“className”:“org.springframework.web.filter.RequestContextFilter”,“nativeMethod”:false},{“methodName”:“doFilter”,“fileName”:“OncePerRequestFilter.java”,“lineNumber”:107,“className”:“org.springframework.web.filter.OncePerRequestFilter”,“nativeMethod”:false},{“methodName”:“internalDoFilter”,“fileName”:“ApplicationFilterChain.java”,“lineNumber”:193,“className”:“org.apache.catalina.core.ApplicationFilterChain”,“nativeMethod”:false},{“methodName”:“doFilter”,“fileName”:“ApplicationFilterChain.java”,“lineNumber”:166,“className”:“org.apache.catalina.core.ApplicationFilterChain”,“nativeMethod”:false},{“methodName”:“doFilterInternal”,“fileName”:“HttpPutFormContentFilter.java”,“lineNumber”:105,“className”:“org.springframework.web.filter.HttpPutFormContentFilter”,“nativeMethod”:false},{“methodName”:“doFilter”,“fileName”:“OncePerRequestFilter.java”,“lineNumber”:107,“className”:“org.springframework.web.filter.OncePerRequestFilter”,“nativeMethod”:false},{“methodName”:“internalDoFilter”,“fileName”:“ApplicationFilterChain.java”,“lineNumber”:193,“className”:“org.apache.catalina.core.ApplicationFilterChain”,“nativeMethod”:false},{“methodName”:“doFilter”,“fileName”:“ApplicationFilterChain.java”,“lineNumber”:166,“className”:“org.apache.catalina.core.ApplicationFilterChain”,“nativeMethod”:false},{“methodName”:“doFilterInternal”,“fileName”:“HiddenHttpMethodFilter.java”,“lineNumber”:81,“className”:“org.springframework.web.filter.HiddenHttpMethodFilter”,“nativeMethod”:false},{“methodName”:“doFilter”,“fileName”:“OncePerRequestFilter.java”,“lineNumber”:107,“className”:“org.springframework.web.filter.OncePerRequestFilter”,“nativeMethod”:false},{“methodName”:“internalDoFilter”,“fileName”:“ApplicationFilterChain.java”,“lineNumber”:193,“className”:“org.apache.catalina.core.ApplicationFilterChain”,“nativeMethod”:false},{“methodName”:“doFilter”,“fileName”:“ApplicationFilterChain.java”,“lineNumber”:166,“className”:“org.apache.catalina.core.ApplicationFilterChain”,“nativeMethod”:false},{“methodName”:“doFilterInternal”,“fileName”:“CharacterEncodingFilter.java”,“lineNumber”:197,“className”:“org.springframework.web.filter.CharacterEncodingFilter”,“nativeMethod”:false},{“methodName”:“doFilter”,“fileName”:“OncePerRequestFilter.java”,“lineNumber”:107,“className”:“org.springframework.web.filter.OncePerRequestFilter”,“nativeMethod”:false},{“methodName”:“internalDoFilter”,“fileName”:“ApplicationFilterChain.java”,“lineNumber”:193,“className”:“org.apache.catalina.core.ApplicationFilterChain”,“nativeMethod”:false},{“methodName”:“doFilter”,“fileName”:“ApplicationFilterChain.java”,“lineNumber”:166,“className”:“org.apache.catalina.core.ApplicationFilterChain”,“nativeMethod”:false},{“methodName”:“doFilterInternal”,“fileName”:“MetricsFilter.java”,“lineNumber”:106,“className”:“org.springframework.boot.actuate.autoconfigure.MetricsFilter”,“nativeMethod”:false},{“methodName”:“doFilter”,“fileName”:“OncePerRequestFilter.java”,“lineNumber”:107,“className”:“org.springframework.web.filter.OncePerRequestFilter”,“nativeMethod”:false},{“methodName”:“internalDoFilter”,“fileName”:“ApplicationFilterChain.java”,“lineNumber”:193,“className”:“org.apache.catalina.core.ApplicationFilterChain”,“nativeMethod”:false},{“methodName”:“doFilter”,“fileName”:“ApplicationFilterChain.java”,“lineNumber”:166,“className”:“org.apache.catalina.core.ApplicationFilterChain”,“nativeMethod”:false},{“methodName”:“invoke”,“fileName”:“StandardWrapperValve.java”,“lineNumber”:198,“className”:“org.apache.catalina.core.StandardWrapperValve”,“nativeMethod”:false},{“methodName”:“invoke”,“fileName”:“StandardContextValve.java”,“lineNumber”:96,“className”:“org.apache.catalina.core.StandardContextValve”,“nativeMethod”:false},{“methodName”:“invoke”,“fileName”:“AuthenticatorBase.java”,“lineNumber”:478,“className”:“org.apache.catalina.authenticator.AuthenticatorBase”,“nativeMethod”:false},{“methodName”:“invoke”,“fileName”:“StandardHostValve.java”,“lineNumber”:140,“className”:“org.apache.catalina.core.StandardHostValve”,"{“timestamp”:“2020-06-15T12:30:41.167+0000”,“status”:422,“error”:“Unprocessable Entity”,“exception”:“org.springframework.http.converter.HttpMessageNotReadableException”,“message”:“Could not read JSON document: Unexpected character (‘1’ (code 49)): was expecting double-quote to start field name\n at [Source: (PushbackInputStream); line: 31, column: 19] (through reference chain: de.metas.rest_api.ordercandidates.request.JsonOLCandCreateRequest[“product”]->de.metas.rest_api.ordercandidates.request.JsonProductInfo[“externalId”]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: Unexpected character (‘1’ (code 49)): was expecting double-quote to start field name\n at [Source: (PushbackInputStream); line: 31, column: 19] (through reference chain: de.metas.rest_api.ordercandidates.request.JsonOLCandCreateRequest[“product”]->de.metas.rest_api.ordercandidates.request.JsonProductInfo[“externalId”])”,“path”:"/api/sales/order/candidates"}

Hat jemand schonmal eine ähnliche Fehlermeldung gehabt, bzw weiß jemand was in meinem JSON noch falsch ist?
Vielen Dank schonmal

hi,

kannst du noch die version von metasfresh posten die ihr einsetzt?

VG
Norbert

Hi,

wir benutzen soweit ich das sehen kann Version 5.144

VG

Fehlermeldung sagt ja Zeile 31:
laut Doku sollte dort keine externalid sein (order-candidates-rest-controller-impl (sales order candidates/disposition)).
Selbst wenn macht die geschweifte Klammer dort auch keinen Sinn.

Hallo und vielen Dank für den Tip,
die “poReference”: hat auch noch gefehlt. Hier jetzt das akutelle JSON:
{
“billBPartner”: {
“bpartner”: {
“active”: true,
“externalId”: “1156425”,
“code”: “Test001”,
“name”: “Tester”,
“name2”: “Vorname”,
“name3”: “nachname”,
“language”: “de_DE”,
“group”: “Standard”,
“syncAdvise”: {
“ifExists”: “UPDATE_MERGE”,
“ifNotExists”: “CREATE”
}
},
“syncAdvise”: {
“ifExists”: “UPDATE_MERGE”,
“ifNotExists”: “CREATE”
}
},
“dataDest”: “int-DEST.de.metas.ordercandidate”,
“dataSource”: “int-SOURCE.de.metas.rest_api.ordercandidates.impl.OrderCandidatesRestControllerImpl”,
“discount”: 0.0,
“externalHeaderId”: “extHead-101”,
“externalLineId”: “extLine-101”,
“orderDocType”: “SalesOrder”,
“paymentRule”: “Paypal”,
“product”: {
“name”: “TestDruck”,
“type”: “ITEM”,
“uomCode”: “PCE”,
“price”: 2.0,
“syncAdvise”: {
“ifExists”: “UPDATE_MERGE”,
“ifNotExists”: “CREATE”
}
},
“poReference”: “SEO_768-04”,
“qty”: 1.0
}

Und hier die neue Fehlermeldung:
{
“errors”: [
{
“message”: “Ihr Test hat einen bisher unentdeckten Fehler offengelegt.\r\nBitte leiten Sie diese Meldung an metas weiter:\n\nAssumption failure: bpartner may not be null; this=JsonOLCandCreateRequest(org=null, externalLineId=extLine-101, externalHeaderId=extHead-101, dataSource=int-SOURCE.de.metas.rest_api.ordercandidates.impl.OrderCandidatesRestControllerImpl, dataDest=int-DEST.de.metas.ordercandidate, bpartner=null, billBPartner=JsonRequestBPartnerLocationAndContact(bpartner=JsonRequestBPartner(externalId=JsonExternalId(value=1156425), code=Test001, active=true, name=Tester, name2=Vorname, name3=nachname, companyName=null, vendor=null, customer=null, parentId=null, phone=null, language=de_DE, invoiceRule=null, url=null, url2=null, url3=null, group=Standard, syncAdvise=SyncAdvise(ifNotExists=CREATE, ifExists=UPDATE_MERGE)), location=null, contact=null, syncAdvise=SyncAdvise(ifNotExists=CREATE, ifExists=UPDATE_MERGE)), dropShipBPartner=null, handOverBPartner=null, dateOrdered=null, dateRequired=null, flatrateConditionsId=0, product=JsonProductInfo(code=null, externalId=null, name=TestDruck, type=ITEM, uomCode=PCE, priceStd=2.0, syncAdvise=SyncAdvise(ifNotExists=CREATE, ifExists=UPDATE_MERGE)), productDescription=null, qty=1.0, uomCode=null, packingMaterialId=null, pricingSystemCode=null, price=null, currencyCode=null, discount=0.0, poReference=SEO_768-04, warehouseDestCode=null, invoiceDocType=null, presetDateInvoiced=null, presetDateShipped=null, orderDocType=SalesOrder, paymentRule=Paypal, salesPartnerCode=null, shipper=null)”,
“stackTrace”: " <~~~ Check.mkEx:119 <- Check.throwOrLogEx:134 <- Check.assume:186 <- Check.assumeNotNull:276 <- Check.assumeNotNull:266 <- JsonOLCandCreateRequest.validate:299 <- JsonOLCandCreateBulkRequest.validate:65 <- OrderCandidatesRestControllerImpl.createOrderLineCandidates:143 <- OrderCandidatesRestControllerImpl.createOrderLineCandidate:134 <~~~ UserAuthTokenFilter.lambda$doFilter$1:75 <- UserAuthTokenService.lambda$run$0:57 <- UserAuthTokenService.call:79 <- UserAuthTokenService.run:56 <- UserAuthTokenFilter.doFilter:73",
“parameters”: {},
“throwable”: {
“cause”: null,
“stackTrace”: [
{
“methodName”: “newInstance0”,
“fileName”: “NativeConstructorAccessorImpl.java”,
“lineNumber”: -2,
“className”: “sun.reflect.NativeConstructorAccessorImpl”,
“nativeMethod”: true
},
{
“methodName”: “newInstance”,
“fileName”: “NativeConstructorAccessorImpl.java”,
“lineNumber”: 62,
“className”: “sun.reflect.NativeConstructorAccessorImpl”,
“nativeMethod”: false
},
{
“methodName”: “newInstance”,
“fileName”: “DelegatingConstructorAccessorImpl.java”,
“lineNumber”: 45,
“className”: “sun.reflect.DelegatingConstructorAccessorImpl”,
“nativeMethod”: false
},
{
“methodName”: “newInstance”,
“fileName”: “Constructor.java”,
“lineNumber”: 423,
“className”: “java.lang.reflect.Constructor”,
“nativeMethod”: false
},
{
“methodName”: “mkEx”,
“fileName”: “Check.java”,
“lineNumber”: 119,
“className”: “de.metas.util.Check”,
“nativeMethod”: false
},
{
“methodName”: “throwOrLogEx”,
“fileName”: “Check.java”,
“lineNumber”: 134,
“className”: “de.metas.util.Check”,
“nativeMethod”: false
},
{
“methodName”: “assume”,
“fileName”: “Check.java”,
“lineNumber”: 186,
“className”: “de.metas.util.Check”,
“nativeMethod”: false
},
{
“methodName”: “assumeNotNull”,
“fileName”: “Check.java”,
“lineNumber”: 276,
“className”: “de.metas.util.Check”,
“nativeMethod”: false
},
{
“methodName”: “assumeNotNull”,
“fileName”: “Check.java”,
“lineNumber”: 266,
“className”: “de.metas.util.Check”,
“nativeMethod”: false
},
{
“methodName”: “validate”,
“fileName”: “JsonOLCandCreateRequest.java”,
“lineNumber”: 299,
“className”: “de.metas.rest_api.ordercandidates.request.JsonOLCandCreateRequest”,
“nativeMethod”: false
},
{
“methodName”: “validate”,
“fileName”: “JsonOLCandCreateBulkRequest.java”,
“lineNumber”: 65,
“className”: “de.metas.rest_api.ordercandidates.request.JsonOLCandCreateBulkRequest”,
“nativeMethod”: false
},
{
“methodName”: “createOrderLineCandidates”,
“fileName”: “OrderCandidatesRestControllerImpl.java”,
“lineNumber”: 143,
“className”: “de.metas.rest_api.ordercandidates.impl.OrderCandidatesRestControllerImpl”,
“nativeMethod”: false
},
{
“methodName”: “createOrderLineCandidate”,
“fileName”: “OrderCandidatesRestControllerImpl.java”,
“lineNumber”: 134,
“className”: “de.metas.rest_api.ordercandidates.impl.OrderCandidatesRestControllerImpl”,
“nativeMethod”: false
},
{
“methodName”: “invoke0”,
“fileName”: “NativeMethodAccessorImpl.java”,
“lineNumber”: -2,
“className”: “sun.reflect.NativeMethodAccessorImpl”,
“nativeMethod”: true
},
{
“methodName”: “invoke”,
“fileName”: “NativeMethodAccessorImpl.java”,
“lineNumber”: 62,
“className”: “sun.reflect.NativeMethodAccessorImpl”,
“nativeMethod”: false
},
{
“methodName”: “invoke”,
“fileName”: “DelegatingMethodAccessorImpl.java”,
“lineNumber”: 43,
“className”: “sun.reflect.DelegatingMethodAccessorImpl”,
“nativeMethod”: false
},
{
“methodName”: “invoke”,
“fileName”: “Method.java”,
“lineNumber”: 498,
“className”: “java.lang.reflect.Method”,
“nativeMethod”: false
},
{
“methodName”: “doInvoke”,
“fileName”: “InvocableHandlerMethod.java”,
“lineNumber”: 205,
“className”: “org.springframework.web.method.support.InvocableHandlerMethod”,
“nativeMethod”: false
},
{
“methodName”: “invokeForRequest”,
“fileName”: “InvocableHandlerMethod.java”,
“lineNumber”: 133,
“className”: “org.springframework.web.method.support.InvocableHandlerMethod”,
“nativeMethod”: false
},
{
“methodName”: “invokeAndHandle”,
“fileName”: “ServletInvocableHandlerMethod.java”,
“lineNumber”: 97,
“className”: “org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod”,
“nativeMethod”: false
},
{
“methodName”: “invokeHandlerMethod”,
“fileName”: “RequestMappingHandlerAdapter.java”,
“lineNumber”: 827,
“className”: “org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter”,
“nativeMethod”: false
},
{
“methodName”: “handleInternal”,
“fileName”: “RequestMappingHandlerAdapter.java”,
“lineNumber”: 738,
“className”: “org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter”,
“nativeMethod”: false
},
{
“methodName”: “handle”,
“fileName”: “AbstractHandlerMethodAdapter.java”,
“lineNumber”: 85,
“className”: “org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter”,
“nativeMethod”: false
},
{
“methodName”: “doDispatch”,
“fileName”: “DispatcherServlet.java”,
“lineNumber”: 963,
“className”: “org.springframework.web.servlet.DispatcherServlet”,
“nativeMethod”: false
},
{
“methodName”: “doService”,
“fileName”: “DispatcherServlet.java”,
“lineNumber”: 897,
“className”: “org.springframework.web.servlet.DispatcherServlet”,
“nativeMethod”: false
},
{
“methodName”: “processRequest”,
“fileName”: “FrameworkServlet.java”,
“lineNumber”: 970,
“className”: “org.springframework.web.servlet.FrameworkServlet”,
“nativeMethod”: false
},
{
“methodName”: “doPost”,
“fileName”: “FrameworkServlet.java”,
“lineNumber”: 872,
“className”: “org.springframework.web.servlet.FrameworkServlet”,
“nativeMethod”: false
},
{
“methodName”: “service”,
“fileName”: “HttpServlet.java”,
“lineNumber”: 707,
“className”: “javax.servlet.http.HttpServlet”,
“nativeMethod”: false
},
{
“methodName”: “service”,
“fileName”: “FrameworkServlet.java”,
“lineNumber”: 846,
“className”: “org.springframework.web.servlet.FrameworkServlet”,
“nativeMethod”: false
},
{
“methodName”: “service”,
“fileName”: “HttpServlet.java”,
“lineNumber”: 790,
“className”: “javax.servlet.http.HttpServlet”,
“nativeMethod”: false
},
{
“methodName”: “internalDoFilter”,
“fileName”: “ApplicationFilterChain.java”,
“lineNumber”: 231,
“className”: “org.apache.catalina.core.ApplicationFilterChain”,
“nativeMethod”: false
},
{
“methodName”: “doFilter”,
“fileName”: “ApplicationFilterChain.java”,
“lineNumber”: 166,
“className”: “org.apache.catalina.core.ApplicationFilterChain”,
“nativeMethod”: false
},
{
“methodName”: “doFilter”,
“fileName”: “WsFilter.java”,
“lineNumber”: 52,
“className”: “org.apache.tomcat.websocket.server.WsFilter”,
“nativeMethod”: false
},
{
“methodName”: “internalDoFilter”,
“fileName”: “ApplicationFilterChain.java”,
“lineNumber”: 193,
“className”: “org.apache.catalina.core.ApplicationFilterChain”,
“nativeMethod”: false
},
{
“methodName”: “doFilter”,
“fileName”: “ApplicationFilterChain.java”,
“lineNumber”: 166,
“className”: “org.apache.catalina.core.ApplicationFilterChain”,
“nativeMethod”: false
},
{
“methodName”: “doFilterInternal”,
“fileName”: “ApplicationContextHeaderFilter.java”,
“lineNumber”: 55,
“className”: “org.springframework.boot.web.filter.ApplicationContextHeaderFilter”,
“nativeMethod”: false
},
{
“methodName”: “doFilter”,
“fileName”: “OncePerRequestFilter.java”,
“lineNumber”: 107,
“className”: “org.springframework.web.filter.OncePerRequestFilter”,
“nativeMethod”: false
},
{
“methodName”: “internalDoFilter”,
“fileName”: “ApplicationFilterChain.java”,
“lineNumber”: 193,
“className”: “org.apache.catalina.core.ApplicationFilterChain”,
“nativeMethod”: false
},
{
“methodName”: “doFilter”,
“fileName”: “ApplicationFilterChain.java”,
“lineNumber”: 166,
“className”: “org.apache.catalina.core.ApplicationFilterChain”,
“nativeMethod”: false
},
{
“methodName”: “lambda$doFilter$1”,
“fileName”: “UserAuthTokenFilter.java”,
“lineNumber”: 75,
“className”: “de.metas.util.web.security.UserAuthTokenFilter”,
“nativeMethod”: false
},
{
“methodName”: “lambda$run$0”,
“fileName”: “UserAuthTokenService.java”,
“lineNumber”: 57,
“className”: “de.metas.util.web.security.UserAuthTokenService”,
“nativeMethod”: false
},
{
“methodName”: “call”,
“fileName”: “UserAuthTokenService.java”,
“lineNumber”: 79,
“className”: “de.metas.util.web.security.UserAuthTokenService”,
“nativeMethod”: false
},
{
“methodName”: “run”,
“fileName”: “UserAuthTokenService.java”,
“lineNumber”: 56,
“className”: “de.metas.util.web.security.UserAuthTokenService”,
“nativeMethod”: false
},
{
“methodName”: “doFilter”,
“fileName”: “UserAuthTokenFilter.java”,
“lineNumber”: 73,
“className”: “de.metas.util.web.security.UserAuthTokenFilter”,
“nativeMethod”: false
},
{
“methodName”: “internalDoFilter”,
“fileName”: “ApplicationFilterChain.java”,
“lineNumber”: 193,
“className”: “org.apache.catalina.core.ApplicationFilterChain”,
“nativeMethod”: false
},
{
“methodName”: “doFilter”,
“fileName”: “ApplicationFilterChain.java”,
“lineNumber”: 166,
“className”: “org.apache.catalina.core.ApplicationFilterChain”,
“nativeMethod”: false
},
{
“methodName”: “doFilterInternal”,
“fileName”: “WebRequestTraceFilter.java”,
“lineNumber”: 110,
“className”: “org.springframework.boot.actuate.trace.WebRequestTraceFilter”,
“nativeMethod”: false
},
{
“methodName”: “doFilter”,
“fileName”: “OncePerRequestFilter.java”,
“lineNumber”: 107,
“className”: “org.springframework.web.filter.OncePerRequestFilter”,
“nativeMethod”: false
},
{
“methodName”: “internalDoFilter”,
“fileName”: “ApplicationFilterChain.java”,
“lineNumber”: 193,
“className”: “org.apache.catalina.core.ApplicationFilterChain”,
“nativeMethod”: false
},
{
“methodName”: “doFilter”,
“fileName”: “ApplicationFilterChain.java”,
“lineNumber”: 166,
“className”: “org.apache.catalina.core.ApplicationFilterChain”,
“nativeMethod”: false
},
{
“methodName”: “doFilterInternal”,
“fileName”: “RequestContextFilter.java”,
“lineNumber”: 99,
“className”: “org.springframework.web.filter.RequestContextFilter”,
“nativeMethod”: false
},
{
“methodName”: “doFilter”,
“fileName”: “OncePerRequestFilter.java”,
“lineNumber”: 107,
“className”: “org.springframework.web.filter.OncePerRequestFilter”,
“nativeMethod”: false
},
{
“methodName”: “internalDoFilter”,
“fileName”: “ApplicationFilterChain.java”,
“lineNumber”: 193,
“className”: “org.apache.catalina.core.ApplicationFilterChain”,
“nativeMethod”: false
},
{
“methodName”: “doFilter”,
“fileName”: “ApplicationFilterChain.java”,
“lineNumber”: 166,
“className”: “org.apache.catalina.core.ApplicationFilterChain”,
“nativeMethod”: false
},
{
“methodName”: “doFilterInternal”,
“fileName”: “HttpPutFormContentFilter.java”,
“lineNumber”: 105,
“className”: “org.springframework.web.filter.HttpPutFormContentFilter”,
“nativeMethod”: false
},
{
“methodName”: “doFilter”,
“fileName”: “OncePerRequestFilter.java”,
“lineNumber”: 107,
“className”: “org.springframework.web.filter.OncePerRequestFilter”,
“nativeMethod”: false
},
{
“methodName”: “internalDoFilter”,
“fileName”: “ApplicationFilterChain.java”,
“lineNumber”: 193,
“className”: “org.apache.catalina.core.ApplicationFilterChain”,
“nativeMethod”: false
},
{
“methodName”: “doFilter”,
“fileName”: “ApplicationFilterChain.java”,
“lineNumber”: 166,
“className”: “org.apache.catalina.core.ApplicationFilterChain”,
“nativeMethod”: false
},
{
“methodName”: “doFilterInternal”,
“fileName”: “HiddenHttpMethodFilter.java”,
“lineNumber”: 81,
“className”: “org.springframework.web.filter.HiddenHttpMethodFilter”,
“nativeMethod”: false
},
{
“methodName”: “doFilter”,
“fileName”: “OncePerRequestFilter.java”,
“lineNumber”: 107,
“className”: “org.springframework.web.filter.OncePerRequestFilter”,
“nativeMethod”: false
},
{
“methodName”: “internalDoFilter”,
“fileName”: “ApplicationFilterChain.java”,
“lineNumber”: 193,
“className”: “org.apache.catalina.core.ApplicationFilterChain”,
“nativeMethod”: false
},
{
“methodName”: “doFilter”,
“fileName”: “ApplicationFilterChain.java”,
“lineNumber”: 166,
“className”: “org.apache.catalina.core.ApplicationFilterChain”,
“nativeMethod”: false
},
{
“methodName”: “doFilterInternal”,
“fileName”: “CharacterEncodingFilter.java”,
“lineNumber”: 197,
“className”: “org.springframework.web.filter.CharacterEncodingFilter”,
“nativeMethod”: false
},
{
“methodName”: “doFilter”,
“fileName”: “OncePerRequestFilter.java”,
“lineNumber”: 107,
“className”: “org.springframework.web.filter.OncePerRequestFilter”,
“nativeMethod”: false
},
{
“methodName”: “internalDoFilter”,
“fileName”: “ApplicationFilterChain.java”,
“lineNumber”: 193,
“className”: “org.apache.catalina.core.ApplicationFilterChain”,
“nativeMethod”: false
},
{
“methodName”: “doFilter”,
“fileName”: “ApplicationFilterChain.java”,
“lineNumber”: 166,
“className”: “org.apache.catalina.core.ApplicationFilterChain”,
“nativeMethod”: false
},
{
“methodName”: “doFilterInternal”,
“fileName”: “MetricsFilter.java”,
“lineNumber”: 106,
“className”: “org.springframework.boot.actuate.autoconfigure.MetricsFilter”,
“nativeMethod”: false
},
{
“methodName”: “doFilter”,
“fileName”: “OncePerRequestFilter.java”,
“lineNumber”: 107,
“className”: “org.springframework.web.filter.OncePerRequestFilter”,
“nativeMethod”: false
},
{
“methodName”: “internalDoFilter”,
“fileName”: “ApplicationFilterChain.java”,
“lineNumber”: 193,
“className”: “org.apache.catalina.core.ApplicationFilterChain”,
“nativeMethod”: false
},
{
“methodName”: “doFilter”,
“fileName”: “ApplicationFilterChain.java”,
“lineNumber”: 166,
“className”: “org.apache.catalina.core.ApplicationFilterChain”,
“nativeMethod”: false
},
{
“methodName”: “invoke”,
“fileName”: “StandardWrapperValve.java”,
“lineNumber”: 198,
“className”: “org.apache.catalina.core.StandardWrapperValve”,
“nativeMethod”: false
},
{
“methodName”: “invoke”,
“fileName”: “StandardContextValve.java”,
“lineNumber”: 96,
“className”: “org.apache.catalina.core.StandardContextValve”,
“nativeMethod”: false
},
{
“methodName”: “invoke”,
“fileName”: “AuthenticatorBase.java”,
“lineNumber”: 478,
“className”: “org.apache.catalina.authenticator.AuthenticatorBase”,
“nativeMethod”: false
},
{
“methodName”: “invoke”,
“fileName”: “StandardHostValve.java”,
“lineNumber”: 140,
“className”: “org.apache.catalina.core.StandardHostValve”,
“nativeMethod”: false
},
{
“methodName”: “invoke”,
“fileName”: “ErrorReportValve.java”,
“lineNumber”: 80,
“className”: “org.apache.catalina.valves.ErrorReportValve”,
“nativeMethod”: false
},
{
“methodName”: “invoke”,
“fileName”: “StandardEngineValve.java”,
“lineNumber”: 87,
“className”: “org.apache.catalina.core.StandardEngineValve”,
“nativeMethod”: false
},
{
“methodName”: “service”,
“fileName”: “CoyoteAdapter.java”,
“lineNumber”: 342,
“className”: “org.apache.catalina.connector.CoyoteAdapter”,
“nativeMethod”: false
},
{
“methodName”: “service”,
“fileName”: “Http11Processor.java”,
“lineNumber”: 799,
“className”: “org.apache.coyote.http11.Http11Processor”,
“nativeMethod”: false
},
{
“methodName”: “process”,
“fileName”: “AbstractProcessorLight.java”,
“lineNumber”: 66,
“className”: “org.apache.coyote.AbstractProcessorLight”,
“nativeMethod”: false
},
{
“methodName”: “process”,
“fileName”: “AbstractProtocol.java”,
“lineNumber”: 861,
“className”: “org.apache.coyote.AbstractProtocol$ConnectionHandler”,
“nativeMethod”: false
},
{
“methodName”: “doRun”,
“fileName”: “NioEndpoint.java”,
“lineNumber”: 1455,
“className”: “org.apache.tomcat.util.net.NioEndpoint$SocketProcessor”,
“nativeMethod”: false
},
{
“methodName”: “run”,
“fileName”: “SocketProcessorBase.java”,
“lineNumber”: 49,
“className”: “org.apache.tomcat.util.net.SocketProcessorBase”,
“nativeMethod”: false
},
{
“methodName”: “runWorker”,
“fileName”: “ThreadPoolExecutor.java”,
“lineNumber”: 1149,
“className”: “java.util.concurrent.ThreadPoolExecutor”,
“nativeMethod”: false
},
{
“methodName”: “run”,
“fileName”: “ThreadPoolExecutor.java”,
“lineNumber”: 624,
“className”: “java.util.concurrent.ThreadPoolExecutor$Worker”,
“nativeMethod”: false
},
{
“methodName”: “run”,
“fileName”: “TaskThread.java”,
“lineNumber”: 61,
“className”: “org.apache.tomcat.util.threads.TaskThread$WrappingRunnable”,
“nativeMethod”: false
},
{
“methodName”: “run”,
“fileName”: “Thread.java”,
“lineNumber”: 748,
“className”: “java.lang.Thread”,
“nativeMethod”: false
}
],
“adIssueId”: null,
“userNotified”: false,
“userValidationError”: false,
“parameters”: {},
“issueReported”: false,
“message”: “Ihr Test hat einen bisher unentdeckten Fehler offengelegt.\r\nBitte leiten Sie diese Meldung an metas weiter:\n\nAssumption failure: bpartner may not be null; this=JsonOLCandCreateRequest(org=null, externalLineId=extLine-101, externalHeaderId=extHead-101, dataSource=int-SOURCE.de.metas.rest_api.ordercandidates.impl.OrderCandidatesRestControllerImpl, dataDest=int-DEST.de.metas.ordercandidate, bpartner=null, billBPartner=JsonRequestBPartnerLocationAndContact(bpartner=JsonRequestBPartner(externalId=JsonExternalId(value=1156425), code=Test001, active=true, name=Tester, name2=Vorname, name3=nachname, companyName=null, vendor=null, customer=null, parentId=null, phone=null, language=de_DE, invoiceRule=null, url=null, url2=null, url3=null, group=Standard, syncAdvise=SyncAdvise(ifNotExists=CREATE, ifExists=UPDATE_MERGE)), location=null, contact=null, syncAdvise=SyncAdvise(ifNotExists=CREATE, ifExists=UPDATE_MERGE)), dropShipBPartner=null, handOverBPartner=null, dateOrdered=null, dateRequired=null, flatrateConditionsId=0, product=JsonProductInfo(code=null, externalId=null, name=TestDruck, type=ITEM, uomCode=PCE, priceStd=2.0, syncAdvise=SyncAdvise(ifNotExists=CREATE, ifExists=UPDATE_MERGE)), productDescription=null, qty=1.0, uomCode=null, packingMaterialId=null, pricingSystemCode=null, price=null, currencyCode=null, discount=0.0, poReference=SEO_768-04, warehouseDestCode=null, invoiceDocType=null, presetDateInvoiced=null, presetDateShipped=null, orderDocType=SalesOrder, paymentRule=Paypal, salesPartnerCode=null, shipper=null)”,
“localizedMessage”: “Ihr Test hat einen bisher unentdeckten Fehler offengelegt.\r\nBitte leiten Sie diese Meldung an metas weiter:\n\nAssumption failure: bpartner may not be null; this=JsonOLCandCreateRequest(org=null, externalLineId=extLine-101, externalHeaderId=extHead-101, dataSource=int-SOURCE.de.metas.rest_api.ordercandidates.impl.OrderCandidatesRestControllerImpl, dataDest=int-DEST.de.metas.ordercandidate, bpartner=null, billBPartner=JsonRequestBPartnerLocationAndContact(bpartner=JsonRequestBPartner(externalId=JsonExternalId(value=1156425), code=Test001, active=true, name=Tester, name2=Vorname, name3=nachname, companyName=null, vendor=null, customer=null, parentId=null, phone=null, language=de_DE, invoiceRule=null, url=null, url2=null, url3=null, group=Standard, syncAdvise=SyncAdvise(ifNotExists=CREATE, ifExists=UPDATE_MERGE)), location=null, contact=null, syncAdvise=SyncAdvise(ifNotExists=CREATE, ifExists=UPDATE_MERGE)), dropShipBPartner=null, handOverBPartner=null, dateOrdered=null, dateRequired=null, flatrateConditionsId=0, product=JsonProductInfo(code=null, externalId=null, name=TestDruck, type=ITEM, uomCode=PCE, priceStd=2.0, syncAdvise=SyncAdvise(ifNotExists=CREATE, ifExists=UPDATE_MERGE)), productDescription=null, qty=1.0, uomCode=null, packingMaterialId=null, pricingSystemCode=null, price=null, currencyCode=null, discount=0.0, poReference=SEO_768-04, warehouseDestCode=null, invoiceDocType=null, presetDateInvoiced=null, presetDateShipped=null, orderDocType=SalesOrder, paymentRule=Paypal, salesPartnerCode=null, shipper=null)”,
“suppressed”: []
}
}
]
}

1 Like

Ich habe ein Beispiel gefunden, dass bei uns so, ohne vorher abgelegte Daten funktioniert.
{
“bpartner”: {
“bpartner”: {
“active”: true,
“code”: “G0001”,
“name”: “Test Kunde 1”,
“companyName”: “Testkunde Kunde 1”,
“parentId”: 0,
“language”: “de_DE”,
“syncAdvise”: {
“ifExists”: “UPDATE_MERGE”,
“ifNotExists”: “CREATE”
}
}
},
“product”: {
“code”: “Coco_2468”,
“name”: “Coconuts”,
“type”: “ITEM”,
“priceStd”: 6.90,
“uomCode”: “PCE”,
“syncAdvise”: {
“ifExists”: “DONT_UPDATE”,
“ifNotExists”: “CREATE”
}
},
“externalHeaderId”: “extHead-101”,
“externalLineId”: “extLine-101”,
“poReference”: “SEO_768-04”,
“dateRequired”: “2020-09-23”,
“dataSource”: “int-SOURCE.de.metas.rest_api.ordercandidates.impl.OrderCandidatesRestControllerImpl”,
“dataDest”: “int-DEST.de.metas.ordercandidate”,
“qty”: 1
}