2011-02-14 30 views
7

Çalışma Alanımı RAD'de yayımlamaya çalıştığımda, "Aynı sınıf adı aynı pakette olduğu için," İki sınıfın aynı xml türü adı var "hatası alıyorum. iki farklı kavanoz. Ve @XmlType ek açıklamasının, bu sınıfların kaynaklarındaki öznitelik adı ve ad alanı için farklı değerlere sahip olması gerektiği anlaşılıyor. Apache CXF'de wsdl2java'yı denedim, ancak bu ad alanı niteliğini oluşturamıyorum. -p paketi seçeneğiyle uğraşmayı denedim, ancak bu yalnızca oluşturulan kaynakları belirtilen pakete yerleştirmek içindir.İki sınıf aynı xml türüne sahip

wsdl'de karşılaşılan her öğe için bu ad alanı özniteliğinin nasıl oluşturulacağı hakkında herhangi bir fikir var mı? TIA.

cevap

1

"submitData" adlı web hizmeti yöntemimden bir iade nesnesi olarak kullandığım "SubmitDataResponse" adlı bir nesne için bunu araştırdım. Nesneyi yeniden adlandırmayı denediğimde, hata gitti. Bana öyle geliyor ki CXF, metodun ismine dayanarak kendi iade nesnesini yaratıyor (bu durumda submitData() -> "SubmitDataResponse"). Sınıfı yeniden adlandırmayı denemek ve aynı soruna sahip olup olmadığınızı görmek isteyebilirsiniz. Belki de birisi sınıfımızın istediğimiz şekilde (muhtemelen bazı açıklamalarla birlikte) adını vermesi için bir yol bulabilir.

Umarım bu yardımcı olur. Daniel'in anwser için

+0

Takip: @XmlType (namespace = "com ekledim .company.example ") orijinal geri döndürme nesnesi sınıfına ve çalıştı. Bu yüzden, XmlType.namespace ek açıklamasını kullandığım sürece iade nesne sınıfımı yeniden adlandırmam gerekmedi. – HawkeyeFan

+0

HawkeyeFan, Cevabınız için teşekkürler, ama, hayır, bu, karşı karşıya olduğum konu değil. Aynı paket isimlerine sahip iki kavanozda iki sınıf vardı. Sonunda, onlardan birini kaldırmak ve onunla yaşamak zorunda kaldım. Evet, namespace özniteliği bunu düzeltiyor gibi görünüyor, ancak wsdl2java onu üretebilir mi? belki bir şeyi belirtmem/yapılandırmalıyım? – asgs

+0

Ayrıca, bu iki kavanozda çoğaltılan birçok başka sınıf vardı (muhtemelen iki WSDL'nin çok benzer olması nedeniyle). Bu yüzden güncellenmiş bir WSDL aldım ve bu yüzden oluşturulan jar herhangi bir kopya içermiyordu. – asgs