cancel
Showing results for 
Search instead for 
Did you mean: 

Hybris-C4C integration | HTTP response '401: Unauthorized' when communicating with https://xxx.crm.ondemand.com

former_member623616
Contributor
0 Kudos

Hi All,

During publication of customer data, from Datahub to C4C system, i am getting below error in Datahub:

 2018-06-06 11:48:56,770 [INFO] [c.h.d.c.a.s.p.i.DefaultC4cSoapPublisher] Got 1 customers
 2018-06-06 11:48:56,771 [INFO] [c.h.d.c.a.s.p.i.DefaultC4cSoapPublisher] Creating 1 soap requests
 2018-06-06 11:48:56,771 [INFO] [c.h.d.c.a.s.p.i.DefaultC4cSoapPublisher] soap request [1]
 2018-06-06 11:48:59,564 [DEBUG] [c.h.d.c.a.s.i.MessageIdInterceptor] Original Endpoint Address: https://xxxxxxx.crm.ondemand.com/sap/bc/srt/scs/sap/businesspartnerreplic
 ationin
 2018-06-06 11:48:59,565 [DEBUG] [c.h.d.c.a.s.i.MessageIdInterceptor] Modified Endpoint Address: https://xxxxxxx.crm.ondemand.com/sap/bc/srt/scs/sap/businesspartnerreplic
 ationin?MessageId=35F184B3-827C-492F-9153-05785B605312
 2018-06-06 11:49:00,999 [WARN] [o.a.c.p.PhaseInterceptorChain] Interceptor for {http://sap.com/xi/A1S/Global}BusinessPartnerReplicationInService#{http://sap.com/xi/A1S/Gl
 obal}ReplicateBusinessPartner has thrown exception, unwinding now
 org.apache.cxf.interceptor.Fault: Could not send Message.
         at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64) ~[cxf-core-3.1.7.jar:3.1.7]
         at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) ~[cxf-core-3.1.7.jar:3.1.7]
         at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514) [cxf-core-3.1.7.jar:3.1.7]
         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:423) [cxf-core-3.1.7.jar:3.1.7]
         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:324) [cxf-core-3.1.7.jar:3.1.7]
         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:277) [cxf-core-3.1.7.jar:3.1.7]
         at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96) [cxf-rt-frontend-simple-3.1.7.jar:3.1.7]
         at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:139) [cxf-rt-frontend-jaxws-3.1.7.jar:3.1.7]
         at com.sun.proxy.$Proxy262.replicateBusinessPartner(Unknown Source) [na:na]
         at com.hybris.datahub.c4c.adapter.soapadapter.processor.soap.impl.DefaultC4cJaxwsSoapProcessor.sendMessage(DefaultC4cJaxwsSoapProcessor.java:93) [c4c-integration-
 soap-adapter-6.3.0.0-RC4.jar:na]
         at com.hybris.datahub.c4c.adapter.soapadapter.processor.soap.impl.DefaultC4cJaxwsSoapProcessor.process(DefaultC4cJaxwsSoapProcessor.java:80) [c4c-integration-soap
 -adapter-6.3.0.0-RC4.jar:na]
         at com.hybris.datahub.c4c.adapter.soapadapter.publisher.impl.DefaultC4cSoapPublisher.publish(DefaultC4cSoapPublisher.java:82) [c4c-integration-soap-adapter-6.3.0.
 0-RC4.jar:na]
         at com.hybris.datahub.c4c.adapter.soapadapter.core.C4cSoapAdapter.publish(C4cSoapAdapter.java:43) [c4c-integration-soap-adapter-6.3.0.0-RC4.jar:na]
         at com.hybris.datahub.service.publication.impl.DefaultDataHubPublicationService.startPublication(DefaultDataHubPublicationService.java:259) [datahub-service-6.3.0
 .2-RC1.jar:6.3.0.2-RC1]
         at com.hybris.datahub.service.publication.impl.DefaultDataHubPublicationService.publish(DefaultDataHubPublicationService.java:101) [datahub-service-6.3.0.2-RC1.ja
 r:6.3.0.2-RC1]
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_112]
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_112]
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_112]
         at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_112]
         at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333) [spring-aop-4.3.3.RELEASE.jar:4.3.3.RELEASE]
         at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) [spring-aop-4.3.3.RELEASE.jar:4.3.3.RELEASE]
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) [spring-aop-4.3.3.RELEASE.jar:4.3.3.RELEASE]
         at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) [spring-tx-4.3.3.RELEASE.jar:4.3.3.R
 ELEASE]
         at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) [spring-tx-4.3.3.RELEASE.jar:4.
 3.3.RELEASE]
         at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) [spring-tx-4.3.3.RELEASE.jar:4.3.3.RELEASE]
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.3.3.RELEASE.jar:4.3.3.RELEASE]
         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213) [spring-aop-4.3.3.RELEASE.jar:4.3.3.RELEASE]
         at com.sun.proxy.$Proxy139.publish(Unknown Source) [na:na]
         at com.hybris.datahub.service.impl.PublicationActionHandler.publishToTargetSystems(PublicationActionHandler.java:342) [datahub-service-6.3.0.2-RC1.jar:6.3.0.2-RC1
 ]
         at com.hybris.datahub.service.impl.PublicationActionHandler.handlePublicationAction(PublicationActionHandler.java:126) [datahub-service-6.3.0.2-RC1.jar:6.3.0.2-RC
 1]
         at com.hybris.datahub.service.impl.PublicationActionHandler.handleAction(PublicationActionHandler.java:95) [datahub-service-6.3.0.2-RC1.jar:6.3.0.2-RC1]
         at com.hybris.datahub.service.impl.PublicationActionHandler.handleAction(PublicationActionHandler.java:69) [datahub-service-6.3.0.2-RC1.jar:6.3.0.2-RC1]
         at com.hybris.datahub.command.impl.AbstractPerformCommand.lambda$execute$0(AbstractPerformCommand.java:56) [datahub-service-6.3.0.2-RC1.jar:6.3.0.2-RC1]
         at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1626) ~[na:1.8.0_112]
         at com.hybris.datahub.service.ExceptionHandlingAsyncTaskExecutor$2.run(ExceptionHandlingAsyncTaskExecutor.java:79) ~[datahub-service-6.3.0.2-RC1.jar:6.3.0.2-RC1]
         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_112]
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[na:1.8.0_112]
         at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_112]
 Caused by: org.apache.cxf.transport.http.HTTPException: HTTP response '401: Unauthorized' when communicating with https://xxxxxxx.crm.ondemand.com/sap/bc/srt/scs/sap/bus
 inesspartnerreplicationin?MessageId=35F184B3-827C-492F-9153-05785B605312
         at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.doProcessResponseCode(HTTPConduit.java:1600) ~[cxf-rt-transports-http-3.1.7.jar:3.1.7]
         at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1607) ~[cxf-rt-transports-http-3.1.7.jar:3.1.7]
         at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1551) ~[cxf-rt-transports-http-3.1.7.jar:3.1.7]
         at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1348) ~[cxf-rt-transports-http-3.1.7.jar:3.1.7]
         at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) ~[cxf-core-3.1.7.jar:3.1.7]
         at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:651) ~[cxf-rt-transports-http-3.1.7.jar:3.1.7]
         at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) ~[cxf-core-3.1.7.jar:3.1.7]
         ... 37 common frames omitted
 2018-06-06 11:49:01,010 [ERROR] [c.h.d.s.i.PublicationActionHandler] Error publishing action: 1
 javax.xml.ws.WebServiceException: Could not send Message.
         at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:150) ~[cxf-rt-frontend-jaxws-3.1.7.jar:3.1.7]
         at com.sun.proxy.$Proxy262.replicateBusinessPartner(Unknown Source) ~[na:na]
         at com.hybris.datahub.c4c.adapter.soapadapter.processor.soap.impl.DefaultC4cJaxwsSoapProcessor.sendMessage(DefaultC4cJaxwsSoapProcessor.java:93) ~[c4c-integration
 -soap-adapter-6.3.0.0-RC4.jar:na]
         at com.hybris.datahub.c4c.adapter.soapadapter.processor.soap.impl.DefaultC4cJaxwsSoapProcessor.process(DefaultC4cJaxwsSoapProcessor.java:80) ~[c4c-integration-soa
 p-adapter-6.3.0.0-RC4.jar:na]
         at com.hybris.datahub.c4c.adapter.soapadapter.publisher.impl.DefaultC4cSoapPublisher.publish(DefaultC4cSoapPublisher.java:82) ~[c4c-integration-soap-adapter-6.3.0
 .0-RC4.jar:na]
         at com.hybris.datahub.c4c.adapter.soapadapter.core.C4cSoapAdapter.publish(C4cSoapAdapter.java:43) ~[c4c-integration-soap-adapter-6.3.0.0-RC4.jar:na]
         at com.hybris.datahub.service.publication.impl.DefaultDataHubPublicationService.startPublication(DefaultDataHubPublicationService.java:259) ~[datahub-service-6.3.
 0.2-RC1.jar:6.3.0.2-RC1]
         at com.hybris.datahub.service.publication.impl.DefaultDataHubPublicationService.publish(DefaultDataHubPublicationService.java:101) ~[datahub-service-6.3.0.2-RC1.j
 ar:6.3.0.2-RC1]
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_112]
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_112]
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_112]
         at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_112]
         at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333) ~[spring-aop-4.3.3.RELEASE.jar:4.3.3.RELEASE]
         at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) ~[spring-aop-4.3.3.RELEASE.jar:4.3.3.RELEASE]
 
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.3.3.RELEASE.jar:4.3.3.RELEASE]
         at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) ~[spring-tx-4.3.3.RELEASE.jar:4.3.3.
 RELEASE]
         at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) ~[spring-tx-4.3.3.RELEASE.jar:4
 .3.3.RELEASE]
         at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) ~[spring-tx-4.3.3.RELEASE.jar:4.3.3.RELEASE]
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.3.3.RELEASE.jar:4.3.3.RELEASE]
         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213) ~[spring-aop-4.3.3.RELEASE.jar:4.3.3.RELEASE]
         at com.sun.proxy.$Proxy139.publish(Unknown Source) ~[na:na]
         at com.hybris.datahub.service.impl.PublicationActionHandler.publishToTargetSystems(PublicationActionHandler.java:342) [datahub-service-6.3.0.2-RC1.jar:6.3.0.2-RC1
 ]
         at com.hybris.datahub.service.impl.PublicationActionHandler.handlePublicationAction(PublicationActionHandler.java:126) [datahub-service-6.3.0.2-RC1.jar:6.3.0.2-RC
 1]
         at com.hybris.datahub.service.impl.PublicationActionHandler.handleAction(PublicationActionHandler.java:95) [datahub-service-6.3.0.2-RC1.jar:6.3.0.2-RC1]
         at com.hybris.datahub.service.impl.PublicationActionHandler.handleAction(PublicationActionHandler.java:69) [datahub-service-6.3.0.2-RC1.jar:6.3.0.2-RC1]
         at com.hybris.datahub.command.impl.AbstractPerformCommand.lambda$execute$0(AbstractPerformCommand.java:56) [datahub-service-6.3.0.2-RC1.jar:6.3.0.2-RC1]
         at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1626) ~[na:1.8.0_112]
         at com.hybris.datahub.service.ExceptionHandlingAsyncTaskExecutor$2.run(ExceptionHandlingAsyncTaskExecutor.java:79) ~[datahub-service-6.3.0.2-RC1.jar:6.3.0.2-RC1]
         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_112]
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[na:1.8.0_112]
         at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_112]
 Caused by: org.apache.cxf.transport.http.HTTPException: HTTP response '401: Unauthorized' when communicating with https://xxxxxxx.crm.ondemand.com/sap/bc/srt/scs/sap/bus
 inesspartnerreplicationin?MessageId=35F184B3-827C-492F-9153-05785B605312
         at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.doProcessResponseCode(HTTPConduit.java:1600) ~[cxf-rt-transports-http-3.1.7.jar:3.1.7]
         at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1607) ~[cxf-rt-transports-http-3.1.7.jar:3.1.7]
         at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1551) ~[cxf-rt-transports-http-3.1.7.jar:3.1.7]
         at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1348) ~[cxf-rt-transports-http-3.1.7.jar:3.1.7]
         at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) ~[cxf-core-3.1.7.jar:3.1.7]
         at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:651) ~[cxf-rt-transports-http-3.1.7.jar:3.1.7]
         at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) ~[cxf-core-3.1.7.jar:3.1.7]
         at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) ~[cxf-core-3.1.7.jar:3.1.7]
         at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514) ~[cxf-core-3.1.7.jar:3.1.7]
         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:423) ~[cxf-core-3.1.7.jar:3.1.7]
         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:324) ~[cxf-core-3.1.7.jar:3.1.7]
         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:277) ~[cxf-core-3.1.7.jar:3.1.7]
         at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96) ~[cxf-rt-frontend-simple-3.1.7.jar:3.1.7]
         at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:139) ~[cxf-rt-frontend-jaxws-3.1.7.jar:3.1.7]
         ... 30 common frames omitted
 2018-06-06 11:49:01,036 [INFO] [c.h.d.s.i.PublicationActionHandler] Failing publication action: 1
View Entire Topic
cieslo
Active Participant
0 Kudos

Hi,

Did you create a Data Hub Proxy extension as described here? Even if you don't use proxy you still need to create this extension in order to provide credentials in <http:conduit>.

former_member623616
Contributor
0 Kudos

Thanks Marcin, for the reply. No i havnt created this extension. Let me try with this extension.

Also, if we are not using proxy then should we use the default values for properties as below ?

 <http:client AutoRedirect="true"
                    Connection="Keep-Alive"
                    ProxyServer="${datahub.c4c.proxyServer}"
                    ProxyServerPort="${datahub.c4c.proxyServerPort}"
                    NonProxyHosts="localhost|127.0.0.1"
                    AllowChunking="false" />
cieslo
Active Participant
0 Kudos

Hi,

As far as I remember - yes. Simply do not specify values in local.properties for properties related to proxy server and port.