【问题标题】:OpsHub Visual Studio Migration Utility MetadataExceptionOpsHub Visual Studio 迁移实用程序 MetadataException
【发布时间】:2016-02-29 23:28:54
【问题描述】:

尝试创建从 TFS 2012 Update 2 到 Visual Studio Teams 服务的新迁移时,该实用程序在用户映射屏幕上失败,并出现以下错误:

com.opshub.eai.metadata.MetadataException:OpsHub-014371:不能 为用户列表实例化元数据实现 | TFS 源 1456429486357 ALM TFS 1456429486367,由于 OH-TFS-Connector-0068: 以下字段是必须映射的 http://localhost:9090/TFSService 集成:{1}

服务似乎运行良好。有什么想法吗?

更多信息来自 OpsHub.log 文件:

02/25/2016 13:44:47,511 ERROR [http-8989-1] (com.opshub.eai.config.service.ConfigServiceImpl) - OpsHub-014371: Could not instantiate metadata implementation for For User List | TFS Source 1456429486357 ALM TFS 1456429486367, due to OH-TFS-Connector-0068: Following Fields are mandatory to map for http://localhost:9090/TFSService integration : {1}
com.opshub.eai.metadata.MetadataException: OpsHub-014371: Could not instantiate metadata implementation for For User List | TFS Source 1456429486357 ALM TFS 1456429486367, due to OH-TFS-Connector-0068: Following Fields are mandatory to map for http://localhost:9090/TFSService integration : {1}
    at com.opshub.eai.tfs.common.metadata.impl.TFSMetadataImpl.getProjectsMeta(TFSMetadataImpl.java:64)
    at com.opshub.eai.tfs.common.metadata.impl.TFSMetadataImpl$$EnhancerByCGLIB$$171aa598.CGLIB$getProjectsMeta$5(<generated>)
    at com.opshub.eai.tfs.common.metadata.impl.TFSMetadataImpl$$EnhancerByCGLIB$$171aa598$$FastClassByCGLIB$$b1d799e5.invoke(<generated>)
    at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:167)
    at com.opshub.eai.core.adapters.caching.MetadataCacheHandler.intercept(MetadataCacheHandler.java:38)
    at com.opshub.eai.tfs.common.metadata.impl.TFSMetadataImpl$$EnhancerByCGLIB$$171aa598.getProjectsMeta(<generated>)
    at com.opshub.eai.config.business.ConfigServiceBusiness.getUserList(ConfigServiceBusiness.java:1041)
    at com.opshub.eai.config.service.ConfigServiceImpl.getUserList(ConfigServiceImpl.java:394)
    at com.opshub.eai.config.service.ConfigServiceImpl$$EnhancerByCGLIB$$b0a3c7db.CGLIB$getUserList$18(<generated>)
    at com.opshub.eai.config.service.ConfigServiceImpl$$EnhancerByCGLIB$$b0a3c7db$$FastClassByCGLIB$$d110172b.invoke(<generated>)
    at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:167)
    at com.opshub.eai.config.service.ServiceInterception.intercept(ServiceInterception.java:48)
    at com.opshub.eai.config.service.ConfigServiceImpl$$EnhancerByCGLIB$$b0a3c7db.getUserList(<generated>)
    at com.opshub.eai.config.service.ConfigService.getUserList(ConfigService.java:99)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
    at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
    at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
    at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
    at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
    at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
    at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)
    at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
    at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:745)

编辑 1: _JAVA_OPTIONS 的值:

-Dhttp.proxyHost=ourserver.ourcompany.com -Dhttp.proxyPort=8080 -Dhttp.proxyUser=domain\user -Dhttp.proxyPassword=password -Dhttps=false

【问题讨论】:

  • 机器是否在代理后面?
  • 是的,我们在代理服务器后面,但是我们添加了带有所需设置的 _JAVA_OPTIONS 环境变量。我已经用我们正在使用的环境变量的示例编辑了这个问题。
  • 您必须在代理设置中绕过 localhost。 TFS 服务在本地运行,但如果未绕过本地地址,您的计算机将通过代理路由请求。请参阅 C:\Program Files\OpsHub Visual Studio Migration Utility\Other_Resources\Resources\ProxyUtility.zip 并使用它来设置代理配置以及将本地绕过主机设置为默认值

标签: opshub azure-devops


【解决方案1】:

代理实用程序建议按照@OpshubInc 的描述工作。在他们最后的评论中。我已将建议放在下面以供将来参考。

您必须在代理设置中绕过 localhost。 TFS 服务在本地运行,但您的机器将路由请求 如果没有绕过本地地址,则通过代理。参考 C:\Program 文件\OpsHub Visual Studio 迁移 Utility\Other_Resources\Resources\ProxyUtility.zip 并使用它来设置 代理配置以及本地绕过主机设置为默认

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-08
    • 2015-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多