Her birinde aynı ad alanı olan birkaç XML Şeması içeren bir WSDL dosyası var (buna A diyelim). Bu şemalar için oluşturulan paket adını değiştirmek için bir JAXB harici ciltleme dosyası kullanmaya çalışıyorum. İşte bir örnek:CXF: JAXB dış bağlama dosyasını kullanarak WSDL içe aktarılan XML Şeması paketini nasıl değiştirebilirim?
WSDL'den kod oluşturma yapılandırmasını içeren bir POM dosyasına sahibim (cxf-codegen-plugin kullanarak).
Benim WSDL:
<definitions ...>
<types>
<xsd:schema elementFormDefault="qualified" targetNamespace="C">
<xsd:import namespace="A" schemaLocation="SCHEMA_REF"/>
<xsd:import namespace="A" schemaLocation="SCHEMA_REF"/>
...
</xsd:schema>
</types>
...
</definitions>
Burada hiç işe, (... hiçbir hata mesajı) hepsi de uygulanmaz görünüyor gelmez benim gerçek bağlama dosyasıdır. Ben ithal şemaya erişmek için kullanılan XPath ifadesi değil iyidir çünkü nesil herhangi bir hata mesajı belki öyle olmadığı için
<jaxws:bindings wsdlLocation="WSDL_LOCATION" xmlns:jaxws="http://java.sun.com/xml/ns/jaxws" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" jaxb:version="2.0">
<jaxws:bindings node="wsdl:definitions/wsdl:types/xs:schema[@targetNamespace='C']/xs:import[@namespace='A']">.
<jaxb:schemaBindings>
<jaxb:package name="B" />
</jaxb:schemaBindings>
</jaxws:bindings>
</jaxws:bindings>
...
siz herhangi bir ipucu var mı? Burada sıkışmış durumdayım ...Girişleriniz için şimdiden teşekkür ederiz!
Cevabınız için teşekkürler, şu anda bu konu üzerinde çalışmıyorum, bu yüzden bu çözümü test edemiyorum. Yapabileceğim en kısa sürede yapacağım! – reef
Bir ek - XSD dosyaları için saf "jaxb" ad alanı kullanmak zorunda kalacaksınız, "jaxws" onlarla çalışmayacak. – Stas