Hi, I had a test of comparing webservice performance with jbossws on jbos 4.0.4 and jboss.net over jboss 3.2.5 I found out that jbossws was working several times slower (!!!).
the results: on JBoss 4.0.4CR2 on windows with document literal donotunwrap(wrap): loop 10 times in 126632 ms average round 12663 ms loop 50 times in 456880 ms average round 9137 ms on JBoss 3.2.5 on windows with rpc literal: loop 10 times in 23695 ms average round 2369 ms loop 50 times in 108643 ms average round 2172 ms here is the bean: | public class AmsItemManagerBean implements SessionBean{ | | public AmsItem[] getAmsItemArray(boolean bool1, String str1, String str2, boolean bool2, boolean bo | ol3) throws RemoteException { | AmsItem[] amsItems = new AmsItem[1000]; | | short shrt = 1; | long lng = 2; | String str = "ejbTest"; | long begin = 0; | long end = 0; | long begin2 = 0; | long end2 = 0; | AmsItem[] utia; | begin2 = System.currentTimeMillis(); | int rounds = 1000; | for (int i=0; i<rounds; i++) { | AmsItem amsItem = new AmsItem(str,lng,shrt,shrt,str,str,1,new Date(),shrt,new Date(),shrt,new Str | ing[5]); | amsItems | = amsItem; | } | end2 = System.currentTimeMillis(); | System.out.println("returning amsItem[] with length:" + amsItems.length + " in "+ (end2-begin2) + " ms"); | return amsItems; | } | ... | } | | the test code: | public class MainTest { | | public static void main(String[] args) { | AmsAmsItemEjbService AmsAmsItemEjbService = new AmsAmsItemEjbService_Impl(); | try { | AmsItemManager amsItemManager = AmsAmsItemEjbService.getAmsItemManagerPort(); | long begin = 0; | long end = 0; | long begin2 = 0; | long end2 = 0; | AmsItem[] utia = null; | begin2 = System.currentTimeMillis(); | int rounds = 10; | for (int i=0; i<rounds; i++) { | begin = System.currentTimeMillis(); | utia = amsItemManager.getAmsItemArray(true,"aaa","b",false,false); | end = System.currentTimeMillis(); | System.out.println("returned: " + utia.length + " in " + (end-begin) + " ms"); | } | end2 = System.currentTimeMillis(); | System.out.println("loop " + rounds + " times in " + (end2-begin2) + " ms"); | System.out.println("average round " + (end2-begin2)/rounds + " ms"); | } catch (ServiceException e) { | // TODO Auto-generated catch block | e.printStackTrace(); | } catch (RemoteException e) { | // TODO Auto-generated catch block | e.printStackTrace(); | } | } | } | and the wsdl that created by wscompile: | <?xml version="1.0" encoding="UTF-8"?> | | <definitions name="AmsItemEjbService" targetNamespace="http://obj.ams.webservicesejb.com/" xmlns:tns="http://obj.ams.webservicesejb.com/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns2="http://obj.ams.webservicesejb.com/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> | <types> | <schema targetNamespace="http://obj.ams.webservicesejb.com/types" xmlns:tns="http://obj.ams.webservicesejb.com/types" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://www.w3.org/2001/XMLSchema"> | <complexType name="getAmsItemArray"> | <sequence> | <element name="boolean_1" type="boolean"/> | <element name="String_2" type="string" nillable="true"/> | <element name="String_3" type="string" nillable="true"/> | <element name="boolean_4" type="boolean"/> | <element name="boolean_5" type="boolean"/></sequence></complexType> | <complexType name="getAmsItemArrayResponse"> | <sequence> | <element name="result" type="tns:AmsItem" nillable="true" minOccurs="0" maxOccurs="unbounded"/></sequence></complexType> | <complexType name="AmsItem"> | <sequence> | <element name="ams1" type="string" nillable="true"/> | <element name="ams10" type="dateTime" nillable="true"/> | <element name="ams11" type="short"/> | <element name="ams12" type="string" nillable="true" minOccurs="0" maxOccurs="unbounded"/> | <element name="ams2" type="long"/> | <element name="ams3" type="short"/> | <element name="ams4" type="short"/> | <element name="ams5" type="string" nillable="true"/> | <element name="ams6" type="string" nillable="true"/> | <element name="ams7" type="int"/> | <element name="ams8" type="dateTime" nillable="true"/> | <element name="ams9" type="short"/></sequence></complexType> | <element name="getAmsItemArray" type="tns:getAmsItemArray"/> | <element name="getAmsItemArrayResponse" type="tns:getAmsItemArrayResponse"/></schema></types> | <message name="AmsItemManager_getAmsItemArray"> | <part name="parameters" element="ns2:getAmsItemArray"/></message> | <message name="AmsItemManager_getAmsItemArrayResponse"> | <part name="result" element="ns2:getAmsItemArrayResponse"/></message> | <portType name="AmsItemManager"> | <operation name="getAmsItemArray"> | <input message="tns:AmsItemManager_getAmsItemArray"/> | <output message="tns:AmsItemManager_getAmsItemArrayResponse"/></operation></portType> | <binding name="AmsItemManagerBinding" type="tns:AmsItemManager"> | <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> | <operation name="getAmsItemArray"> | <soap:operation soapAction=""/> | <input> | <soap:body use="literal"/></input> | <output> | <soap:body use="literal"/></output></operation></binding> | <service name="AmsItemEjbService"> | <port name="AmsItemManagerPort" binding="tns:AmsItemManagerBinding"> | <soap:address location="REPLACE_WITH_ACTUAL_URL"/></port></service></definitions> | View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3942430#3942430 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3942430 ------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user