当前位置: 代码迷 >> Web前端 >> spring公布webserice(CXF)
  详细解决方案

spring公布webserice(CXF)

热度:253   发布时间:2012-07-16 15:44:59.0
spring发布webserice(CXF)
/**接口*/
import javax.jws.WebService;
@WebService
public interface FirstServicer {
     public String getUserMessage();
}
/**实现类*/
import javax.jws.WebService;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;

@WebService
public class FirstServiceImpl implements FirstServicer {

          public String getUserMessage() {

           Document doc = DocumentHelper.createDocument();
	Element root = doc.addElement("users");
	    for (int i = 0; i < 4; i++) {
	      Element user = root.addElement("user");
	     user.addElement("id").setText(i + "");
	  user.addElement("password").setText(Math.random() + "");
                    user.addElement("name").setText("user" + i);
		}
		return doc.asXML();
	}

}

?发布服务:

??????????????

/**这是基于JAXWS API发布的*/
<bean id="userMessage"class="com.demo.ws.server.FirstServiceImpl">
</bean>
<jaxws:endpoint id="getUserMessage" implementor="#userMessage"
		address="/GetMessage">
</jaxws:endpoint>

/**这是基于Xfire API发布的*/

<jaxws:server id="surveyWebService" 
        serviceClass="com.demo.ws.server.FirstServiceImpl" 
        address="/SurveyWebService">
        <jaxws:serviceBean>
            <ref bean="surveyService"/> <!-- 要暴露的 bean 的引用 -->
            </jaxws:serviceBean>
</jaxws:server>

?

?

测试:

?

????

/**基于JAXWS的client*/

<bean id="client" class="com.demo.server.HelloWorld"  
        factory-bean="clientFactory" factory-method="create" />  
    <bean id="clientFactory"  
        class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">  
        <property name="serviceClass"  
            value="com.demo.server.HelloWorldImpl" />  
        <property name="address"  
        value="http://localhost:8088/testcxf/webservices/HelloWorld" />  
</bean>  

?

/**基于CXF的client的配置*/

<jaxws:client id="surveyServiceClient" 
        serviceClass="com.demo.server.HelloWorld"       address="http://localhost:8080/CXF_Spring_Survey/SurveyWebService"/>

?

Java客户端代码:得到消费服务Bean进行方法调用测试就成了。

?

??

  相关解决方案