spring配置jax-ws

在spring配置文件中新建bean(或者是在配置文件中添加bean),在该bean中添加指定的访问地址。

    @Bean
public static SimpleJaxWsServiceExporter getSimpleJaxWsServiceExporter(){
SimpleJaxWsServiceExporter wsServiceExporter = new SimpleJaxWsServiceExporter();
wsServiceExporter.setBaseAddress("http://localhost:8088/sgyws");
return wsServiceExporter;
}

然后新建一个接口

@WebService
public interface SgyWs { @WebMethod
public String sayHi();

再有一个实现类,该类上的注解serviceName为ws的服务名,endpointInterface为接口地址。

@WebService(serviceName="/sgyService",endpointInterface="com.btw.sgy.webService.SgyWs")
//@SOAPBinding(style=Style.RPC)
@Component
public class SgyWsImpl implements SgyWs{ @Override
public String sayHi(){
System.out.print("hi");
};
}

最后启动服务即可,访问地址为http://localhost:8088/sgyws/sgyService。

如果在第一步中,不加"/",则访问地址会变为http://localhost:8088/sgywssgyService。

在jax-ws中,有两种重要的annotation:

  • @WebService
  • @WebMethod

@WebService:标识某个类,或某个接口,为webService接口。

  有六个参数可以配置:

  1. endpointInterface:指向一个定义此WebService抽象定义接口的完整类路径
  2. name:WebService名;默认的port名为"实现类名+Port",binding名为"实现类名+PortBinding",通过指定name的值来替换 实现类名。
  3. portName:指定port名,可以完成替换默认port名,或由上面的"name"指定的port名。
  4. targetNamespace:指定targetNamespace值,默认的值为 "http://包名/",可以通过此变量指定一个自定义的targetNamespace值。(注:如果分别定义接口和实现,则他们有各自的targetNamespace)
  5. serviceName:指定service名
  6. wsdlLocation:指向一个预定义的wsdl的文件,替代自动生成的wsdl文件。

@WebMethod:标注方法为webservice方法(可以省略)。

  有三个参数可以配置:

  1. action:指定此方法对应的action
  2. exclude:true --表示此方法包含在web服务中;false表示排除此方法
  3. operationName:指定方法对应的operation的名字。
上一篇:nginx日志切割(logrotate或shell脚本)


下一篇:R语言 神经网络算法