记录一下webservoce的客户端以及服务端的总结

服务端:

1.创建一个web项目。(用的eclipse)new--create  others  --选中Dynamic Web Project--next

2.项目创建成功后,导入相关jar包(我用的是cxf),下一步buildpath

3.创建接口和实现类,需要注意的是@WebService()注解

接口文件IOrderDetailService.java:

@WebService()
public interface IOrderDetailService {
public String saveOrderDetail(String memberId,String goodsId,String callId ,String callNo ,String consigneeId,String colored ,String styleId ,String serviceNumber,String flag,String address);
public String test();

}


接口实现类OrderDetailServiceImpl.java(其中endpointInterface 指向的是接口文件路径

@Service
@WebService(endpointInterface = "service.IOrderDetailService")
public class OrderDetailServiceImpl implements IOrderDetailService {



@Override
public String saveOrderDetail(String memberId, String goodsId, String callId, String callNo, String consigneeId,
String colored, String styleId, String serviceNumber,String flag, String address) {

//处理操作
return ":";}


@Override
public String test() {
// TODO Auto-generated method stub
String str = "hello";
return str;
}

3.接下来需要配置web.xml文件(除了配置过滤器监听器等等,还要配置cxf,指定一个bean的配置文件)

 

 <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath*:resources/bean.xml</param-value>
  </context-param><servlet>

<!-- cxf -->
    <servlet-name>CXFServlet</servlet-name>
    <servlet-class>  
               org.apache.cxf.transport.servlet.CXFServlet  
        </servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>CXFServlet</servlet-name>
    <url-pattern>/webservice/*</url-pattern>
  </servlet-mapping>

4.配置web.xml中指定的bean.xml文件(放在src下的resource)

<?xml version="1.0" encoding="UTF-8"?>  
<beans xmlns="http://www.springframework.org/schema/beans"  
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
       xmlns:jaxws="http://cxf.apache.org/jaxws"  
       xsi:schemaLocation="  
             http://www.springframework.org/schema/beans  
             http://www.springframework.org/schema/beans/spring-beans.xsd  
             http://cxf.apache.org/jaxws   
             http://cxf.apache.org/schemas/jaxws.xsd">  
  
      <import resource="classpath:META-INF/cxf/cxf.xml"/>  
      <!-- <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/>   -->
      <import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>  
     <bean id="orderDetailServiceImpl" class="service.OrderDetailServiceImpl"/> 
  
<jaxws:endpoint id="orderDetailService" implementor="#orderDetailServiceImpl"
address="/orderDetailService">
</jaxws:endpoint>
</beans> 

5.现在项目创建成功,发布访问即可。http://localhost:8080/项目名称/webservice/


客户端:

1.通过eclipse来生成。new--other--web service client  --next接下来会需要wsdl的路径,就是你需要生成哪个服务的客户端的wsdl(前面已经说了生成的服务端)

2.通过                      CXF提供了一个名为“wsdl2java.bat”的工具

命令wsdl2java –p 生成代码的包名 –d 生成代码的路径 wsdl地址。


还有一种生成的客户端的方法是通过JDK,这里就不介绍了,熟练掌握一种就可以。

客户端的main方法

public class ClientMain {
public static void main(String[] args) throws Exception
    {
        JaxWsProxyFactoryBean bean = new JaxWsProxyFactoryBean();
        bean.setAddress("wsdl路径");
        
        bean.setServiceClass(IOrderDetailService.class);
        
        IOrderDetailService iOrderDetailService = (IOrderDetailService)bean.create();
        
        String  r = iOrderDetailService.test();
        System.out.println(r);
    }
}

-------------------------------------------------------------

以上webservice的相关过程就完成了,还有好多不足,这个只是自己的随手总结,做个记录吧了,详细的还是需要向大神请教。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值