java__webService接口

webService接口分两种,一种是为别人提供接口,一种是使用别人接口,这里先详细描述如何写接口,让别人调用

准备:使用xfire写接口,引入与xfire相关的jar包,这是我本地项目的所有jar包,写接口用到了一部分。

 

1.在web.xml中增加对xfire的配置,代码如下(<url-pattern>/services/*</url-pattern>中services为自己定义,用于以后的访问):

<servlet>
  <servlet-name>xfire</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
 </servlet>
 <servlet-mapping>
  <servlet-name>xfire</servlet-name>
  <url-pattern>/services/*</url-pattern>
 </servlet-mapping>

2.在WEB-INF下新建xfire-servlet.xml,与web.xml同级,如图,xfire-servlet.xml中配置代码如下:

 

<?xml version="1.0" encoding="UTF-8"?>  <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> 

<beans>      

          <import resource="classpath:org/codehaus/xfire/spring/xfire.xml" />        

  <!-- webService base -->    

<!-- 第一部分:

       固定配置-->   

    <bean id="webService" class="org.codehaus.xfire.spring.remoting.XFireExporter" abstract="true">      

                 <property name="serviceFactory">            

                                 <ref bean="xfire.serviceFactory" />     

                </property>        

                 <property name="xfire">       

                                  <ref bean="xfire" />       

                  </property>   

    </bean>     

<!-- 第二部分:

  配置key:WBSTEST(访问地址中使用的名字)

   wbsServiceTestImpl:为下面的第三部分bean的id

  其他为固定

-->   

   <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">          

            <property name="urlMap">          

                  <map>              

                                 <entry key="WBSTEST">                

                                                   <ref bean="wbsServiceTestImpl"/>               

                                </entry>                          

                  </map>        

              </property>      

     </bean>     

 

    <!-- 第三部分:

          配置bean 的id名字自己定义,

         ref中wbsServiceTest对应下一个第四部分bean的id,

            com.lp.service.IWbsServiceTest为自己要发布的接口

     -->  

      <bean id="wbsServiceTestImpl" parent="webService" class="org.codehaus.xfire.spring.remoting.XFireExporter">          

                <property name="serviceBean">       

                          <ref bean="wbsServiceTest"/>      

                </property>     

               <property name="serviceClass">       

                          <value>com.lp.service.IWbsServiceTest</value>       

               </property>    

     </bean>     

<!-- 第四部分:

             配置bean 的id名字自己定义,

           class中 com.lp.service.WbsServiceTestImpl为自己要发布的接口实现类的路径

     -->  

 

         <bean id="wbsServiceTest" class="com.lp.service.WbsServiceTestImpl">

         </bean>      

  </beans> 

3.开始写自己要发布的services

在项目上创建services包(根据自己的项目目录来)

创建接口类以及接口实现类

IWbsServiceTest:代码如下

package com.lp.service;

public interface IWbsServiceTest {

 

 public String lpWbs(String name) throws Exception;  

  }

WbsServiceTestImpl:代码如下

package com.lp.service;

import org.springframework.stereotype.Service;

@Service("wbsServiceTest")

public class WbsServiceTestImpl implements IWbsServiceTest{

 public String lpWbs(String name) throws Exception {  

                int a=1;   int b=2;      

                System.out.println("哈哈成功了:server sayHello invoke"+a+b);   

                return "你好 " + name;

    }     }

 

 

到这里,一个简单的webservices就写完了,可以看一下是否成功,在浏览器地址栏输入访问地址:

http://10.1.41.36:8080/netCross/services/WBSTEST?wsdl出现如下如样子就可以了

 

posted @ 2015-12-24 16:26  小萍萍  阅读(549)  评论(0编辑  收藏  举报