Mi aplicación de servicios web se está moviendo de Axis a JAX-WS y tengo problemas para realizar algunas de las conversiones. Mi problema principal es que tengo varios XSD con los mismos tipos definidos de forma ligeramente diferente, pero con los mismos nombres. Durante mi wsimport, puedo usar un archivo de enlaces JAXB externo para resolver los paquetes, pero las clases generadas todavía terminan con las mismas anotaciones @XmlType.Reemplazo de XmlType.namespace utilizando enlaces jaxb durante la generación de tipo
V1:
package com.service.v1.bill.request;
@XmlType(name = "FileBillReqType", namespace = "http://epayments.metavante.com/types/bill/request"})
public class FileBillReqType extends AbstractContextMethodRequest...
V2:
package com.service.v2.bill.request;
@XmlType(name = "FileBillReqType", namespace = "http://epayments.metavante.com/types/bill/request"})
public class FileBillReqType extends AbstractContextMethodRequest...
Encuadernación:
<jaxb:bindings schemaLocation="file:../wsdl/v1/bill/BillRequest.xsd"
node="/xs:schema[@targetNamespace='http://service.example.com/bill/request']">
<jaxb:schemaBindings>
<jaxb:package name="com.service.v1.bill.request" />
</jaxb:schemaBindings>
</jaxb:bindings>
Anteriormente esto habría sido resuelto con las correlaciones de tipos proporcionados por eje (que no modificable en una wsdd masivamente fea):
<service name="v1" provider="java:RPC" style="document" use="literal">...
<typeMapping
xmlns:ns="http://service.example.com/bill/request"
qname="ns:FileBillReqType"
type="java:com.service.v1.bill.request.FileBillReqType"
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
encodingStyle=""
/>...
¿Hay alguna forma de hacer que mis objetos JAXB generados tengan un espacio de nombres personalizado sin modificar los archivos generados manualmente cada vez que los regenere (hay cientos)?
Mismo problema aquí ... –