CXFはwebserviceクライアントとサービス端末を作成する
9481 ワード
一、CXFの紹介
Apache CXFはオープンソースのWebServiceフレームワークであり、CXFはWebserviceの作成を大幅に簡素化し、同時にXFireの伝統を継承し、springと天然にシームレスな統合を行うことができます.CXFフレームワークはservlet技術に基づくSOA応用開発フレームワークであり、CXF応用フレームワークによる企業応用を正常に運用するには、CXF応用そのもののほか、JDKとservletコンテナのサポートが必要である.
二、CXFの準備条件
必要なjarパッケージ:
xmlbeans-2.4.0.jar
wss4j-1.5.9.jar
jetty-server-7.1.6.v20100715.jar
jetty-util-7.1.6.v20100715.jar
geronimo-ws-metadata_2.0_spec-1.1.3.jar
geronimo-activation_1.1_spec-1.1.jar
geronimo-servlet_3.0_spec-1.0.jar
velocity-1.6.4.jar
jaxb-xjc-2.2.1.1.jar
xml-resolver-1.2.jar
wsdl4j-1.6.2.jar
cxf-2.3.0.jar
XmlSchema-1.4.7.jar
jaxb-api-2.2.1.jar
jaxb-impl-2.2.1.1.jar
neethi-2.0.4.jar
geronimo-annotation_1.0_spec-1.1.1.jar
geronimo-stax-api_1.0_spec-1.0.1.jar
ダウンロードアドレス:http://download.csdn.net/detail/ch656409110/5748183(自分の必要なjarパッケージを取る)
三、webserviceサービスの作成
1、jarパッケージをlibディレクトリに入れる
2、web.xmlでCXFフレームを構成するコアservlet
[html]
view plain
copy
CXFServlet
org.apache.cxf.transport.servlet.CXFServlet
1
CXFServlet
/ws/*
3、アプリケーションContext.xmlにxmlをインポートし、webserviceサービスをパブリッシュ
[html]
view plain
copy
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:jaxrs="http://cxf.apache.org/jaxrs"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd
http://cxf.apache.org/jaxrs
http://cxf.apache.org/schemas/jaxrs.xsd
"
default-autowire="byName"
>
address="/userWebservice">
4.webserviceインタフェースの定義UserWebserviceと実装クラスUserWebserviceImpl
このようにして、基本的にはいいです.
5、コードを保存し、プロジェクトを発行し、tomactを起動する.
アドレスバーに入力:http://localhost:8880/ws/userWebservice?wsdlパブリッシュされたサービス側の詳細が表示されます.
6、クライアントによってサービス側webserviceを呼び出し、CXFによってクライアントコードを生成する
mavenによるcxf関連jarパッケージの導入
maven:
antでクライアントコードを生成するには、次の手順に従います.
7、アプリケーションContext.xmlにxmlをインポートし、webserviceクライアントを構成
Apache CXFはオープンソースのWebServiceフレームワークであり、CXFはWebserviceの作成を大幅に簡素化し、同時にXFireの伝統を継承し、springと天然にシームレスな統合を行うことができます.CXFフレームワークはservlet技術に基づくSOA応用開発フレームワークであり、CXF応用フレームワークによる企業応用を正常に運用するには、CXF応用そのもののほか、JDKとservletコンテナのサポートが必要である.
二、CXFの準備条件
必要なjarパッケージ:
xmlbeans-2.4.0.jar
wss4j-1.5.9.jar
jetty-server-7.1.6.v20100715.jar
jetty-util-7.1.6.v20100715.jar
geronimo-ws-metadata_2.0_spec-1.1.3.jar
geronimo-activation_1.1_spec-1.1.jar
geronimo-servlet_3.0_spec-1.0.jar
velocity-1.6.4.jar
jaxb-xjc-2.2.1.1.jar
xml-resolver-1.2.jar
wsdl4j-1.6.2.jar
cxf-2.3.0.jar
XmlSchema-1.4.7.jar
jaxb-api-2.2.1.jar
jaxb-impl-2.2.1.1.jar
neethi-2.0.4.jar
geronimo-annotation_1.0_spec-1.1.1.jar
geronimo-stax-api_1.0_spec-1.0.1.jar
ダウンロードアドレス:http://download.csdn.net/detail/ch656409110/5748183(自分の必要なjarパッケージを取る)
三、webserviceサービスの作成
1、jarパッケージをlibディレクトリに入れる
2、web.xmlでCXFフレームを構成するコアservlet
[html]
view plain
copy
3、アプリケーションContext.xmlにxmlをインポートし、webserviceサービスをパブリッシュ
[html]
view plain
copy
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:jaxrs="http://cxf.apache.org/jaxrs"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd
http://cxf.apache.org/jaxrs
http://cxf.apache.org/schemas/jaxrs.xsd
"
default-autowire="byName"
>
address="/userWebservice">
package com.mm.ws.service;
import javax.jws.WebParam;
import javax.jws.WebService;
import com.mm.ws.result.UserResult;
@WebService(targetNamespace="http://ws.mm.com/")
public interface UserWebservice {
/**
*
* WebParam , null
*/
public UserResult login(@WebParam(name = "userName") String userName, @WebParam(name = "pwd") String pwd);
}
public class UserWebserviceImpl implements UserWebservice {
@Override
public UserResult login(String userName, String password) {
UserResult loginResult = new UserResult();
return loginResult;
}
}
このようにして、基本的にはいいです.
5、コードを保存し、プロジェクトを発行し、tomactを起動する.
アドレスバーに入力:http://localhost:8880/ws/userWebservice?wsdlパブリッシュされたサービス側の詳細が表示されます.
6、クライアントによってサービス側webserviceを呼び出し、CXFによってクライアントコードを生成する
mavenによるcxf関連jarパッケージの導入
maven:
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-tools-common</artifactId>
<version>${cxf.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
</exclusion>
</exclusions>
</dependency>
antでクライアントコードを生成するには、次の手順に従います.
<?xml version="1.0"?>
<project name="cxf wsdl2java" basedir="." default="cxfWSDLToJava">
<property name="cxf.home" location="E:\tools\apache-cxf-2.5.0" />
<path id="cxf.classpath">
<fileset dir="${cxf.home}/lib">
<include name="*.jar" />
</fileset>
</path>
<target name="cxfWSDLToJava">
<java classname="org.apache.cxf.tools.wsdlto.WSDLToJava" fork="true">
<arg value="-client" />
<arg value="-p" />
<arg value="com.dii.ws.user" />
<arg value="-b" />
<arg value="ydd-user-binding-date.xml" />
<arg value="-d" />
<arg value="../src/main/java" />
<arg value="http://localhost:8880/ws/userWebservice?wsdl" />
<classpath>
<path refid="cxf.classpath" />
</classpath>
</java>
</target>
</project>
7、アプリケーションContext.xmlにxmlをインポートし、webserviceクライアントを構成
<?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" xmlns:http-conf="http://cxf.apache.org/transports/http/configuration"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
http://cxf.apache.org/transports/http/configuration
http://cxf.apache.org/schemas/configuration/http-conf.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" />
<jaxws:client id="userWebservice" serviceClass="com.dii.ws.user.UserWebservice"
address="http://localhost:8880/ws/userWebservice" />
</beans>