OpsHub Visual Studio 迁移实用程序 MetadataException

OpsHub Visual Studio Migration Utility MetadataException

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

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}

服务似乎 运行 不错。有什么想法吗?

更多信息来自 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$1aa598.CGLIB$getProjectsMeta(<generated>)
    at com.opshub.eai.tfs.common.metadata.impl.TFSMetadataImpl$$EnhancerByCGLIB$1aa598$$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$1aa598.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(<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

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

You will have to bypass localhost in your proxy settings. The TFS Service is running locally but your machine will route the request through proxy if local address is not bypassed. Refer C:\Program Files\OpsHub Visual Studio Migration Utility\Other_Resources\Resources\ProxyUtility.zip and use it to set proxy configuration along with local bypass host set to default