久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

關于Eclipse開發(fā)基于cxf的web services的基本步驟

 9loong 2011-06-15
 
好久之前玩過的東西,,昨天應一個哥們要去,給他做一個服務,,只好想了又想,,因為自己對java一知半解,,只停留在照貓畫虎的層次,,不過運氣還好,,加上以前碰到過很多挫折,,所以配的還算順利,。在csdn進行記錄,以免忘記,。
順序:
一 準備
1 Eclipse3.4
2 JDK1.5
3 Tomcat 6
4 tomcat plugin v3.2.1
5 cxf開發(fā)包 2.2.5
二 配置環(huán)境
1 安裝jdk
2 copy eclipse && tomcat6 && cxf 到自己想放它們的地方(eclispe不需要安裝,,tomcat從6開始也不需要install)
3 配置環(huán)境變量如下:
  參考
  set CXF_HOME=C:\cxf2.1
  set JAVA_HOME=C:\Java\jdk1.5.0_09
  set PATH=%JAVA_HOME%\bin;%CXF_HOME%\bin;%PATH%
  set CLASSPATH=.;%CXF_HOME%\lib\cxf-manifest.jar;.\build\classes
4. 解壓縮tomcat plugin v3.2.1到Eclipse的plugin目錄下
三 開發(fā)過程
關于開發(fā)過程,Apache和IBM官方有很詳細的文檔,,
我這里只針對過程中可能遇到的一個問題進行總結。(之后會附上可行的源代碼)
1 Eclispe下new個新的普通java工程就可以,,但是myeclipse下好像只能在建立在web項目中
2 暴露服務有兩種方式jaxws:Endpoint和jaxws:Server兩種方式,,網上有很詳細的解釋它們的區(qū)分,你可以任選一種
3 有的時候,,eclipse會提示找不到Endpoint的說明,,沒有問題,go on
4 你要部署一個項目到tomcat, 要寫一個xml到tomcat目錄去:
    參考:
   <?xml version="1.0" encoding="UTF-8"?>
    <Context docBase="E:\自己-CODE\JavaCode\Eclipse34_workspace\你的項目名稱,,一定要正確,,大小寫匹配"/>
    建議:目錄最好用英文,,否則有時候用不同編輯的時候,會出現二進制無法讀取現象,,比如上面的“自己”用記事本程序寫入后,,
             Eclipse在執(zhí)行時有時會出錯的,如果你用Eclipse打開會發(fā)現這個記事本打開能看的“自己”由于編碼問題可能在eclipse中不能
             正常顯示,,需要修改,。
5 接口和類加@WebService后會暴露接口,你也可以選擇性暴露,。
6 附上一個可行的代碼參考:
【1】類接口(函數名字隨便起的,,和參數沒有任何關系)

package ws.cxf;
import javax.jws.WebService;

@WebService
public interface IAuthenService
{
 public String  ClientService(String footname,int num);
 }

 
【2】類
 /**
 *
 */
package ws.cxf;
import javax.jws.WebService;
import ws.cxf.IAuthenService;
@WebService
public class AuthenService implements IAuthenService
{
 private String myfootname="potatoAndTomato";
 private int eatnum=1000;
 
 public  static void main(String[] args)
 {
  System.out.println("Hello,world!Jo 1");
 }
 public String ClientService(String footname, int num)
 { 
  String result="";
  if(this.myfootname.equals(footname))
  {
   result="你不能再吃這個了,buddy,!";
  }
  else
  {
   result="你還能吃呀,,強!";
   if(num<this.eatnum)
   {
    result+=" 可惜,,你要的已經沒有了,!";    
   }
   else
   {
    result+="稍等等,一會就給你,!";
   }  
  }
  return result;
 }
 
  public String getMyfootname() {
  return myfootname;
 }
 public void setMyfootname(String myfootname) {
  this.myfootname = myfootname;
 }
 public int getEatnum() {
  return eatnum;
 }
 public void setEatnum(int eatnum) {
  this.eatnum = eatnum;
 }
}

  【3】配置暴露服務xml
<beans xmlns="http://www./schema/beans"
            xmlns:xsi="http://www./2001/XMLSchema-instance
            xmlns:jaxws="http://cxf./jaxws"
            xsi:schemaLocation="http://www./schema/beans
                                http://www./schema/beans/spring-beans-2.0.xsd
                                http://cxf./jaxws
                                http://cxf./schemas/jaxws.xsd">
<!-- Import Apache CXF Bean Definition -->
           <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"/>
<!-- EatService -->
           <bean id="myService2" class="ws.cxf.AuthenService">
               <property name="myfootname" value="qiao"/>
               <property name="eatnum" value="10"/>
           </bean>  
           
          <!-- Expose EatWebService  -->      
           <jaxws:endpoint id="eatWebService2" serviceName="AuthenSrv" address="/AccessControlDomain/Access">
               <jaxws:implementor ref="myService2"/>                  
           </jaxws:endpoint>   
</beans>        
【4】項目配置文件xml:放置在WEB-INF下
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java./xml/ns/j2ee"
 xmlns:xsi="http://www./2001/XMLSchema-instance" xsi:schemaLocation="http://java./xml/ns/j2ee   http://java./xml/ns/j2ee/web-app_2_4.xsd">
 <description>在tomcat manager中顯示的描述</description>
 <display-name>在tomccat manager中顯示的名字 </display-name>
 <!-- Spring Config Location -->
 <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath*:/BeanRefServer.xml</param-value>
 </context-param>
 <!-- Spring ContextLoaderListener -->
 <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>
 <!-- Apache CXFServlet -->
 <servlet>
  <servlet-name>CXFServlet</servlet-name>
  <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>
 <!-- CXFServlet Mapping -->
 <servlet-mapping>
  <servlet-name>CXFServlet</servlet-name>
  <url-pattern>/*</url-pattern>
 </servlet-mapping>
 <login-config>
  <auth-method>BASIC</auth-method>
 </login-config>
</web-app>
7 運行tomcat:如果提示端口被占,,可以看看自己電腦上有沒有安裝oracle,它會自動安裝apache服務,,會占用8080端口,,你需要修改其中一個端口,到對應的配置文件中替換8080為一個不常使用的端口即可,,如8088,。
8 在瀏覽器下看訪問:127.0.0.1:8080 是會顯示tomcat主頁的,點擊tomcat manager,,如果你配置好tomcat的用戶,,
在tomcat 6下,用戶配置信息放在其目錄下的tomcat-user.xml中,,默認是注釋掉的,,你需要去掉注釋符,然后添加一個角色manager
如下面的用戶tomcat.
<tomcat-users>
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="tomcat" password="tomcat" roles="tomcat,manager"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>
</tomcat-users>
之后,,你進入tomcat manager后,,就可看見自己部署的項目,點擊即可訪問其,。
9 oracle的osb可以進行類似于微軟web服務的那種基于瀏覽器的測試,,如果你需要可以試試,還是很方便的。
以上說明就到此位置,,感覺以前遇到了很多小問題,,但是一時也想不起來了,先這樣吧,。
附錄:關于微軟的服務開發(fā)和uddi部署,,可以參考一個我寫在電腦編程與技巧的文章。
里面關于UDDI的部署的一些發(fā)現,,可能在網上很難找到,。
 
說明:我以前看的一個關于cxf開發(fā)的很詳細的文章在我的資源中,,1分,。
 
附錄:
【1】 tomcat manager 查看
 
 

 
【2】 發(fā)布界面:
 
That‘s all.
Good luck 2 u.
 
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/jo_say/archive/2010/05/06/5562821.aspx
 
 
(#)

    本站是提供個人知識管理的網絡存儲空間,,所有內容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內容中的聯系方式,、誘導購買等信息,,謹防詐騙。如發(fā)現有害或侵權內容,,請點擊一鍵舉報,。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多