我有很多用@WebService(targetNamespace =“mynamespace”)注释的端点.每个@WebResult和@WebParam都有相同的targetNamespace =“mynamespace”定义.
有没有办法将JAX-WS(Metro实现)配置为默认使用“mynamespace”作为targetNamespace?
解决方法
仅将targetNamespace放在服务端点接口或服务实现中
豆.
豆.
/** * Annotated Implementation Object */ @WebService( name = "CustomerService",targetNamespace = "http://org.company.services" ) public class CustomerService { @WebMethod @WebResult(name="CustomerRecord") public CustomerRecord locateCustomer( @WebParam(name="FirstName") String firstName,@WebParam(name="LastName") String lastName,@WebParam(name="Address") USAddress addr) { ... } };
如果@WebResult或@WebParam没有targetNamespace,则默认为
targetNamespace for
Web服务.
另一方面,如果您不需要使用JAX-B进行自定义,则可以避免使用所有注释并仅使用@WebService.