我正在使用JAX-WS和JAXB注释类来创建SOAP服务。我的服务实现如下:
@Stateless
@Local(WSApplicationService.class)
@WebService(name = "WSApplicationService", serviceName = "WSApplicationService")
@BindingType(SOAPBinding.SOAP11HTTP_BINDING)
public class WSApplicationServiceImpl implements WSApplicationService {
@Override
@WebMethod
@WebResult(name = "reference")
public long submitApplication(@WebParam(name = "application") ApplicationSubmission application) throws SOAPException {
...
}
}
在提出这个问题后,我了解到使用JAXB注释无法指定输入数据的某些限制。但是,我需要将某些字符串属性限制为模式(主要是邮政编码和电话号码)。因此,我正在寻找自定义上述类生成的WSDL。然而,我找不到访问WSDL的方法。是否有一种方法可以覆盖或自定义JAX-WS生成的WSDL?
javax.xml.bind.Marshaller
和javax.xml.bind.Unmarshaller
接口都有一个setSchema()
方法。 - Henning