有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何向被请求方发送客户端的SOAP响应

我正在开发一个Spring引导应用程序,它充当两个组件之间的通道。它使用SOAP请求并生成SOAP响应

例如:-

A->;主叫方
B->;我的组件
C->;客户方

A<-&燃气轮机;B<-&燃气轮机;C

以前,A和C直接通过SOAP操作相互连接。C方正在使用RPC编码的WSDL

我已经使用下面的代码部署了party C WSDL接口。因为我需要将请求转发给C并处理来自A的请求

使用如下所示的@Endpoint注释和@XPathParam读取标记值来创建端点

我想将来自C方的SOAP响应返回给A方,但我不知道如何将来自C方的SOAP响应返回给A方

一个提示会很有帮助

@Bean
public Wsdl11Definition wsdl11Definition(){
  SimpleWsdl11Definition simpleWsdl11Definition = new SimpleWsdl11Definition();
  simpleWsdl11Definition.setWsdl(new ClassPathResource("/wsdl/calculator.wsdl"));
  return simpleWsdl11Definition;
}

@Bean
public ServletRegistrationBean<MessageDispatcherServlet>
  messageDispatcherServlet(ApplicationContext applicationContext){
  MessageDispatcherServlet messageDispatcherServlet = new MessageDispatcherServlet();
  messageDispatcherServlet.setApplicationContext(applicationContext);
  return new ServletRegistrationBean<>(messageDispatcherServlet, "/medium/ws/*");
}
@ResponsePayload
@PayloadRoot(namespace = "http://medium.com/types/calculator", localPart = "AdditionInput")
public Output addition(@XPathParam("lineId") String lineID){
  // Calling Party C and creating Request Using Apache Axis tool for party C
  // String response = SOAP Response from Party C.
}

共 (1) 个答案

  1. # 1 楼答案

    我在使用请求并将此请求转发给C时部署了客户端WSDL。 所以,我创建了我的one对象,并将C响应的值映射到该对象中。我已将该对象返回作为响应。使用拦截器,我已将该对象转换为所需的响应