Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

Jazz Distributed SCM Component Deliver Failed Error:"Error invoking remote service at....."

 Hi,

In my project, I'm supposed to created distributed SCM between RTC server in corporation domain and RTC server at outside the domain but these two RTC are communicating with eachother. My aim is to deliver components from one server to another with changing flow targets. I'm able to change flow target to server outside the domain but when I try to deliver component, returns error below;

Error screenshot

Note: I'm able to deliver change sets to server outside the domain from the client inside the domain.

Any help or advise would be nice

1

1 vote

Comments

is there a firewall between between inside and outside?  note that the communications between servers is both ways, while communications from the client to the server is one way.

also, do both servers have distributed SCM enabled in their ccm advanced admin.
you also need to make the servers friends.

 Hi sam,


When I try to make servers friend, I get this error from the server(/jazz/admin web interface) outside the domain ;

where is 'outside'? the internet?    10.  network domains, like 192.168. are not routable.
https://www.mtmnet.com/PDF_FILES/NonRoutableIPaddresses.PDF
so I suspect that the address needs to be the address of the firewall & port and there is some port forwarding that goes on under the covers.

my external address, provided by my ISP is 108., but my rtc server is on 192.168. internally.

 What I mean by outside is area outside the company domain that can be connected from outside of the company with some VPN configurations. Our network starts with 10.** address.


What I don't understand is this "networking error" caused by firewall restrictions or mistakes that I did while trying to make servers friend.

Also , I'm trying to apply  https://jazz.net/library/article/535/ ,but still I get  that error " An error occurred while requesting an oAuth cosumer key from server..."

I think you are using the wrong address for the internal server from outside.

either
1. you must connect via VPN BEFORE making the friends config so yhat the external server is logically on your 10. company network. (some vpn's don't allow just any port traffic)
2. you MUST use the address of the firewall, and port AND the firewall must do port forwarding to get the incoming requested address mapped to the internal 10. address and port.

I do this on my personal system, map 108.xxx.xxx.xxx:443  to 192.168.2.xx:9443  internally, so that the server can be accessed from somewhere outside my home.

Using IP Addresses in the public URI of the servers is also not a good practice. You should use fully qualified domain names for the hosts that are machine independent and are reachable via DNS.

showing 5 of 7 show 2 more comments

Accepted answer

Permanent link
 We have figured this out by making servers connect each other with dns and I've successfully delivered component.

Thanks a lot for your valuable comments.
Ralph Schoon selected this answer as the correct answer

0 votes

Comments

For future reference if others run into this problem, I noticed that the error shown in the answer below is the result of an unknown host exception. That probably means an issue with the DNS resolution.


One other answer

Permanent link
Emir,

have you looked at https://jazz.net/library/article/1399 how to set this up?

I agree with Sam and the firewall concern. Can a client (or the server) from outside of the domain connect to the server inside the domain?
You only need to make the CCM Servers friends if you want to follow the work item links on change sets to both servers.

Is this an error message in the client, or in the server? I assume the client. Have you looked into the server CCM logs as well as into the client log (in the .metadata folder of the workspace)

1 vote

Comments

Ralph,
I continue to disagree with you, please see the results for someone else
See Kevin's answer posted here (answered Apr 26, 5:30 a.m.)
https://jazz.net/forum/questions/149344/certificateexception-exception-on-cross-server-delivery

without the friends config,  I do not know how server 1 could logon to server 2 for the DSCM operations. unless you are saying that ANYONE could do these operations unauthenticated.

I have created and done the whole workshop (on Tomcat) several times without creating any friends relationships.

I have in fact moved the server to another site (virtually) and deliver the changes to the 3rd server while there was no friends relationship whatsoever.

From my experience the friends relationship is not necessary for the distributed SCM. But we don't have to agree on this. Maybe someone else can show us the light.

Hi Ralph,  


Yes, I can connect server inside the domain from outside. There is firewall but it has configured to connect with each other.

Do I need to make servers friend if I don't want to follow the work item links on change sets to both servers ?

I get the error on client side and here are the logs ;

!ENTRY com.ibm.team.repository.rcp.ui 4 0 2014-04-29 15:57:10.933
!MESSAGE Error invoking remote service at https://gtjazzdev:9443/jazz/:  gtjazzdev
!STACK 0
com.ibm.team.repository.common.TeamRepositoryException: Error invoking remote service at https://gtjazzdev:9443/jazz/:  gtjazzdev
at com.ibm.team.scm.service.internal.replication.ReplicationUtil.postRawRequest(ReplicationUtil.java:1765)
at com.ibm.team.scm.service.internal.replication.ReplicationUtil.postDescribeReplication(ReplicationUtil.java:1723)
at com.ibm.team.scm.service.internal.replication.ReplicationUtil.doNegotiation(ReplicationUtil.java:1323)
at com.ibm.team.scm.service.internal.replication.ReplicationUtil.negotiateReplication(ReplicationUtil.java:1091)
at com.ibm.team.scm.service.internal.replication.ReplicationUtil.negotiateReplication(ReplicationUtil.java:1070)
at com.ibm.team.scm.service.internal.ScmService.updateComponents2(ScmService.java:4026)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
at com.sun.proxy.$Proxy1899.updateComponents2(null)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleMethod(AbstractTeamServerServlet.java:1421)
at com.ibm.team.repository.servlet.AbstractTeamServerServlet.executeMethod(AbstractTeamServerServlet.java:956)
at com.ibm.team.repository.servlet.AbstractTeamServerServlet.doPost(AbstractTeamServerServlet.java:729)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest2(AbstractTeamServerServlet.java:2362)
at com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest(AbstractTeamServerServlet.java:2153)
at com.ibm.team.repository.servlet.AbstractTeamServerServlet.access$0(AbstractTeamServerServlet.java:2138)
at com.ibm.team.repository.servlet.AbstractTeamServerServlet$1.service(AbstractTeamServerServlet.java:219)
at com.ibm.team.repository.internal.service.auth.impl.JAuthHandler$1.run(JAuthHandler.java:109)
at com.ibm.team.repository.servlet.AbstractTeamServerServlet.service(AbstractTeamServerServlet.java:1792)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:126)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:76)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:120)
at com.ibm.team.repository.server.servletbridge.JazzServlet.service(JazzServlet.java:74)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at com.ibm.team.repository.server.servletbridge.BridgeFilter.processDelegate(BridgeFilter.java:165)
at com.ibm.team.repository.server.servletbridge.BridgeFilter.doFilter(BridgeFilter.java:198)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:336)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:906)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:929)
at java.lang.Thread.run(Thread.java:761)
at com.ibm.team.repository.common.internal.marshal.util.MarshallerUtil.decodeExceptions(Unknown Source)
at com.ibm.team.repository.common.internal.marshal.util.MarshallerUtil.decodeExceptions(Unknown Source)
at com.ibm.team.repository.common.internal.marshal.util.MarshallerUtil.decodeFault(Unknown Source)
at com.ibm.team.repository.transport.client.RemoteTeamService.constructExceptionFromFault(Unknown Source)
at com.ibm.team.repository.transport.client.RemoteTeamService.executeMethod(Unknown Source)
at com.ibm.team.repository.transport.client.RemoteTeamService.invoke(Unknown Source)
at com.ibm.team.repository.transport.client.ServiceInvocationHandler.invoke(Unknown Source)
at $Proxy15.updateComponents2(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.ibm.team.repository.client.internal.ServiceInterfaceProxy.invokeServiceCall(Unknown Source)
at com.ibm.team.repository.client.internal.ServiceInterfaceProxy.invoke(Unknown Source)
at $Proxy15.updateComponents2(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.ibm.team.scm.client.internal.ScmServiceInterfaceProxy$2.run(Unknown Source)
at com.ibm.team.repository.client.internal.TeamRepository$3.run(Unknown Source)
at com.ibm.team.repository.common.transport.CancelableCaller.call(Unknown Source)
at com.ibm.team.repository.client.internal.TeamRepository.callCancelableService(Unknown Source)
at com.ibm.team.scm.client.internal.ScmClientLibraryContext.callCancelableService(Unknown Source)
at com.ibm.team.scm.client.internal.ScmServiceInterfaceProxy.invokeCancelableService(Unknown Source)
at com.ibm.team.scm.client.internal.ScmServiceInterfaceProxy.invoke(Unknown Source)
at $Proxy15.updateComponents2(Unknown Source)
at com.ibm.team.scm.client.internal.FlowNodeConnection.applyComponentOperations(Unknown Source)
at com.ibm.team.scm.client.internal.FlowNodeConnection.applyComponentOperations(Unknown Source)
at com.ibm.team.scm.client.internal.FlowNodeConnection.applyComponentOperations(Unknown Source)
at com.ibm.team.filesystem.client.internal.operations.DeliverOperation.execute(Unknown Source)
at com.ibm.team.filesystem.client.internal.operations.FileSystemOperation.run(Unknown Source)
at com.ibm.team.filesystem.rcp.core.internal.changes.util.ComponentSyncModel.deliver(Unknown Source)
at com.ibm.team.filesystem.ui.changes.actions.DeliverAction$1.repositoryRun(Unknown Source)
at com.ibm.team.repository.rcp.ui.operations.RepositoryOperation.run(Unknown Source)
at com.ibm.team.repository.rcp.ui.operations.JobRunner.run(Unknown Source)
at com.ibm.team.repository.rcp.ui.operations.JobRunner$1.run(Unknown Source)
at org.eclipse.core.internal.jobs.Worker.run(Unknown Source)
Caused by: java.net.UnknownHostException: gtjazzdev
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:253)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:376)
at java.net.Socket.connect(Socket.java:546)
at com.ibm.team.scm.service.internal.replication.ReplicationUtil$SCMSSLSocketFactory.createSocket(ReplicationUtil.java:1507)
at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
at com.ibm.team.scm.service.internal.replication.ReplicationUtil.postRawRequest(ReplicationUtil.java:1752)
... 94 more

The friends configuration isn't necessary to deliver change sets between servers. However, it is useful if you want to link a work item to a change set on another server.

Your answer

Register or log in to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details
× 12,017
× 43

Question asked: Apr 29 '14, 8:01 a.m.

Question was seen: 5,618 times

Last updated: Apr 30 '14, 8:40 a.m.

Confirmation Cancel Confirm