我正在努力生成一个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>