av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

消耗SOAP Web服務錯誤(未注冊封送處理程序請檢查WebServiceTemplate的配置)

瀏覽:92日期:2024-05-12 08:12:03
(adsbygoogle = window.adsbygoogle || []).push({}); 如何解決消耗SOAP Web服務錯誤(未注冊封送處理程序請檢查WebServiceTemplate的配置)?

在這種情況下,我無法像我一樣在Controller中實例化一個新對象:

ProcuraPMPorREClient pm = new ProcuraPMPorREClient();

代替此,我需要創建一個@Autowired對象,如下所示:

@Autowired ProcuraPMPorREClient pm;

之后,我只調用相同的例程:

ProcuraPMPorREResponse response = pm.getPMPorRE(123456); System.out.println(response.getProcuraPMPorREResult().getNomePM());

這很好。

解決方法

我遵循了入門-使用SOAP Web服務(https://spring.io/guides/gs/consumption-web-service/)來使用特定的Web服務,并且一切正常:

我做了配置類:

@Configurationpublic class PMConfiguration { @Bean public Jaxb2Marshaller marshaller() {Jaxb2Marshaller marshaller = new Jaxb2Marshaller();// this package must match the package in the <generatePackage> specified in// pom.xmlmarshaller.setContextPath('com.inteligenciaweb.wsdl');return marshaller; } @Bean public ProcuraPMPorREClient procuraPMPorREClient(Jaxb2Marshaller marshaller) {ProcuraPMPorREClient client = new ProcuraPMPorREClient();client.setDefaultUri('http://tempuri.org/procuraPMPorRE');client.setMarshaller(marshaller);client.setUnmarshaller(marshaller);return client; }

}

客戶:

public class ProcuraPMPorREClient extends WebServiceGatewaySupport { private static final Logger log = LoggerFactory.getLogger(ProcuraPMPorRE.class); public ProcuraPMPorREResponse getPMPorRE(Integer RE) {ProcuraPMPorRE request = new ProcuraPMPorRE();request.setPMRENum(RE);log.info('Requesting PM for ' + RE);ProcuraPMPorREResponse response = (ProcuraPMPorREResponse) getWebServiceTemplate().marshalSendAndReceive('http://webservices.externo.policiamilitar.sp.gov.br:8071/router/wsscpm/basic',request,new SoapActionCallback('http://tempuri.org/procuraPMPorRE'));return response; }}

在課堂上申請:

@SpringBootApplicationpublic class InteligenciawebApplication { public static void main(String[] args) {SpringApplication.run(InteligenciawebApplication.class,args); } @Bean CommandLineRunner lookup(ProcuraPMPorREClient pm) {return args -> { Integer re = 123456; ProcuraPMPorREResponse response = pm.getPMPorRE(re); System.err.println(response.getProcuraPMPorREResult().getNomeBancoPM());}; }}

啟動應用程序時,weservice調用工作正常,因此可以在控制臺上查看結果。我嘗試使用相同的邏輯在其他類中調用此Web服務,但無法正常工作。例如,我已經在ControllerClass上進行了測試:

@RequestMapping(value = '/soap',method = RequestMethod.GET)public String testeSoap() { ProcuraPMPorREClient pm = new ProcuraPMPorREClient(); ProcuraPMPorREResponse response = pm.getPMPorRE(123456); System.out.println(response.getProcuraPMPorREResult().getNomePM()); return null;}

在這種情況下,Web服務將無法運行,并且系統將顯示以下錯誤消息:java.lang.IllegalStateException:沒有注冊編組。檢查WebServiceTemplate的配置。我不知道為什么,但是Web服務只能在特定的地方工作,而不能在其他地方工作。如果有人知道會發生什么,我將不勝感激!謝謝!

標簽: web
相關文章:
主站蜘蛛池模板: 亚洲欧美在线观看 | 日韩av免费在线观看 | 国产精品久久久久久中文字 | 亚欧精品| 成人激情视频网 | 亚洲精品日韩在线 | 91小视频在线| 午夜视频一区二区 | 欧美色图综合网 | 日日日色 | 久久久国产精品 | 久久伊人一区二区 | 亚洲综合天堂 | 九九热这里 | 久久久久99| 国产精品久久久久久二区 | 国产精品一区二区三级 | 黄色成人在线网站 | 一级做a爰片性色毛片视频停止 | 欧美xxxⅹ性欧美大片 | 久久99精品国产自在现线小黄鸭 | 九色国产| 日韩色视频| 亚洲欧美在线视频 | 91免费小视频 | 一区二区三区中文字幕 | 第一福利社区1024 | 中文字幕国产 | 久久免费观看一级毛片 | 日韩av网址在线观看 | 亚洲成人精品在线 | 日韩精品无码一区二区三区 | 久久久99国产精品免费 | 成人免费久久 | 91亚洲精品久久久电影 | 午夜免费在线 | 色婷婷久久久亚洲一区二区三区 | 色婷婷婷婷色 | 国产精品久久久精品 | 亚洲成年在线 | 成人精品鲁一区一区二区 |