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

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

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

    隨筆-193  評(píng)論-715  文章-1  trackbacks-0

    本Blog所有內(nèi)容不得隨意轉(zhuǎn)載,版權(quán)屬于作者所有。如需轉(zhuǎn)載請(qǐng)與作者聯(lián)系( fastzch@163.com )。
    未經(jīng)許可的轉(zhuǎn)載,本人保留一切法律權(quán)益。
    一直以來(lái),發(fā)現(xiàn)有某些人完全不尊重我的勞動(dòng)成果,隨意轉(zhuǎn)載,提醒一下那些人小心哪天惹上官司。

    網(wǎng)上關(guān)于XFire入門(mén)的教程不少,要么是講得很簡(jiǎn)單,就像Hello World一樣的程序,要么就是通過(guò)IDE集成的工具來(lái)開(kāi)發(fā)的,這對(duì)于不同的人群有諸多不便,關(guān)于XFire的一些詳細(xì)的信息就不再多講,可以參考官方網(wǎng)站和相關(guān)的文檔,這里講一個(gè)完整的入門(mén)實(shí)例。

    實(shí)例中包括三個(gè)情況,我想基本上可以概括所有的需求,或者自己稍加擴(kuò)展即可。先來(lái)看看我們的Interface。

     1 package  test;
     2
     3 import  java.util.List;
     4
     5 public   interface  IHelloService  {
     6      public  String sayHello(String ttt);
     7     
     8      public  Course choose(User u);
     9     
    10      public  List  test(List t);
    11 }
    這其中包含了簡(jiǎn)單對(duì)象的傳遞,對(duì)象的傳遞,List的傳遞。

    具體的開(kāi)發(fā)步驟如下:
    1、定義Web Service的接口,代碼見(jiàn)上面的接口定義。

    2、實(shí)現(xiàn)接口和業(yè)務(wù)邏輯,代碼如下:
     1package test;
     2
     3import java.util.ArrayList;
     4import java.util.List;
     5
     6public class HelloServiceImpl implements IHelloService {
     7
     8    public String sayHello(String ttt) {
     9        return "Hello, "+ttt;
    10    }

    11    
    12    public Course choose(User u){
    13        System.out.println(u.getName());
    14        Course c=new Course();
    15        c.setName("Eee");
    16        return c; 
    17        
    18    }

    19    
    20    public List  test(List t){
    21        for (int i = 0; i < t.size(); i++{
    22            System.out.println((String) t.get(i));
    23        }

    24        List  al=new ArrayList();
    25        Course c=new Course();
    26        c.setName("EeeDDDDDD");
    27        al.add(c);
    28        return al;
    29        
    30    }

    31}
    用到的User和Course兩個(gè)類(lèi)的代碼如下:
     1package test;
     2
     3public class User {
     4    private String name;
     5
     6    public String getName() {
     7        return name;
     8    }

     9
    10    public void setName(String name) {
    11        this.name = name;
    12    }

    13}

    14
     1package test;
     2
     3public class Course  {
     4    private String name;
     5
     6    public String getName() {
     7        return name;
     8    }

     9
    10    public void setName(String name) {
    11        this.name = name;
    12    }

    13
    14}

    3、編寫(xiě)XFire要求的WebSevice定義描述文件,如下:
     1<?xml version="1.0" encoding="UTF-8"?>
     2<beans xmlns="http://xfire.codehaus.org/config/1.0">
     3
     4    <service>
     5        <name>HelloService</name>
     6        <namespace>http://test/HelloService</namespace>
     7        <serviceClass>test.IHelloService</serviceClass>
     8        <implementationClass>test.HelloServiceImpl</implementationClass>
     9    </service>
    10    
    11</beans>
    此文件放在src/META-INF/xfire/services.xml,編譯時(shí)會(huì)自動(dòng)編譯到classes的相應(yīng)目錄下面。

    最近有些朋友因使用Spring2.0以上版本時(shí),會(huì)發(fā)生如下異常:
    ERROR - Error initializing XFireServlet.
    org.springframework.beans.factory.BeanDefinitionStoreException: Unrecognized xbean element mapping: beans in namespace http:
    //xfire.codehaus.org/config/1.0
    當(dāng)出現(xiàn)如下異常時(shí),請(qǐng)將此文件用如下內(nèi)容替換:
     1<?xml version="1.0" encoding="UTF-8"?>
     2<beans>
     3    <service xmlns="http://xfire.codehaus.org/config/1.0"
     4        xmlns:s="http://www.springframework.org/schema/beans"
     5        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     6        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
     7        <name>HelloService</name>
     8        <namespace>http://test/HelloService</namespace>
     9        <serviceClass>test.IHelloService</serviceClass>
    10        <implementationClass>test.HelloServiceImpl</implementationClass>
    11    </service>
    12</beans>
    13

    4、因?yàn)槲覀冇玫搅薒ist等集合類(lèi)型,所以需要定義Mapping關(guān)系,文件名為:src/test/IHelloService.aegis.xml,代碼如下:
    1<?xml version="1.0" encoding="UTF-8"?>
    2<mappings>
    3    <mapping>
    4        <method name="test">
    5            <parameter index="0" componentType="java.lang.String" />
    6            <return-type componentType="test.Course" />
    7        </method>
    8    </mapping>
    9</mappings>
    請(qǐng)注意,此文件一定要放到與IHelloService.java相同的目錄下面,否則會(huì)出錯(cuò)。

    5、在Web.xml中配置XFire需要用到的Servlet,代碼如下:
     1<?xml version="1.0" encoding="UTF-8"?>
     2<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
     3    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
     5    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
     6
     7    <servlet>
     8        <servlet-name>XFireServlet</servlet-name>
     9        <servlet-class>
    10            org.codehaus.xfire.transport.http.XFireConfigurableServlet
    11        </servlet-class>
    12    </servlet>
    13
    14    <servlet-mapping>
    15        <servlet-name>XFireServlet</servlet-name>
    16        <url-pattern>/servlet/XFireServlet/*</url-pattern>
    17    </servlet-mapping>
    18
    19    <servlet-mapping>
    20        <servlet-name>XFireServlet</servlet-name>
    21        <url-pattern>/services/*</url-pattern>
    22    </servlet-mapping>
    23
    24
    25    <welcome-file-list>
    26        <welcome-file>index.jsp</welcome-file>
    27    </welcome-file-list>
    28</web-app>


    此時(shí)Web Service的服務(wù)端就開(kāi)發(fā)完成了。
    我們來(lái)看看客戶(hù)端的代碼吧,也很簡(jiǎn)單,如下:
     1package test;
     2
     3import java.net.MalformedURLException;
     4import java.util.ArrayList;
     5import java.util.List;
     6
     7import org.codehaus.xfire.XFireFactory;
     8import org.codehaus.xfire.client.XFireProxyFactory;
     9import org.codehaus.xfire.service.Service;
    10import org.codehaus.xfire.service.binding.ObjectServiceFactory;
    11
    12public class Client {
    13
    14    public static void main(String[] args) {
    15
    16        Service srvcModel = new ObjectServiceFactory()
    17                .create(IHelloService.class);
    18        XFireProxyFactory factory = new XFireProxyFactory(XFireFactory
    19                .newInstance().getXFire());
    20
    21        String helloWorldURL = "http://localhost:8080/xfiretest/services/HelloService";
    22        try {
    23            IHelloService srvc = (IHelloService) factory.create(srvcModel,
    24                    helloWorldURL);
    25            System.out.println(srvc.sayHello("Robin"));
    26            
    27            User u=new User();
    28            u.setName("RRRRR");
    29            Course c=srvc.choose(u);
    30            System.out.println(c.getName());
    31            
    32            List  al=new ArrayList();
    33            al.add("1212");
    34            al.add("2222");
    35            List t=srvc.test(al);
    36            for (int i = 0; i < t.size(); i++{
    37                Course co=(Course)t.get(i);
    38                System.out.println(co.getName());
    39            }

    40            
    41            
    42        }
     catch (MalformedURLException e) {
    43            e.printStackTrace();
    44        }

    45
    46    }

    47
    48}

    49

    以上代碼均無(wú)注釋?zhuān)驗(yàn)槎挤浅:?jiǎn)單,呵呵。如有不清楚的地方,請(qǐng)留言!


    關(guān)于使用XFire開(kāi)發(fā)Web Service客戶(hù)端的方法,可以參考我的另一篇文章《使用XFire開(kāi)發(fā)Web Service客戶(hù)端完整入門(mén)教程》。
    posted on 2008-01-03 17:53 Robin's Programming World 閱讀(90498) 評(píng)論(130)  編輯  收藏 所屬分類(lèi): Java
    評(píng)論共2頁(yè): 上一頁(yè) 1 2 

    評(píng)論:
    # re: XFire完整入門(mén)教程 2008-01-03 23:13 | star
    沙發(fā),先頂后看!  回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程 2008-01-04 09:06 | Robin's Java World
    @star
    謝謝支持!  回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程 2008-01-04 12:10 | BeanSoft
    代碼行號(hào)去掉就好了。不過(guò)個(gè)人覺(jué)得用IDE生成沒(méi)什么不好,Java這么多烏七八糟的開(kāi)源框架,沒(méi)IDE那才叫瘋了呢,生活是為了活得輕松嘛,要不然也不至于都用拖拉機(jī)耕地,還沒(méi)見(jiàn)哪個(gè)人用手耕地。  回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程 2008-01-04 17:12 | Robin's Java World
    @BeanSoft
    能生成的當(dāng)然很好,不過(guò)用IDE生成的話,XFire開(kāi)發(fā)WS需要JDK5支持,而我們的項(xiàng)目要求我們使用JDK1.4.2,沒(méi)辦法,我們不能用生成。
    另外,代碼生成往往會(huì)讓我們忽視原理,我比較喜歡知其然,更知其所以然。

    PS:以后貼代碼的時(shí)候再不用行號(hào)了。謝謝提醒!  回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程[未登錄](méi) 2008-01-09 09:24 | johnny
    我先頂后看,希望樓主上面的代碼,
    不是cope不完整的代碼
    不然我會(huì)開(kāi)罵的,o(∩_∩)o...哈哈  回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程 2008-01-09 10:39 | 我愛(ài)百合
    先回帖再看!
    之前剛在IDE里開(kāi)發(fā)過(guò),正想怎么手工創(chuàng)建呢?呵呵,謝謝樓主了!
    有問(wèn)題來(lái)問(wèn)哦!
      回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程 2008-01-09 11:25 | 我愛(ài)百合
    不出意料,報(bào)錯(cuò)了!!!
    org.codehaus.xfire.XFireRuntimeException: Cannot create mapping for java.util.List, unspecified component .....

    先提兩個(gè)有疑問(wèn)的地方:
    第一、services.xml文件到底放在什么地方?我放在HelloWord/META-INF/xfire下了。
    其中HelloWorld是我的工程名,xfire是我在META-INF下建的一個(gè)文件夾。
    第二、IHelloService.aegis.xml文件名就叫這個(gè)嗎?我把它放在test包下了,和IHelloService.java在一起
    我哪里寫(xiě)錯(cuò)了?  回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程[未登錄](méi) 2008-01-09 16:19 | johnny
    @我愛(ài)百合
    你的配置出問(wèn)題了?
    樓主上面的東東,好像少配置了一個(gè)東東。
    我這里有一個(gè)我剛寫(xiě)好的一個(gè)程序,如果你需要的話,我可以發(fā)給你
    :-) QQ:786875783  回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程 2008-01-14 11:21 | netpirate
    pls use MyEclipse!  回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程 2008-01-17 22:39 | Robin's Java World
    @我愛(ài)百合
    services.xml文件放到哪里都可以,但是要保證編譯后能夠在Web工程的Classes目錄的META-INF/xfire目錄下。

    IHelloService.aegis.xml文件放在與IHelloService.java相同的目錄下即可。  回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程 2008-01-19 15:59 | Robin's Java World
    @netpirate
    If I have not myeclipse, how work?
    And Myeclipse have to use above JDK5.0 .  回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程 2008-02-15 14:34 | cckey
    那幾個(gè)servlet呢。。。。  回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程 2008-02-21 10:12 | huazxing@163.com
    @我愛(ài)百合
    Robin的例子是IHelloService.aegis.xml,如果你是HelloWorld,你的文件名可能是IHelloWorldService.aegis.xml或其他類(lèi)似名稱(chēng),請(qǐng)根據(jù)你的接口名稱(chēng)命名此文件。

    另外,如果你用的是JDK1.5或以上,可以直接在List中加入具體類(lèi)型,比如例子中的return type: List<Course>和parameter 0 :List<String>,這樣就不用mapping了
    具體可以參考XFire 最新生火指南(上):
    http://wiki.springside.org.cn/display/springside/XFire
    2.3 配置Java-XML Binding

    @Robin
    感謝樓主的完整講解  回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程 2008-02-23 23:55 | Robin's Java World
    @huazxing@163.com
    感謝你的熱情回答!
      回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程 2008-02-28 11:01 | milo
    請(qǐng)問(wèn)下面的異常是由什么到導(dǎo)致的。

    - No beans defined in application context [org.codehaus.xfire.transport.http.XFireConfigurableServlet$GenericWebApplicationContextX;hashCode=2254042]
    - Commons Collections 3.x available
    - Unable to locate MessageSource with name 'messageSource': using default [org.springframework.context.support.DelegatingMessageSource@1586cbd]
    - Unable to locate ApplicationEventMulticaster with name 'applicationEventMulticaster': using default [org.springframework.context.event.SimpleApplicationEventMulticaster@15ad1da]
    - Unable to locate ThemeSource with name 'themeSource': using default [org.springframework.ui.context.support.ResourceBundleThemeSource@18bbb61]
    - Pre-instantiating singletons in factory [org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans []; root of BeanFactory hierarchy]
    - Error initializing XFireServlet.
    java.lang.SecurityException: class "org.springframework.core.AttributeAccessorSupport"'s signer information does not match signer information of other classes in the same package
    at java.lang.ClassLoader.checkCerts(ClassLoader.java:775)
    at java.lang.ClassLoader.preDefineClass(ClassLoader.java:487)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:614)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1812)
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:866)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1319)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1198)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:169)
    at org.apache.xbean.spring.context.impl.XBeanHelper.createBeanDefinitionReader(XBeanHelper.java:36)
    at org.codehaus.xfire.spring.XFireConfigLoader.getXFireApplicationContext(XFireConfigLoader.java:74)
    at org.codehaus.xfire.spring.XFireConfigLoader.loadContext(XFireConfigLoader.java:41)
    at org.codehaus.xfire.transport.http.XFireConfigurableServlet.loadConfig(XFireConfigurableServlet.java:86)
    at org.codehaus.xfire.transport.http.XFireConfigurableServlet.createXFire(XFireConfigurableServlet.java:54)
    at org.codehaus.xfire.transport.http.XFireServlet.init(XFireServlet.java:45)
    at javax.servlet.GenericServlet.init(GenericServlet.java:211)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1105)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3917)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4201)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:904)
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:867)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
    at org.apache.catalina.core.StandardService.start(StandardService.java:450)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
      回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程 2008-02-28 16:36 | Robin's Java World
    @milo
    你是不是做了Spring的整合?
    No beans defined in application context
    根據(jù)這句的提示,應(yīng)該是說(shuō)你用到了某一個(gè)bean,但是并沒(méi)有在Spring中定義。
      回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程 2008-02-28 18:23 | milo
    我應(yīng)該沒(méi)有使用到Spring,我開(kāi)始懷疑XFire的庫(kù)和其他的庫(kù)有沖突,于是我就把我沒(méi)用到的庫(kù)都刪掉了,可是異常更多了。  回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程 2008-02-28 22:18 | milo
    robin謝謝了。問(wèn)題已經(jīng)解決,是第三方的jar有沖突了:dom4j中的jaxen與XFire中的jaxen包沖突了!  回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程 2008-03-06 17:12 | passenger
    webservice 一定要開(kāi)發(fā)一個(gè)客戶(hù)端程序嗎?如果這樣,則需在每個(gè)客戶(hù)機(jī)上安裝一個(gè)客戶(hù)程序豈不很麻煩?  回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程 2008-03-19 14:38 | Robin's Java World
    @passenger
    不好意思,說(shuō)句不太客氣的話,你可能需要更多應(yīng)用軟件架構(gòu)與部署的更多知識(shí),也需要更好的理解C/S,B/S的更多相關(guān)知識(shí)。
    通常,是否需要在客戶(hù)機(jī)上裝一個(gè)客戶(hù)程序是取決于你是用C/S還是用B/S模式的。當(dāng)然,你也可以把任何與Web Service交互的機(jī)器當(dāng)作是客戶(hù)端,這樣的話,那就是每個(gè)機(jī)器上都要裝客戶(hù)端程序了。  回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程 2008-03-23 22:51 | yame
    我完全按照上面的完整教程做下來(lái),服務(wù)器端部署服務(wù)都正常,客房歒代碼運(yùn)行出現(xiàn)如下錯(cuò)誤,請(qǐng)問(wèn)這是什么原因?
    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/httpclient/Credentials
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
    at java.lang.Class.getConstructor0(Unknown Source)
    at java.lang.Class.getConstructor(Unknown Source)
    at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:108)
    at org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)
    at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
    at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
    at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:79)
    at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:114)
    at org.codehaus.xfire.client.Client.invoke(Client.java:336)
    at org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)
    at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
    at $Proxy0.sayHello(Unknown Source)
    at client.Client.main(Client.java:25)  回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程 2008-03-24 01:55 | Robin's Java World
    @yame
    根據(jù)你貼上來(lái)的Log來(lái)看,是屬于沒(méi)有找到Credentials這個(gè)類(lèi)所致。
    通常出現(xiàn)這樣的錯(cuò)誤有兩種情況:
    1,沒(méi)有依賴(lài)的包,或者包不在classpath下
    2,包沖突
    請(qǐng)根據(jù)具體情況來(lái)判斷,檢查環(huán)境配置是否正確。  回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程[未登錄](méi) 2008-03-24 08:57 | zym
    使用xfire做webservice,在瀏覽器中可以訪問(wèn)到wsdl,用MyEclipse的Web Service Explore 調(diào)用服務(wù)出現(xiàn)如下錯(cuò)誤,請(qǐng)教大概是什么原因?qū)е碌模?
    [ERROR] http-8888-Processor24 2008-03-24 08:55:02,062 org.codehaus.xfire.handler.DefaultFaultHandler - Fault occurred!
    java.lang.IllegalArgumentException: object is not an instance of declaring class
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.codehaus.xfire.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:54)
    at org.codehaus.xfire.service.invoker.ObjectInvoker.invoke(ObjectInvoker.java:45)
    at org.codehaus.xfire.service.binding.ServiceInvocationHandler.sendMessage(ServiceInvocationHandler.java:271)
    at org.codehaus.xfire.service.binding.ServiceInvocationHandler$1.run(ServiceInvocationHandler.java:84)
    at org.codehaus.xfire.service.binding.ServiceInvocationHandler.execute(ServiceInvocationHandler.java:132)
    at org.codehaus.xfire.service.binding.ServiceInvocationHandler.invoke(ServiceInvocationHandler.java:107)
    at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
    at org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
    at org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
    at org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:301)
    at org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:130)
    at org.codehaus.xfire.transport.http.XFireServlet.doPost(XFireServlet.java:116)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:99)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    at java.lang.Thread.run(Unknown Source)  回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程 2008-03-24 17:13 | wudayin
    xfire生成的服務(wù)默認(rèn)是不是使用SOAP1.1報(bào)文?
    如何配置才能讓xfire生成的服務(wù)使用SOAP1.2報(bào)文的設(shè)置內(nèi)容?  回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程 2008-03-30 16:23 | Robin's Java World
    @wudayin
    xfire默認(rèn)是采用SOAP1.1的報(bào)文。
    如果你想使用SOAP1.2的報(bào)文的話,可以采用bindings標(biāo)簽來(lái)進(jìn)行設(shè)置。
    也可以與Spring結(jié)合來(lái)進(jìn)行配置,相關(guān)的配置你可以參考官方文檔。  回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程 2008-03-30 16:24 | Robin's Java World
    @zym
    出現(xiàn)你這樣問(wèn)題的原因應(yīng)該是包的配置不對(duì),或者是程序中有哪里沒(méi)有按文章中所說(shuō)的來(lái)。懷疑是你客戶(hù)端所傳對(duì)象不正確之類(lèi)。  回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程 2008-07-22 16:47 | ponpon
    你好,我是用MyEclipse來(lái)開(kāi)發(fā)的,請(qǐng)問(wèn)用webservice怎么樣從客戶(hù)端傳遞List參數(shù)給服務(wù)器端嗎(在另外一個(gè)JavaProject工程里面)?
    比如我在服務(wù)器上的函數(shù)是public String getList(List list){},其中這List裝的對(duì)象是User對(duì)象,我用MyEclipse生成客戶(hù)端時(shí)自動(dòng)生成了一個(gè)ArrayOfUser類(lèi),調(diào)用service.getList(),時(shí)里面提示要的參數(shù)不是List型,而是ArrayOfUser型 ,該怎么封裝一下呢?謝謝
    望回信:javapon@163.com  回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程 2008-07-23 15:17 | Robin's Java World
    @ponpon
    在另一個(gè)工程里面要傳List<User>這樣的參數(shù),你可以把服務(wù)端的User對(duì)象打包過(guò)來(lái)。然后import這個(gè)對(duì)象即可呀。  回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程 2008-07-30 23:26 | young
    蠻不錯(cuò)的文章.對(duì)于像我們這樣初學(xué)WEB SERVICES的.
    有2個(gè)疑問(wèn)請(qǐng)教一下:
    1.像客戶(hù)端的話明顯是不知道User和Course結(jié)構(gòu)的,一般的做法是怎么樣讓客戶(hù)端去知道User和Course結(jié)構(gòu)的?

    2.如果Course或User也是要調(diào)用服務(wù)端進(jìn)行實(shí)現(xiàn)的話,又該如何處理?  回復(fù)  更多評(píng)論
      
    # re: XFire完整入門(mén)教程 2008-07-31 15:48 | Robin's Java World
    @young
    回答你的兩個(gè)問(wèn)題:
    1,客戶(hù)端很明顯是可以通過(guò)WSDL來(lái)知道User,Course等對(duì)象的結(jié)構(gòu)的。比如,你用一些工具來(lái)生成客戶(hù)端時(shí),可以自動(dòng)生成這些對(duì)象。
    2,Course,User等對(duì)象客戶(hù)端有定義,所以不存在你說(shuō)的問(wèn)題。  回復(fù)  更多評(píng)論
      
    評(píng)論共2頁(yè): 上一頁(yè) 1 2 
    主站蜘蛛池模板: 免费精品视频在线| 久草免费手机视频| 特级无码毛片免费视频尤物| 91情侣在线精品国产免费| 亚洲电影日韩精品 | 青青草免费在线视频| 亚洲精品无码久久毛片| 亚洲精品美女视频| 狠狠热精品免费观看| 69成人免费视频| 亚洲欧洲∨国产一区二区三区| 亚洲日本VA午夜在线影院| 国产免费无码AV片在线观看不卡| 精品国产免费观看一区| 亚洲AV无码专区在线播放中文| 亚洲av第一网站久章草| 午夜视频免费在线观看| 亚洲 小说区 图片区 都市| 亚洲熟妇色自偷自拍另类| 成人一级免费视频| 大地资源免费更新在线播放| 久久亚洲国产中v天仙www| 亚洲.国产.欧美一区二区三区| 最近2018中文字幕免费视频| 亚洲成av人片天堂网老年人| 精品亚洲国产成人| 免费国产午夜高清在线视频| 亚洲成av人片在线观看天堂无码| 自拍日韩亚洲一区在线| 久久久高清日本道免费观看| 又粗又大又长又爽免费视频| 国产精品亚洲一区二区麻豆| 亚洲精品免费观看| 亚洲精品无码久久久久sm| 国产亚洲男人的天堂在线观看| 一二三四在线观看免费高清中文在线观看 | 亚洲AV无码一区东京热久久| 国产麻豆免费观看91| 亚洲精品高清视频| 国产日韩久久免费影院| 国产hs免费高清在线观看|