在WSDL中生成与操作名称不同的输入名称

时间:2019-08-21 08:44:13

标签: java xml soap wsdl jax-ws

我正在努力生成一个wsdl文件,该文件的输入名称与操作名称不同。输入的消息名称空间必须与操作名称相同。

我尝试了@WebMethod(operationName)和@ResponseWrapper的几种组合,但是输入消息,输入名称和操作名称似乎高度耦合。

@WebService(name = "PaymentReturnERPOccuredBulkNotification_Out")
@SOAPBinding(style= SOAPBinding.Style.RPC, use= SOAPBinding.Use.LITERAL)
public interface SapBankReturnsEndpoint {

  @WebMethod(operationName = "PaymentReturnERPOccuredBulkNotification_Out")
  @RequestWrapper(localName = "output", className = "com.airplus.master.event.sap.bank.returns.model.PaymentReturnERPOccuredBulkNotification")
  @Oneway
  void output(@WebParam(name = "messageHeader")TnsBusinessDocumentMessageHeader messageHeader, @WebParam(name = "paymentReturnERPOccuredNotification") List<TnsPaytRetERPOccuredNotifPaytRetMsg> paymentReturnERPOccuredNotification)
      throws JsonProcessingException;

当前,微服务是这样生成的:

<wsdl:operation name="PaymentReturnERPOccuredBulkNotification_Out">
<wsdl:input message="tns:PaymentReturnERPOccuredBulkNotification_Out" name="PaymentReturnERPOccuredBulkNotification_Out"> </wsdl:input>
</wsdl:operation>

它必须是:

<wsdl:operation name="PaymentReturnERPOccuredBulkNotification_Out">
<wsdl:input message="tns:PaymentReturnERPOccuredBulkNotification_Out" name="output"> </wsdl:input>
</wsdl:operation>

0 个答案:

没有答案