xfireによるwebServiceの実装
3603 ワード
最近xfire実装webserviceを研究する時間がありますが、見てみると簡単だと思います.簡単なのは簡単ですが、メモを取っておきましょう.後で使ったり忘れたりするかもしれません.
必要なjarパッケージは、すべて添付ファイルの中にあり、直接本題に入ります.
1、インタフェースの定義
2,実装インタフェース
3,新しいxfire.xmlファイル、xfireを忘れないでください.xmlファイルをwebに構成する.xmlファイルに行きますよ
4、もちろんどのように私たちのインタフェースにアクセスするかを定義しなければなりません.webで.xml構成.
5、テスト
必要なjarパッケージは、すべて添付ファイルの中にあり、直接本題に入ります.
1、インタフェースの定義
public interface MailWebService {
public abstract boolean send(String username,String password,String mailto,String title,String context);
}
2,実装インタフェース
public class MailWebServiceImpl implements MailWebService{
public boolean send(String username, String password, String mailto,
String title, String context) {
boolean flag = false;
try {
flag = HttpClientMail.send163WebMail(username, password, mailto, title, context);
} catch (Exception e) {
flag = false;
}
return flag;
}
}
3,新しいxfire.xmlファイル、xfireを忘れないでください.xmlファイルをwebに構成する.xmlファイルに行きますよ
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- XFire -->
<import resource="classpath:org/codehaus/xfire/spring/xfire.xml" />
<!-- XFire -->
<bean id="baseWebService" class="org.codehaus.xfire.spring.remoting.XFireExporter" lazy-init="false" abstract="true">
<!-- xfire.xml -->
<property name="serviceFactory" ref="xfire.serviceFactory" />
<!-- xfire.xml xfire -->
<property name="xfire" ref="xfire" />
</bean>
<!--
web service
-->
<bean id="MailBean" class="com.yysoft.webservice.impl.MailWebServiceImpl"/>
<bean id="Mail" parent="baseWebService">
<property name="serviceBean" ref="MailBean" />
<property name="serviceClass" value="com.yysoft.webservice.MailWebService" />
</bean>
</beans>
4、もちろんどのように私たちのインタフェースにアクセスするかを定義しなければなりません.webで.xml構成.
<!-- xfire -->
<servlet>
<servlet-name>XFireServlet</servlet-name>
<servlet-class>org.codehaus.xfire.spring.XFireSpringServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/servlet/XFireServlet/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
5、テスト
public class MailClient {
public static void main(String[] args) {
try {
String[] parameters = {"test","test", "[email protected]", " ", " "};
Client client = new Client(new URL("http://localhost:8089/services/MailWebService?wsdl"));
Object[] results = client.invoke("send", parameters);
} catch (Exception e) {
// TODO: handle exception
}
}
}