簡體   English   中英

SOAP 調用在 websphere 上部署時失敗,但在 tomcat 上工作正常

[英]SOAP call fails when deployed on websphere but works fine on tomcat

我有一個 spring boot soap 客戶端,當我在 tomcat 上運行它時工作正常,但是當我在 websphere 上部署相同的客戶端時,SOAP 調用失敗並顯示以下消息。 它抱怨說

沒有命名空間限定的 SOAPHeaderElement。 SOAPHeaderElement localName 是 clientVersion; 前綴為空:命名空間為空。

public void doWithMessage(WebServiceMessage message) {
    try {
        SoapMessage soapMessage = (SoapMessage) message;
        SoapHeader header = soapMessage.getSoapHeader();
        StringSource headerSource = new StringSource(
                "<clientVersion>" + clientVersionNumber + "</clientVersion>");
        Transformer transformer = TransformerFactory.newInstance().newTransformer();
        transformer.transform(headerSource, header.getResult());
    } catch (Exception e) {
        e.printStackTrace();
    }
}

[24/02/20 15:06:56:239 EST] 000000c7 SystemErr     R FATAL ERROR:  'java.lang.RuntimeException: javax.xml.soap.SOAPException: WSWS4119E: An attempt was made to set a SOAPHeaderElement that was not namespace qualified. The SOAPHeaderElement localName is clientVersion; prefix is null: namespace is null.'
           :javax.xml.soap.SOAPException: WSWS4119E: An attempt was made to set a SOAPHeaderElement that was not namespace qualified. The SOAPHeaderElement localName is clientVersion; prefix is null: namespace is null.
[24/02/20 15:06:56:342 EST] 000000c6 AxisEngine    E org.apache.axis2.engine.AxisEngine receive An error was detected during JAXWS processing
                                 org.apache.axis2.AxisFault: An error was detected during JAXWS processing
    at org.apache.axis2.jaxws.server.JAXWSMessageReceiver.receive(JAXWSMessageReceiver.java:208)
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:212)
    at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
    at com.ibm.ws.websvcs.transport.http.WASAxis2Servlet.doPost(WASAxis2Servlet.java:1633)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1235)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:779)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:179)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1124)
    at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:82)
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:963)
    at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1817)
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:382)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:532)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:318)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:289)
    at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
    at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
    at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1909)

[24/02/20 15:06:56:376 EST] 000000c7 SystemOut     O Excpetion caught: null
[24/02/20 15:06:56:361 EST] 000000c7 SystemErr     R org.springframework.ws.soap.client.SoapFaultClientException: Internal Error
[24/02/20 15:06:56:361 EST] 000000c7 SystemErr     R    at org.springframework.ws.soap.client.core.SoapFaultMessageResolver.resolveFault(SoapFaultMessageResolver.java:38)
[24/02/20 15:06:56:361 EST] 000000c7 SystemErr     R    at org.springframework.ws.client.core.WebServiceTemplate.handleFault(WebServiceTemplate.java:830)
[24/02/20 15:06:56:361 EST] 000000c7 SystemErr     R    at org.springframework.ws.client.core.WebServiceTemplate.doSendAndReceive(WebServiceTemplate.java:624)
[24/02/20 15:06:56:362 EST] 000000c7 SystemErr     R    at org.springframework.ws.client.core.WebServiceTemplate.sendAndReceive(WebServiceTemplate.java:555)
[24/02/20 15:06:56:362 EST] 000000c7 SystemErr     R    at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:390)
[24/02/20 15:06:56:362 EST] 000000c7 SystemErr     R    at client.tphehtvc.service.SoapClient.callRemoteService(SoapClient.java:89)
[24/02/20 15:06:56:362 EST] 000000c7 SystemErr     R    at client.tphehtvc.service.SoapClient.getScheduledWorkHH(SoapClient.java:142)
[24/02/20 15:06:56:362 EST] 000000c7 SystemErr     R    at client.tphehtvc.controller.ScheduleWork.getScheduledWorkHH(ScheduleWork.java:416)
[24/02/20 15:06:56:362 EST] 000000c7 SystemErr     R    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[24/02/20 15:06:56:362 EST] 000000c7 SystemErr     R    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
[24/02/20 15:06:56:362 EST] 000000c7 SystemErr     R    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
[24/02/20 15:06:56:362 EST] 000000c7 SystemErr     R    at java.lang.reflect.Method.invoke(Method.java:508)
[24/02/20 15:06:56:363 EST] 000000c7 SystemErr     R    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
[24/02/20 15:06:56:363 EST] 000000c7 SystemErr     R    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
[24/02/20 15:06:56:363 EST] 000000c7 SystemErr     R    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)
[24/02/20 15:06:56:363 EST] 000000c7 SystemErr     R    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:888)
[24/02/20 15:06:56:363 EST] 000000c7 SystemErr     R    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:793)
[24/02/20 15:06:56:363 EST] 000000c7 SystemErr     R    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
[24/02/20 15:06:56:363 EST] 000000c7 SystemErr     R    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
[24/02/20 15:06:56:363 EST] 000000c7 SystemErr     R    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
[24/02/20 15:06:56:363 EST] 000000c7 SystemErr     R    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
[24/02/20 15:06:56:364 EST] 000000c7 SystemErr     R    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
[24/02/20 15:06:56:364 EST] 000000c7 SystemErr     R    at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
[24/02/20 15:06:56:364 EST] 000000c7 SystemErr     R    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
[24/02/20 15:06:56:364 EST] 000000c7 SystemErr     R    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
[24/02/20 15:06:56:364 EST] 000000c7 SystemErr     R    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1235)
[24/02/20 15:06:56:364 EST] 000000c7 SystemErr     R    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:779)
[24/02/20 15:06:56:364 EST] 000000c7 SystemErr     R    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
[24/02/20 15:06:56:364 EST] 000000c7 SystemErr     R    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:179)
[24/02/20 15:06:56:364 EST] 000000c7 SystemErr     R    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:143)
[24/02/20 15:06:56:365 EST] 000000c7 SystemErr     R    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:96)
[24/02/20 15:06:56:365 EST] 000000c7 SystemErr     R    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320)
[24/02/20 15:06:56:365 EST] 000000c7 SystemErr     R    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126)
[24/02/20 15:06:56:365 EST] 000000c7 SystemErr     R    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90)
[24/02/20 15:06:56:365 EST] 000000c7 SystemErr     R    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
[24/02/20 15:06:56:365 EST] 000000c7 SystemErr     R    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:118)
[24/02/20 15:06:56:365 EST] 000000c7 SystemErr     R    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
[24/02/20 15:06:56:365 EST] 000000c7 SystemErr     R    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
[24/02/20 15:06:56:365 EST] 000000c7 SystemErr     R    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
[24/02/20 15:06:56:366 EST] 000000c7 SystemErr     R    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
[24/02/20 15:06:56:366 EST] 000000c7 SystemErr     R    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
[24/02/20 15:06:56:366 EST] 000000c7 SystemErr     R    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:158)
[24/02/20 15:06:56:366 EST] 000000c7 SystemErr     R    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
[24/02/20 15:06:56:366 EST] 000000c7 SystemErr     R    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
[24/02/20 15:06:56:366 EST] 000000c7 SystemErr     R    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
[24/02/20 15:06:56:366 EST] 000000c7 SystemErr     R    at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
[24/02/20 15:06:56:366 EST] 000000c7 SystemErr     R    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
[24/02/20 15:06:56:367 EST] 000000c7 SystemErr     R    at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)
[24/02/20 15:06:56:367 EST] 000000c7 SystemErr     R    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
[24/02/20 15:06:56:367 EST] 000000c7 SystemErr     R    at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:92)
[24/02/20 15:06:56:367 EST] 000000c7 SystemErr     R    at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:77)
[24/02/20 15:06:56:367 EST] 000000c7 SystemErr     R    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
[24/02/20 15:06:56:367 EST] 000000c7 SystemErr     R    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
[24/02/20 15:06:56:367 EST] 000000c7 SystemErr     R    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
[24/02/20 15:06:56:367 EST] 000000c7 SystemErr     R    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
[24/02/20 15:06:56:367 EST] 000000c7 SystemErr     R    at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
[24/02/20 15:06:56:368 EST] 000000c7 SystemErr     R    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
[24/02/20 15:06:56:368 EST] 000000c7 SystemErr     R    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
[24/02/20 15:06:56:368 EST] 000000c7 SystemErr     R    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)
[24/02/20 15:06:56:368 EST] 000000c7 SystemErr     R    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)
[24/02/20 15:06:56:368 EST] 000000c7 SystemErr     R    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)
[24/02/20 15:06:56:368 EST] 000000c7 SystemErr     R    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)
[24/02/20 15:06:56:368 EST] 000000c7 SystemErr     R    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:197)
[24/02/20 15:06:56:369 EST] 000000c7 SystemErr     R    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:90)
[24/02/20 15:06:56:369 EST] 000000c7 SystemErr     R    at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
[24/02/20 15:06:56:369 EST] 000000c7 SystemErr     R    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
[24/02/20 15:06:56:369 EST] 000000c7 SystemErr     R    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:197)
[24/02/20 15:06:56:369 EST] 000000c7 SystemErr     R    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:90)
[24/02/20 15:06:56:369 EST] 000000c7 SystemErr     R    at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
[24/02/20 15:06:56:369 EST] 000000c7 SystemErr     R    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
[24/02/20 15:06:56:369 EST] 000000c7 SystemErr     R    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:197)
[24/02/20 15:06:56:369 EST] 000000c7 SystemErr     R    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:90)
[24/02/20 15:06:56:370 EST] 000000c7 SystemErr     R    at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
[24/02/20 15:06:56:370 EST] 000000c7 SystemErr     R    at org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
[24/02/20 15:06:56:370 EST] 000000c7 SystemErr     R    at org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
[24/02/20 15:06:56:370 EST] 000000c7 SystemErr     R    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
[24/02/20 15:06:56:370 EST] 000000c7 SystemErr     R    at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
[24/02/20 15:06:56:370 EST] 000000c7 SystemErr     R    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:197)
[24/02/20 15:06:56:370 EST] 000000c7 SystemErr     R    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:90)
[24/02/20 15:06:56:371 EST] 000000c7 SystemErr     R    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
[24/02/20 15:06:56:371 EST] 000000c7 SystemErr     R    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
[24/02/20 15:06:56:371 EST] 000000c7 SystemErr     R    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:197)
[24/02/20 15:06:56:372 EST] 000000c7 SystemErr     R    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:90)
[24/02/20 15:06:56:372 EST] 000000c7 SystemErr     R    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:969)
[24/02/20 15:06:56:372 EST] 000000c7 SystemErr     R    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1109)
[24/02/20 15:06:56:372 EST] 000000c7 SystemErr     R    at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:4219)
[24/02/20 15:06:56:373 EST] 000000c7 SystemErr     R    at com.ibm.ws.webcontainer.webapp.WebAppImpl.handleRequest(WebAppImpl.java:2208)
[24/02/20 15:06:56:373 EST] 000000c7 SystemErr     R    at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304)
[24/02/20 15:06:56:373 EST] 000000c7 SystemErr     R    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1030)
[24/02/20 15:06:56:373 EST] 000000c7 SystemErr     R    at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1817)
[24/02/20 15:06:56:374 EST] 000000c7 SystemErr     R    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:382)
[24/02/20 15:06:56:374 EST] 000000c7 SystemErr     R    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
[24/02/20 15:06:56:374 EST] 000000c7 SystemErr     R    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:532)
[24/02/20 15:06:56:374 EST] 000000c7 SystemErr     R    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:318)
[24/02/20 15:06:56:375 EST] 000000c7 SystemErr     R    at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88)
[24/02/20 15:06:56:375 EST] 000000c7 SystemErr     R    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
[24/02/20 15:06:56:375 EST] 000000c7 SystemErr     R    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
[24/02/20 15:06:56:375 EST] 000000c7 SystemErr     R    at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
[24/02/20 15:06:56:375 EST] 000000c7 SystemErr     R    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
[24/02/20 15:06:56:375 EST] 000000c7 SystemErr     R    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
[24/02/20 15:06:56:375 EST] 000000c7 SystemErr     R    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
[24/02/20 15:06:56:375 EST] 000000c7 SystemErr     R    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
[24/02/20 15:06:56:375 EST] 000000c7 SystemErr     R    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1909)

有人可以告訴我如何正確設置SOAPHeaderElement嗎?

我找到了這個問題的兩種解決方案。

  1. 更改 Web 模塊的 classloaderMode="PARENT_LAST"。
  2. 使用 SoapHeaderElement 而不是 StringSource

     public void doWithMessage(WebServiceMessage message) { try { SoapMessage soapMessage = (SoapMessage) message; SoapHeader header = soapMessage.getSoapHeader(); SoapHeaderElement messageId = header.addHeaderElement( new QName("http://<namespace>", "clientVersion", "")); messageId.setText(clientVersionNumber); } catch (Exception e) { e.printStackTrace(); } }

我自己從來沒有嘗試過,但首先要做的是。 WebServiceMessage 對象看起來像是 Spring 的 Web 服務實現的一部分。 如果您計划使用除 WebSphere 附帶的 Web 服務實現之外的任何其他 Web 服務實現,則需要禁用它。 您可以在此處了解如何執行此操作:

https://www.ibm.com/support/knowledgecenter/SS7K4U_9.0.5/com.ibm.websphere.zseries.doc/ae/twbs_thirdparty.html

僅此一項就可能解決您的問題,但如果您想使用 WebSphere 的 JAX-WS 實現,則刪除對 Spring Web 服務 API 的引用,並按照 WebSphere 知識中心中有關如何使用處理程序創建 SOAPHeaderElement 的文檔進行操作:

https://www.ibm.com/support/knowledgecenter/SS8JB4/com.ibm.wbpm.wid.integ.doc/webservice/topics/rsoapheaderjaxws.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM