on ‎2022 Jan 07 10:29 AM
Hello colleagues,
I have CCO installed on a Virtualbox VM machine and are trying to connect to the ByD test tenant.
I followed this blog which is very good https://blogs.sap.com/2017/11/06/integrate-sap-customer-checkout-point-of-sales-with-sap-bydesign/ , and informative but cannot get CCO to sync. I changed network adapter to bridged mode but still have a connection issue.
I checked the CCO log and saw references to the proxy used. I am using the suggested proxy settings in the technical section.
Here is the log. Is this network related? Or have I missed something in the config?
Any help or advice would be appreciated.
2022-01-07 10:00:26,264 [BYD_SCHEDULER_Worker-2] INFO com.sap.scco.ap.pos.job.MaterialJob - >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> MaterialJob started
2022-01-07 10:00:26,270 [BYD_SCHEDULER_Worker-2] INFO com.sap.scco.ap.pos.job.MaterialJob - Loading material data from ERP...
2022-01-07 10:00:26,319 [loadAllDTOFromExternalSystem] WARN com.sap.scco.ap.pos.i14y.util.AbstractDTOService - an exception came up while retrieving all MaterialDTO from ERP (ByDesign)
com.sap.scco.util.exception.XWebServiceException: javax.xml.ws.WebServiceException: Could not send Message.
at com.sap.scco.ap.pos.i14y.byd.wrapper.ManageSalesPriceListInWrapper.readSalesPriceListByID(ManageSalesPriceListInWrapper.java:184) ~[env.jar:?]
at com.sap.scco.ap.pos.i14y.byd.MaterialDTO_ByDWebserviceImpl.runRetrieve(MaterialDTO_ByDWebserviceImpl.java:84) ~[env.jar:?]
at com.sap.scco.ap.pos.i14y.util.AbstractDTOService.lambda$1(AbstractDTOService.java:264) ~[env.jar:?]
at java.lang.Thread.run(Unknown Source) [?:?]
Caused by: javax.xml.ws.WebServiceException: Could not send Message.
at org.apache.cxf.jaxws.JaxWsClientProxy.mapException(JaxWsClientProxy.java:183) ~[env.jar:?]
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:145) ~[env.jar:?]
at com.sun.proxy.$Proxy119.read(Unknown Source) ~[?:?]
at com.sap.scco.ap.pos.i14y.byd.wrapper.ManageSalesPriceListInWrapper.readSalesPriceListByID(ManageSalesPriceListInWrapper.java:93) ~[env.jar:?]
... 3 more
Caused by: java.net.UnknownHostException: UnknownHostException invoking https://myXXXXX.sapbydesign.com/sap/bc/srt/scs/sap/managesalespricelistin: proxy.wdf.sap.corp
at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:?]
at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:?]
at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:?]
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:1400) ~[env.jar:?]
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1384) ~[env.jar:?]
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) ~[env.jar:?]
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:671) ~[env.jar:?]
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:63) ~[env.jar:?]
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) ~[env.jar:?]
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:530) ~[env.jar:?]
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:441) ~[env.jar:?]
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:356) ~[env.jar:?]
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:314) ~[env.jar:?]
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96) ~[env.jar:?]
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:140) ~[env.jar:?]
at com.sun.proxy.$Proxy119.read(Unknown Source) ~[?:?]
at com.sap.scco.ap.pos.i14y.byd.wrapper.ManageSalesPriceListInWrapper.readSalesPriceListByID(ManageSalesPriceListInWrapper.java:93) ~[env.jar:?]
... 3 more
Caused by: java.net.UnknownHostException: proxy.wdf.sap.corp
at java.net.AbstractPlainSocketImpl.connect(Unknown Source) ~[?:?]
at java.net.Socket.connect(Unknown Source) ~[?:?]
at sun.net.NetworkClient.doConnect(Unknown Source) ~[?:?]
at sun.net.www.http.HttpClient.openServer(Unknown Source) ~[?:?]
at sun.net.www.http.HttpClient$1.run(Unknown Source) ~[?:?]
at sun.net.www.http.HttpClient$1.run(Unknown Source) ~[?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at sun.net.www.http.HttpClient.privilegedOpenServer(Unknown Source) ~[?:?]
at sun.net.www.http.HttpClient.openServer(Unknown Source) ~[?:?]
at sun.net.www.protocol.https.HttpsClient.<init>(Unknown Source) ~[?:?]
at sun.net.www.protocol.https.HttpsClient.New(Unknown Source) ~[?:?]
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source) ~[?:?]
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source) ~[?:?]
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) ~[?:?]
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source) ~[?:?]
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(Unknown Source) ~[?:?]
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown Source) ~[?:?]
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(Unknown Source) ~[?:?]
at org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.setupWrappedStream(URLConnectionHTTPConduit.java:274) ~[env.jar:?]
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleHeadersTrustCaching(HTTPConduit.java:1343) ~[env.jar:?]
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.onFirstWrite(HTTPConduit.java:1304) ~[env.jar:?]
at org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.onFirstWrite(URLConnectionHTTPConduit.java:307) ~[env.jar:?]
at org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:47) ~[env.jar:?]
at org.apache.cxf.io.AbstractThresholdOutputStream.write(AbstractThresholdOutputStream.java:69) ~[env.jar:?]
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1356) ~[env.jar:?]
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) ~[env.jar:?]
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:671) ~[env.jar:?]
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:63) ~[env.jar:?]
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) ~[env.jar:?]
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:530) ~[env.jar:?]
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:441) ~[env.jar:?]
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:356) ~[env.jar:?]
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:314) ~[env.jar:?]
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96) ~[env.jar:?]
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:140) ~[env.jar:?]
at com.sun.proxy.$Proxy119.read(Unknown Source) ~[?:?]
at com.sap.scco.ap.pos.i14y.byd.wrapper.ManageSalesPriceListInWrapper.readSalesPriceListByID(ManageSalesPriceListInWrapper.java:93) ~[env.jar:?]
... 3 more
2022-01-07 10:00:26,335 [loadAllDTOFromExternalSystem] INFO com.sap.scco.ap.pos.i14y.util.callback.impl.MaterialDTO_RetrieveListCallback - XState=com.sap.scco.util.exception.XWebServiceException: Could not send Message.,stopSubsequentAttempts=false
2022-01-07 10:00:26,367 [BYD_SCHEDULER_Worker-2] INFO com.sap.scco.ap.pos.job.MaterialJob - <<<<<<<<<<<<<<<<<<<<<<<<<<< MaterialJob finished in 97ms
Request clarification before answering.
Dear ghazzali,
The warnings in the article synchronization
"Price list received is empty"
"...could not read price information"
are fixed meanwhile.
If you use the latest version of SAP Customer Checkout (CCO 2.0 FP12 PL06) the article synchronization will be successful.
Kind regards,
Gunther
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi gunther.sandtner2 ,
After updating customer checkout to CCO 2.0 FP12 PL06 the article sync issue has been resolved.
Thank you very much for your assistance on this.
Kind regards,
Ghazzali.
Hello,
I have replaced the URL with xxxx. I dont think its a good idea to paste system URL in open forums like SAP Community.
From the system where the PoS is, are you able to login in the system(change to ur system)
myxxxxxx.sapbydesign.com
with user _MBCCO and "your password".
ByD supports login with technical user like _MBCCO
If no, then the issue is obvious. I assume this will work.
If yes, then are u able to call the service like managesalespricelistin using tools like Postman?
If not, then your ByD system is not configured correctly to access these services.
You should open a BCP ticket for ByD colleagues
myxxxxxx.sapbydesign.com/sap/bc/srt/scs/sap/managesalespricelistin
I am using the suggested proxy settings in the technical section.
Have u tried using without proxy? After changing proxy setting, u should always restart the PoS.
I am wondering if you need the proxy. Generally speaking this system is on the internet, and u might not need proxy to access it. However i am not too deep on the network level.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Bikash, Thank you for the advice. Removing the proxy settings helped, for both the local PC and VM. I had tried this earlier but I think the VM network settings were an issue as well.
I can log in with the user _MBCCO.
The article sync now displays a yellow triangle with exclamation mark. The error ( see attached image) "Price list received is empty" and then lists some articles. However no articles are imported.

So, I checked the price lists in CCO and ByD and they are the same (attached image).

I am using a distribution chain price list and the associated distribution chain code as well.
At this point I don't have a "Discount price list ID" entered in CCO integration section.
Kind regards,
Ghazzali.
Dear ghazzali,
In the integration with ByD the price lists associated with the materials you want to synchronize need to be maintained manually in CCO Configuration -> Sales -> Price Lists. The ID you maintain in CCO must match exactly the name from ByD. Here is an example from my test system:


Kind regards,
Gunther
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.