phax / phase4

phase4 - AS4 client and server for integration into existing systems. Specific support for Peppol and CEF eDelivery built-in.
Apache License 2.0
154 stars 47 forks source link

[invalid-standard] The value of the "DocumentIdentification/Standard" element is invalid: 'urn:oasis:names:specification:ubl:schema:xsd:Invoice-2' vs. 'urn:oasis:names:specification:ubl:schema:xsd:Invoice-2' #67

Closed AlexandruCiobanu closed 3 years ago

AlexandruCiobanu commented 3 years ago

Hi Phil,

I am encountering a strange error when receiving an inbound invoice through as4 [2021-10-05T03:23:28,078] [PEPPOL] [WARN ] [http-nio-18080-exec-6] Invoked AS4 message processor SPI com.helger.phase4.peppol.servlet.Phase4PeppolServletMessageProcessorSPI@23e907fb on '_3c13f9fe-7034-4f20-86fd-7850c58a9174@nsoftware' returned a failure: Failed to extract the Peppol data from SBDH. Technical details: com.helger.peppol.sbdh.read.PeppolSBDHDocumentReadException - [invalid-standard] The value of the "DocumentIdentification/Standard" element is invalid: 'urn:oasis:names:specification:ubl:schema:xsd:Invoice-2' vs. 'urn:oasis:names:specification:ubl:schema:xsd:Invoice-2' -- com.helger.phase4.servlet.AS4RequestHandler._invokeSPIsForIncoming(AS4RequestHandler.java:648)

The values in the 'vs' strike me as being identical and I looked in the dumped attachment and I see nothing wrong with it. Could this be an encoding issue of some kind?

Thanks, Alex

phax commented 3 years ago

@AlexandruCiobanu if I reme,ber correctly, that was fixed some releases ago. What version of phase4 are you using? If I interpret my history correct that was fixed in peppol-commons 8.4.0 in December 2020 which was integrated in version 1.0.0 of phase4. So if you are stuck on a pre 1.0.0 version you need to upgrade.

AlexandruCiobanu commented 3 years ago

I should have seen his one coming :) Updating the installation. BTW Is it still possible to use system variables to pass in the path to the properties files? I see things appear to have changed quite a bit. I tried starting it but I keep getting thois error which is odd cos I even changed the properites file in teh war itself:

[2021-10-06T17:04:41,540] [PEPPOL] [INFO ] [main] Using '/phase4-data' as the data path -- com.helger.photon.app.io.WebFileIO.initPaths(WebFileIO.java:92)
[2021-10-06T17:04:41,574] [PEPPOL] [WARN ] [main] File operation CREATE_DIR_RECURSIVE failed with error code SOURCE_PARENT_NOT_WRITABLE on '/phase4-data' -- com.helger.commons.io.file.LoggingFileOperationCallback.onError(LoggingFileOperationCallback.java:56)
[2021-10-06T17:04:41,574] [PEPPOL] [ERROR] [main] Context Initialization Error -- com.helger.photon.core.servlet.WebAppListener.contextInitialized(WebAppListener.java:734)
com.helger.commons.exception.InitializationException: The passed base path /phase4-data exists but is not a directory!
    at com.helger.commons.io.relative.FileRelativeIO.<init>(FileRelativeIO.java:112) ~[ph-commons-10.1.3.jar:10.1.3]
    at com.helger.photon.app.io.WebFileIO.initPaths(WebFileIO.java:94) ~[ph-oton-app-8.3.1.jar:8.3.1]
    at com.helger.photon.core.servlet.WebAppListener.initPaths(WebAppListener.java:480) ~[ph-oton-core-8.3.1.jar:8.3.1]
    at com.helger.photon.core.servlet.WebAppListener.contextInitialized(WebAppListener.java:678) [ph-oton-core-8.3.1.jar:8.3.1]
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4682) [catalina.jar:9.0.21]
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5143) [catalina.jar:9.0.21]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.21]
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717) [catalina.jar:9.0.21]
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690) [catalina.jar:9.0.21]
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705) [catalina.jar:9.0.21]
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:978) [catalina.jar:9.0.21]
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1849) [catalina.jar:9.0.21]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_131]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_131]
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) [tomcat-util.jar:9.0.21]
    at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112) [?:1.8.0_131]
    at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:773) [catalina.jar:9.0.21]
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:427) [catalina.jar:9.0.21]
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1576) [catalina.jar:9.0.21]
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309) [catalina.jar:9.0.21]
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) [catalina.jar:9.0.21]
    at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423) [catalina.jar:9.0.21]
    at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366) [catalina.jar:9.0.21]
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:936) [catalina.jar:9.0.21]
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841) [catalina.jar:9.0.21]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.21]
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384) [catalina.jar:9.0.21]
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374) [catalina.jar:9.0.21]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_131]
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) [tomcat-util.jar:9.0.21]
    at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) [?:1.8.0_131]
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909) [catalina.jar:9.0.21]
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262) [catalina.jar:9.0.21]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.21]
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:421) [catalina.jar:9.0.21]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.21]
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:932) [catalina.jar:9.0.21]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.21]
    at org.apache.catalina.startup.Catalina.start(Catalina.java:633) [catalina.jar:9.0.21]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_131]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_131]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_131]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_131]
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:344) [bootstrap.jar:9.0.21]
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:475) [bootstrap.jar:9.0.21]
AlexandruCiobanu commented 3 years ago

nevermind, figured it out

phax commented 3 years ago

@AlexandruCiobanu okay thanks for the update. I assume it was some file system access rights?

AlexandruCiobanu commented 3 years ago

Actually I had the old server.datapath instead of global.datapath. When I started investigating I was sure it will be a one liner and indeed it was

phax commented 3 years ago

Thanks for the information.

In version 1.0.0 I removed all the deprecated/work around elements from 0.x versions and global.datapath was one of them - luckily for myself I maintain the change log ;-)