<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    cuixx1985

    2008年11月19日 #

    axis處理自定義對(duì)象

    最近的一個(gè)項(xiàng)目又要用到webservice(axis),上次為了趕時(shí)間完成任務(wù),簡(jiǎn)單的找了些例子然后就這樣用了,還好項(xiàng)目里本來(lái)就有對(duì)象和xml之間轉(zhuǎn)換的接口,所以要傳的對(duì)象一律轉(zhuǎn)換成xml,然后傳字符串。
            嘗試了N久才搞定了傳輸屬性不是基本數(shù)據(jù)類型的問(wèn)題。簡(jiǎn)單帖個(gè)代碼:

    1.server-config.wsdd

     <service name="sendUser" provider="java:RPC">
           
    <!-- 發(fā)布特定的方法,多個(gè)方法用逗號(hào)隔開 -->
          
    <parameter name="allowedMethods" value="getUserByUserId"/>
          
    <parameter name="className" value="cn.gov.zjport.suzhou.webservice.GetUser4WebServiceImpl"/>
          
    <beanMapping languageSpecificType="java:cn.gov.zjport.suzhou.domain.CustomUser"  qname="ns:CustomUser" xmlns:ns="urn:GetUser4WebService"/>
          
    <beanMapping languageSpecificType="java:cn.gov.zjport.suzhou.domain.CustomRole"  qname="ns:CustomRole" xmlns:ns="urn:GetUser4WebService"/>
          
    <beanMapping languageSpecificType="java:cn.gov.zjport.suzhou.domain.CustomUserRole"  qname="ns:CustomUserRole" xmlns:ns="urn:GetUser4WebService"/>
     
    </service>
    2.客戶端測(cè)試代碼
    QName qn = new QName("urn:GetUser4WebService","CustomUser");
                 QName qn1 
    = new QName("urn:GetUser4WebService","CustomRole");
                 QName qn2 
    = new QName("urn:GetUser4WebService","CustomUserRole");
                 call.setTargetEndpointAddress(
    new URL("http://localhost:8080/suzhouPlatform/webServices/sendUser") ); 
                 call.setOperationName(
    new QName("http://localhost:8080/suzhouPlatform/webServices/sendUser","getUserByUserId"));
                 call.registerTypeMapping(CustomUser.
    class, qn,new BeanSerializerFactory(CustomUser.class, qn),new BeanDeserializerFactory(CustomUser.class, qn));
                 call.registerTypeMapping(CustomRole.
    class, qn1,new BeanSerializerFactory(CustomRole.class, qn1),new BeanDeserializerFactory(CustomRole.class, qn1));
                 call.registerTypeMapping(CustomUserRole.
    class, qn2,new BeanSerializerFactory(CustomUserRole.class, qn2),new BeanDeserializerFactory(CustomUserRole.class, qn2));
                 Object result 
    = call.invoke(new String[]{"admin"});
    大概代碼就這樣了^_^

    posted @ 2009-04-21 13:31 true_star 閱讀(695) | 評(píng)論 (0)編輯 收藏

    一個(gè)webwork過(guò)濾器的問(wèn)題

    先貼代碼如下:
    1.SercurityFilter.java

    import java.io.IOException;

    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    public class SercurityFilter implements Filter{

        
    public void destroy() {
            
        }


        
    public void doFilter(ServletRequest req, ServletResponse res,
                FilterChain chain) 
    throws IOException, ServletException {
            HttpServletRequest request 
    = (HttpServletRequest) req;
            HttpServletResponse response 
    = (HttpServletResponse) res;
            
            String url = request.getRequestURI();
               String name = (String) request.getSession().getAttribute("name");
            
              if((url.indexOf("index") == -1) && (null == name))
            {
                String path = request.getContextPath();
                response.sendRedirect(path + "/index.jsp");
            }

            
    else
                chain.doFilter(request, response);
        }


        
    public void init(FilterConfig arg0) throws ServletException {
            
        }


    }


    然后問(wèn)題是這樣的:
    我現(xiàn)在用戶沒(méi)登錄的時(shí)候,點(diǎn)擊一個(gè)超鏈接(bookAction.action)的時(shí)候,并沒(méi)有進(jìn)入SercurityFilter這個(gè)里面定義的index.jsp頁(yè)面,而地址欄顯示的也是這個(gè)超鏈接的bookAction.action地址。
    而當(dāng)我把bookAction對(duì)應(yīng)的xwork.xml中的result里面添加 type="redirect",如下:
    <result name="browseCatalog" type="redirect">/jsp/browseCatalog.jsp</result>
    而現(xiàn)在我重新點(diǎn)擊這個(gè)超鏈接的時(shí)候卻能轉(zhuǎn)到index.jsp頁(yè)面,不知道這個(gè)是怎么回事?????

    但是重定向過(guò)去又不能保存action執(zhí)行的結(jié)果,不能給browseCatalog.jsp這個(gè)頁(yè)面里的表單賦值,當(dāng)然可以通過(guò)將內(nèi)容放入session中進(jìn)行賦值,但這樣應(yīng)該不太好吧。


    web.xml代碼如下:
    <filter-mapping>
            
    <filter-name>webwork</filter-name>
            
    <url-pattern>/*</url-pattern>
        
    </filter-mapping>
        
        
    <filter-mapping>
            
    <filter-name>sercurityFilter</filter-name>
            
    <url-pattern>/jsp/*</url-pattern>
        </filter-mapping>
        



    今天晚上又做了下簡(jiǎn)單的驗(yàn)證,不知道為什么,不管我web.xml里面設(shè)置/*還是*.action,瀏覽器輸入*.action地址或者提交表單的時(shí)候都進(jìn)不了這個(gè)filter里面去。而web.xml里面設(shè)置/*時(shí),只要我輸入*.jsp都會(huì)直接轉(zhuǎn)到index.jsp頁(yè)面,難道是哪里配置錯(cuò)了。。。還是????



    posted @ 2008-11-19 16:25 true_star 閱讀(1302) | 評(píng)論 (4)編輯 收藏

    主站蜘蛛池模板: 亚洲一区二区三区亚瑟| 一级毛片免费不卡| 国产一级高清视频免费看| 九九综合VA免费看| 亚洲宅男永久在线| 国产又粗又猛又爽又黄的免费视频| 免费激情网站国产高清第一页 | 国产成人亚洲综合一区| 四虎精品亚洲一区二区三区 | 国产高清不卡免费视频| 亚洲人成日本在线观看| 三年片在线观看免费观看大全动漫| 亚洲国产亚洲综合在线尤物| 免费人妻无码不卡中文字幕18禁| 99久久免费观看| 精品一区二区三区无码免费直播 | 亚洲A∨午夜成人片精品网站| 国产精品免费高清在线观看| 亚洲GV天堂GV无码男同| 亚洲成色在线影院| 亚洲国产一区二区视频网站| 国产免费看JIZZ视频| aa毛片免费全部播放完整| 亚洲女初尝黑人巨高清| 成人在线免费观看| 亚洲AV日韩综合一区| 久久精品夜色国产亚洲av| 国产又大又黑又粗免费视频| 久久精品国产免费观看| GOGOGO免费观看国语| WWW国产亚洲精品久久麻豆| 亚洲成a人片在线观看播放| 亚洲精品自产拍在线观看| 桃子视频在线观看高清免费视频| 老司机午夜在线视频免费| 亚洲人成7777| 亚洲精品午夜久久久伊人| 亚洲码国产精品高潮在线| mm1313亚洲国产精品美女| 免费高清资源黄网站在线观看| 热re99久久6国产精品免费|