组成:
XML和HTTP
SOAP: 简单对象访问协议
WSDL: WebService描述语言
UDDI:统一描述、发现和集成协议
服务类
@WebService
public interface HelloWorldService {
public String hello(String name,String age);
}
public class HelloWordServiceImpl implements HelloWorldService {
@Override
public String hello(String name, String age) {
return "hello"+name+"("+age+")";
}
}
public class MainService {
public static void main(String[] args) {
JaxWsServerFactoryBean jaxWsServerFactoryBean = new JaxWsServerFactoryBean();
jaxWsServerFactoryBean.setAddress("http://192.168.0.107:9999/HelloWorld");
jaxWsServerFactoryBean.setServiceClass(HelloWordServiceImpl.class);
Server server = jaxWsServerFactoryBean.create();
server.start();
System.out.println("开张了");
}
}
客户端调用
public class MainCilent {
public static void main(String[] args) {
JaxWsProxyFactoryBean jaxWsProxyFactoryBean = new JaxWsProxyFactoryBean();
jaxWsProxyFactoryBean.setAddress("http://192.168.0.107:8888/HelloWorld");
jaxWsProxyFactoryBean.setServiceClass(HelloWorldService.class);
HelloWorldService helloWorldService = (HelloWorldService) jaxWsProxyFactoryBean.create();
System.out.println(helloWorldService.hello("小6", "21"));
}
}
使用被人的服务
1、通过给的文档
2、http://192.168.0.107:9999/HelloWorld?wsdl 通过对方给的地址和服务名字 可以看文档
3、服务接口的类 、直接获取服务接口的方法。可以通过apache-cxf提供的工具实现。(生成的代码应该以jar包的形式放在项目中)
4、中间调用的参数可以通过monitor工具
使用步骤: