2010-01-26 14 views
10

@WebService ek açıklamasını kullanarak bir Java sınıfından bir WSDL oluşturuyorum ve Maven yapı hedefi tarafından tetiklenen wsgen çalışıyorum.wsgen ve maven kullanarak Java'dan WSDL oluştururken yöntem parametreleri adlarını kullanın.

Oluşturduğum sorun, üretilen WSDL, web hizmeti işlemlerinin parametrelerini koddan parametre adlarını kullanmak yerine arg0, ar1, arg2 vb. Bu adlar, neyin geçilmesi gerektiğini anlamaya çalışan hizmet istemcilerine yardımcı olmuyor.

Wsgen'in yöntem adlarını yöntemden alıp kullanması için bir yol var mı? yöntem veya wsgen'e gönderilen bir parametre?

Teşekkürler!

cevap

15

@WebParam ek açıklamasını kullanın.

@WebMethod 
public void thisMethodHasAWebParam(@WebParam(name="param1") String arg1) { 
} 
+0

Bunu yapmanın kolay bir yolu olması gerektiğini biliyordum. Çok teşekkürler! – Vinnie

+3

Bu işe yarıyor. Ama bu aşırı derecede gereksiz değil mi? Bayt kodundaki yöntem imzalarının parametre adlarını korumadığını biliyorum, ancak araç aynı zamanda kaynak koduna da bakamıyor mu? – Thilo

+1

Kod oluştururken WSDL dosya URL'sini kullandığı için kaynak koduna nasıl bakabilir. Ve çalışma zamanında WSDL dosyası oluşturulur. –

İlgili konular