2016-08-23 60 views
5

Spring Boot SOAP Web Hizmeti Örneği projesini kullanarak SOAP web hizmeti oluşturuyorum. Dinamik olarak oluşturulmuş WSDL aşağıdaki kodu kullanırsam, İşlemleri gösterir.SpringBoot SOAP web hizmeti Dinamik WSDL üretimi çalışmıyor RequestPayload öğesinden RequestPayload öğesinden kaldır

@PayloadRoot(namespace = NAMESPACE_URI, localPart = "AvailNotifRequest") 
@ResponsePayload 
public OTAHotelAvailNotifRS getAvailNotif(@RequestPayload AvailNotifRequest request) { 

Ancak bunun gibi bir öğe isteğine ihtiyacım var.

@PayloadRoot(namespace = NAMESPACE_URI, localPart = "OTAHotelAvailNotifRQ") 
@ResponsePayload 
public OTAHotelAvailNotifRS getOTAHotelAvailNotifRQ(@RequestPayload OTAHotelAvailNotifRQ request) { 

Ben Spring web service dynamic wsdl not generating message for a schema element cevap tekrar AvailNotifRequest gibi istek öğeden sonra sonek İsteği eklemem gerekiyor ama benim isteği girdi olarak OTAHotelAvailNotifRQ kullanmak istiyorum diyor bu bağlantıyı benzer bir soru bulundu. Bunu nasıl istek değiştirdiğimde, wsdl'de işlem gerçekleştiremediğim için bunu nasıl kullanabilirim? official Spring-WS documentation göre

cevap

1

:

< dinamik wsdl> kuralları kullanarak bir XSD şeması bir WSDL oluşturur. Şemada bulunan tüm eleman elemanlarını yineler ve tüm öğeler için bir mesaj oluşturur. Ardından, tanımlanan istek veya yanıt son eki ile biten tüm iletiler için WSDL işlemi oluşturur. Varsayılan istek sonek İsteğidir; varsayılan yanıt eki, Yanıt'dır, ancak bunlar, sırasıyla, requestSuffix ve responseSuffix öznitelikleri < dinamik-wsdl /> olarak ayarlanarak değiştirilebilir.

Başka bir deyişle varsayılan bir farklı bir istek ve yanıt eki belirtmek amacıyla DefaultWsdl11Definition üzerine setRequestSuffix ve setResponseSuffix kullanabilirsiniz. Yukarıdaki durumda, örneğin:

wsdl11Definition.setRequestSuffix("RQ"); 
wsdl11Definition.setResponseSuffix("RS");