TFS SDK 11.0.0 - Не удается сохранить WorkItem - workItem.save () - java.lang.NullPointerException - PullRequest
0 голосов
/ 26 апреля 2019

Мы используем TFS SDK версии 11.0.0, подключаем «TFS: 2015 обновление 3», чтобы получать данные и создавать дефекты (ошибка, ошибка, ...) через API.Однако мы сталкиваемся с NullPointerException при создании нового дефекта с помощью метода workItem.save ().Используем ли мы правильную версию TFS SDK с «TFS 2-15 update 3»?Если да, то почему это происходит через исключение.

        <dependency>
            <groupId>com.microsoft.tfs.sdk</groupId>
            <artifactId>com.microsoft.tfs.sdk</artifactId>
            <version>11.0.0</version>
        </dependency>

Код Java: ПРИМЕЧАНИЕ. Сначала проверяем workItem перед сохранением.Используйте workItem.isValid () ---> return TRUE

https://github.com/denimgroup/threadfix/blob/2.3/threadfix-main/src/main/java/com/denimgroup/threadfix/service/defects/utils/tfs/TFSClientImpl.java

public String createDefect (String projectName, метаданные DefectMetadata, описание String) {....... if (checkItemValues ​​(item)) {item.save ();// Выдает NullPointerException HERE} else {LOG.error ("Не удалось создать проблему, поскольку одно или несколько полей были недействительными." + "Проверьте указанные журналы для получения дополнительной информации.");} .......}

Сведения об исключении: WARN [http-nio-8080-exec-3] TFSClientImpl.createDefect (421) |При попытке получить продукты возникла исключительная ситуация TFSUnauthorizedException.java.lang.NullPointerException по адресу com.fasterxml.aalto.out.ByteXmlWriter.writeAttribute (ByteXmlWriter.java:461) по адресу com.fasterxml.aalto.out.StreamWriterBase._writeDefaultNamespace (StreamWriterB66.a.out.NonRepairingStreamWriter.writeDefaultNamespace (NonRepairingStreamWriter.java:107) в com.microsoft.tfs.core.ws.runtime.types.DOMAnyContentType.writeElement (DOMAnyContentType.java:306) в com.coretypes.DOMAnyContentType.writeElements (DOMAnyContentType.java:274) в com.microsoft.tfs.core.ws.runtime.types.DOMAnyContentType.writeAsElement (DOMAnyContentType.java:151) в ms.tfs.workli.sertewriteAsElement (_ClientService5Soap_Update.java:83) по адресу ms.tfs.workitemtracking.clientservices._03._ClientService5Soap12Service $ 35.writeSOAPRequest (_ClientSerest5Soestest12W.Requity.WIQRequery.WeW.WEWEWEWEWEQUE.WEQUE.WEQUE.WEQUE.QUE.WEQUE.QUE.WEQUE.QUE.WEQUE.WEQUE.QUE.WEQUE.WEQUE.EQUE.java: 94) на com.microsoft.tfs.core.ws.runtime.client.BufferedSOAPRequestEntity.ensureRequestIsBuffered (BufferedSOAPRequestEntity.java:133) по адресу com.microsoft.tfs.core.ws.runtime.client.BufferedSOAPRequestEntity.getContentRej.jpg ()microsoft.tfs.core.httpclient.methods.EntityEnclosingMethod.getRequestContentLength (EntityEnclosingMethod.java:391) в com.microsoft.tfs.core.httpclient.methods. Entitycore.httpclient.methods.EntityEnclosingMethod.addRequestHeaders (EntityEnclosingMethod.java:436) на com.microsoft.tfs.core.httpclient.HttpMethodBase.writeRequest.HettpwriteRequest (HttpMethodBase.java:2451) на com.microsoft.tfs.core.httpclient.HttpMethodBase.execute (HttpMethodBase.java:1313) на com.microsoft.tfs.core.httpclient.Httpна com.microsoft.tfs.core.httpclient.HttpMethodDirector.executeMethod (HttpMethodDirector.java:197) по адресу com.microsoft.tfs.core.httpclient.HttpClient.executeMethod (HttpClient.jp.soft.64.64).HttpClient.executeMethod (HttpClient.java:376) в com.microsoft.tfs.core.ws.runtime.client.SOAPService.executeSOAPRequestInternal (SOAPService.java:588) в com.microsoft.tfs.core.ws.runtime.SOAPService.executeSOAPRequest (SOAPService.java:473) по адресу ms.tfs.workitemtracking.clientservices._03._ClientService5Soap12Service.update (_ClientService5Soap12Service.jack:upli.upli.jp.index.datex.catec.обновление (BaseUpdatePackage.java:88) по адресу com.microsoft.tfs.core.clients.workitem.internal.WorkItemImpl.internalSave (WorkItemImpl.java:673)на com.microsoft.tfs.core.clients.workitem.internal.WorkItemImpl.save (WorkItemImpl.java:388) в com.denimgroup.threadfix.service.defects.utils.tfs.TFSClientImpl.createDefect (TFSClientImpl.java:411) в com.denimgroup.threadfix.service.defects.TFSDefectTracker.createDefect (TFSDefectTracker.java:77) в com.denimgroup.threadfix.service.DefectSubmissionServiceImpl.submitDefect (DefectSubmissionServiceImpl.java:42) в com.denimgroup.threadfix.service.DefectServiceImpl.createDefect (DefectServiceImpl.java:267) at sun.reflect.GeneratedMethodAccessor4695.invoke (неизвестный источник) в java.lang.reflect.Method.invoke (Method.java:498) в org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection (AopUtils.java:317) в org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint (ReflectiveMethodInvocation.java:190) в org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:157) в org.springframework.transaction.interceptor.TransactionInterceptor $ 1.proceedWithInvocation (TransactionInterceptor.java:99) в org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction (TransactionAspectSupport.java:281) в org.springframework.transaction.interceptor.TransactionInterceptor.invoke (TransactionInterceptor.java:96) в org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:179) в org.springframework.aop.framework.JdkDynamicAopProxy.invoke (JdkDynamicAopProxy.java:207) в com.sun.proxy. $ Proxy101.createDefect (Неизвестный источник) в com.denimgroup.threadfix.webapp.controller.DefectsController.onSubmit (DefectsController.java:112) at sun.reflect.GeneratedMethodAccessor4689.invoke (неизвестный источник) в java.lang.reflect.Method.invoke (Method.java:498) в org.springframework.web.method.support.InvocableHandlerMethod.doInvoke (InvocableHandlerMethod.java:222) в org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest (InvocableHandlerMethod.java:137) в org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle (ServletInvocableHandlerMethod.java:110) в org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod (RequestMappingHandlerAdapter.java:775) в org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal (RequestMappingHandlerAdapter.java:705) в org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle (AbstractHandlerMethodAdapter.java:85) в org.springframework.web.servlet.DispatcherServlet.doDispatch (DispatcherServlet.java:959) в org.springframework.web.servlet.DispatcherServlet.doService (DispatcherServlet.java:893) в org.springframework.web.servlet.FrameworkServlet.processRequest (FrameworkServlet.java:965) в org.springframework.web.servlet.FrameworkServlet.doPost (FrameworkServlet.java:867) на javax.servlet.http.HttpServlet.service (HttpServlet.java:648) в org.springframework.web.servlet.FrameworkServlet.service (FrameworkServlet.java:841) на javax.servlet.http.HttpServlet.service (HttpServlet.java:729) в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:292) в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:207) в org.apache.tomcat.websocket.server.WsFilter.doFilter (WsFilter.java:52) в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:240) в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:207) в org.apache.catalina.core.ApplicationDispatcher.invoke (ApplicationDispatcher.java:720) в org.apache.catalina.core.ApplicationDispatcher.processRequest (ApplicationDispatcher.java:466)в org.apache.catalina.core.ApplicationDispatcher.doForward (ApplicationDispatcher.java:391) в org.apache.catalina.core.ApplicationDispatcher.forward (ApplicationDispatcher.java:318) в org.tuckey.web.filters.urlrewrittenNormal.Nor.doRewrite (NormalRewrittenUrl.java:213) по адресу org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite (RuleChain.java:171) по адресу org.tuckey.web.filters.urlrewrite.RuleChain.doR45jjle (Rule)) в org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest (UrlRewriter.java:92) в org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter (UrlRewriteFilter.java:389) в org.ache.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:240) по адресу org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:207) по адресу org.springframework.orm.hibernate3.InFirst.InterForm.InterForm.ServerInserFid.InterFile.InterFile.InterFile.Sterm.Server.InterFid.InterFire.InterFire.InterFire.InterFile.InterFile.InterFile.InterFile.InterForm231) в org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:107) в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:240) в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.ixf.fiff.jav.java.java: jav..webapp.filter.CsrfPreventionFilter.: 207) at com.denimgroup.threadfix.webapp.filter.ClickjackHeaderFilter.doFilter (ClickjackHeaderFilter.java:36) по адресу org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChaap.g.ina.cat. org.j.ag.j ::core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:207) в com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter (SiteMeshFilter.java:65) в org.apache.catalina.core.ApplicationFilterFilterFilterCilterв орг.аpache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:207) по адресу org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal (CharacterEncodingFilter.jest:java: 107) в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:240) в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:20secfweg.wera.wera.werag.werag.werag.werag.web)..FilterChainProxy..doFilter (FilterSecurityInterceptor.java:84) в org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) в org.springframework.security.web.access.ExceptionTranslationFilter.103) по адресу org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) по адресу org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter (Anonymous)..web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) в org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter (SecurityContextHolderAwareReestFF)в org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) в org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter (RequestCacheAj.serg:.FilterChainProxy..security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) в org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter (AbstractAuthenticationProcessingFilter.java: 199) по адресу org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) по адресу org.springframework.security.web.authentication.logout.LogoutFilter.doFilter (LogoutFilter (LogoutFilter)): at0.springframework.security.web..filter..java: 125) в org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) в com.denimgroup.threadfix.webapp.filter.SessionTimeoutFilter.doFilter: SavaTimeв org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) в org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter (SecurityContext.pr).FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) в org.springframework.security.saml.metadata.MetadataGeneratorFilter.doFilter (MetadataGeneratorFilter.java:87).java: 342) по адресу org.springframework.security.web.FilterChainProxy.doFilterInternal (FilterChainProxy.java:192) по адресу org.springframework.security.web.FilterChainProxy.doFilter (FilterChainProxy.jwork.spring.prg.filter.DelegatingFilterProxy.invokeDelegate (DelegatingFilterProxy.java:344) в org.springframework.web.filter.DelegatingFilterProxy.doFilter (DelegatingFilterProxy.java:261) в org.apache.catalina.core.Appiltern.internalDoFilter (ApplicationFilterChain.java:240) в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:207) в com.denimgroup.threadfix.webapp.filter.EnterpriseFilter (Enterprise )FF:по адресу org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:240) по адресу org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:207) в com.denustfilter..doFilter (CacheBustFilter.java:61) по адресу org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:240) по адресу org.apache.catalina.core.ApplicationFilterChain.doFilter: atFilter (at).apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:212)по адресу org.apache.catalina.core.StandardContextValve .__ invoke (StandardContextValve.java:106) по адресу org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java) по адресу org.apache.catalst.Valove.Vaveta.java: 141) в org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java) в org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:79) в org.apache.catalina.val.AbstractAccessLogValve.invoke (AbstractAccessLogValve.java:616) по адресу org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:88) по адресу org.apache.catalina.connector.CoyoteAdapter.ser22: oryote (oryote) atjote (atjote) atjote (atjote) atgote (atjote) atjote).apache.coyote.http11.AbstractHttp11Processor.process (AbstractHttp11Processor.java:1095) в org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process (AbstractProtocol.java:672) в org.apache.tomcat.cessPro $ Socket.doRun (NioEndpoint.java:1502) в org.apache.tomcat.util.net.NioEndpoint $ SocketProcess.run (NioEndpoint.java:1458) в java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1142) в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolEx6ache atjava) atj..tomcat.util.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...