Alek, can you please submit a patch for your Benchmark test (morph it into a axis test case). The more Benchmark tests we have the better it is to do performance testing.
thanks, dims On Tue, 11 May 2004 17:43:39 -0500, Aleksander Slominski <[EMAIL PROTECTED]> wrote: > > Goldstein, Scott wrote: > > > Could someone explain to me that advantages/disadvantages of turning > > streaming on (high-fidelity off)? > > > hi, > > it would be nice if somebody who implemented (Dims? Glen?) this feature > posted some notes about it and expected performance gains/trade offs (if > streaming no longer support for DOM?) > > > It seems like the SAX Event recording is causing some performance > > issues and we're wondering if turning streaming on will fix this. > > > based on simple performance tests (just few runs and without error > analysis) there is no substantial difference (see results below) when > running test for array sizes of 10 and 1000 ... the difference is > visible for arrays that have 100K elements: > > NOTE: i do not use AXIS as client but XSOAP4 - i only use AXIS server side. > > i have a simple service that implements methods such as "echoVoid > echoStrings receiveBase64 receiveDoubles sendInts echoBase64 > receiveStrings echoInts receiveInts sendDoubles sendBase64 echoDoubles > sendStrings" (see wsdd and wsdl file below) and i have two versions of > the service deployed: with and without streaming="on". > > for service deployed with streaming="on" > > N=2 avg invocation:50.0 [ms] throughput:20.0 [invocations/second] > arraysSize=100000 direction=r method=b > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING receiveBase64 100000 0.050000000 20.00 > > N=2 avg invocation:23839.5 [ms] throughput:0.04194718848969148 > [invocations/second] arraysSize=100000 direction=r method=d > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING receiveDoubles 100000 23.839500000 > 0.04 > > N=2 avg invocation:21681.0 [ms] throughput:0.04612333379456667 > [invocations/second] arraysSize=100000 direction=r method=i > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING receiveInts 100000 21.681000000 0.05 > > N=2 avg invocation:22767.5 [ms] throughput:0.04392225760404085 > [invocations/second] arraysSize=100000 direction=r method=s > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING receiveStrings 100000 22.767500000 > 0.04 > > the same test but for AXIS service deployed without streaming > > N=2 avg invocation:60.0 [ms] throughput:16.666666666666668 > [invocations/second] arraysSize=100000 direction=r method=b > A31P_JDK142 XSOAP4 AXIS_1_2 receiveBase64 100000 0.060000000 16.67 > > N=2 avg invocation:30534.0 [ms] throughput:0.03275037662933124 > [invocations/second] arraysSize=100000 direction=r method=d > A31P_JDK142 XSOAP4 AXIS_1_2 receiveDoubles 100000 30.534000000 0.03 > > N=2 avg invocation:28060.0 [ms] throughput:0.03563791874554526 > [invocations/second] arraysSize=100000 direction=r method=i > A31P_JDK142 XSOAP4 AXIS_1_2 receiveInts 100000 28.060000000 0.04 > > N=2 avg invocation:29217.0 [ms] throughput:0.03422664886880926 > [invocations/second] arraysSize=100000 direction=r method=s > A31P_JDK142 XSOAP4 AXIS_1_2 receiveStrings 100000 29.217000000 0.03 > > so it looks like when using streaming for very large complex payloads > you may gain 20% increase in performance ... > > > In addition, is there a way, in Axis 1.1, to turn it on on the the > > client side? > > > no idea. > > > How about in 1.2? > > > for server side: in deploy.wsdd do something similar <service > name="Benchmark1Streaming" provider="java:RPC" streaming="on"> > > on client side: there is property "axis.streaming" to Boolean.TRUE > and/or you can can cast to o.a..axis.client.Call and use > setStreaming(true). i think both should work? > see also: http://issues.apache.org/jira/browse/AXIS-1323 > > best, > > alek > > here are results on my Thinkpad A31P 2Ghz 1GB RAM , JDK 1.4.2 for array > of size 10 and 1000 elements: > > --------------------------- > RESULTS WITH STREAMING > > size=10 > > N=200 avg invocation:15.025 [ms] throughput:66.55574043261231 > [invocations/second] arraysSize=10 direction=e method=v > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING echoVoid 10 0.015025000 66.56 > > N=200 avg invocation:14.97 [ms] throughput:66.8002672010688 > [invocations/second] arraysSize=10 direction=e method=b > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING echoBase64 10 0.014970000 66.80 > > N=200 avg invocation:17.875 [ms] throughput:55.94405594405594 > [invocations/second] arraysSize=10 direction=e method=d > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING echoDoubles 10 0.017875000 55.94 > > N=200 avg invocation:18.53 [ms] throughput:53.96654074473826 > [invocations/second] arraysSize=10 direction=e method=i > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING echoInts 10 0.018530000 53.97 > > N=200 avg invocation:17.975 [ms] throughput:55.63282336578581 > [invocations/second] arraysSize=10 direction=e method=s > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING echoStrings 10 0.017975000 55.63 > > N=200 avg invocation:15.57 [ms] throughput:64.22607578676943 > [invocations/second] arraysSize=10 direction=r method=b > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING receiveBase64 10 0.015570000 64.23 > > N=200 avg invocation:16.825 [ms] throughput:59.43536404160475 > [invocations/second] arraysSize=10 direction=r method=d > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING receiveDoubles 10 0.016825000 59.44 > > N=200 avg invocation:16.725 [ms] throughput:59.79073243647235 > [invocations/second] arraysSize=10 direction=r method=i > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING receiveInts 10 0.016725000 59.79 > > N=200 avg invocation:18.775 [ms] throughput:53.26231691078562 > [invocations/second] arraysSize=10 direction=r method=s > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING receiveStrings 10 0.018775000 53.26 > > N=200 avg invocation:13.62 [ms] throughput:73.42143906020557 > [invocations/second] arraysSize=10 direction=s method=b > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING sendBase64 10 0.013620000 73.42 > > N=200 avg invocation:16.625 [ms] throughput:60.150375939849624 > [invocations/second] arraysSize=10 direction=s method=d > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING sendDoubles 10 0.016625000 60.15 > > N=200 avg invocation:15.975 [ms] throughput:62.59780907668232 > [invocations/second] arraysSize=10 direction=s method=i > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING sendInts 10 0.015975000 62.60 > > N=200 avg invocation:21.13 [ms] throughput:47.326076668244205 > [invocations/second] arraysSize=10 direction=s method=s > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING sendStrings 10 0.021130000 47.33 > > size=1000 > > N=2 avg invocation:20.0 [ms] throughput:50.0 [invocations/second] > arraysSize=1000 direction=e method=v > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING echoVoid 1000 0.020000000 50.00 > > N=2 avg invocation:15.0 [ms] throughput:66.66666666666667 > [invocations/second] arraysSize=1000 direction=e method=b > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING echoBase64 1000 0.015000000 66.67 > > N=2 avg invocation:515.5 [ms] throughput:1.939864209505335 > [invocations/second] arraysSize=1000 direction=e method=d > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING echoDoubles 1000 0.515500000 1.94 > > N=2 avg invocation:506.0 [ms] throughput:1.976284584980237 > [invocations/second] arraysSize=1000 direction=e method=i > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING echoInts 1000 0.506000000 1.98 > > N=2 avg invocation:440.5 [ms] throughput:2.2701475595913734 > [invocations/second] arraysSize=1000 direction=e method=s > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING echoStrings 1000 0.440500000 2.27 > > N=2 avg invocation:15.0 [ms] throughput:66.66666666666667 > [invocations/second] arraysSize=1000 direction=r method=b > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING receiveBase64 1000 0.015000000 66.67 > > N=2 avg invocation:290.5 [ms] throughput:3.442340791738382 > [invocations/second] arraysSize=1000 direction=r method=d > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING receiveDoubles 1000 0.290500000 3.44 > > N=2 avg invocation:265.5 [ms] throughput:3.766478342749529 > [invocations/second] arraysSize=1000 direction=r method=i > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING receiveInts 1000 0.265500000 3.77 > > N=2 avg invocation:260.0 [ms] throughput:3.846153846153846 > [invocations/second] arraysSize=1000 direction=r method=s > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING receiveStrings 1000 0.260000000 3.85 > > N=2 avg invocation:15.0 [ms] throughput:66.66666666666667 > [invocations/second] arraysSize=1000 direction=s method=b > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING sendBase64 1000 0.015000000 66.67 > > N=2 avg invocation:235.5 [ms] throughput:4.246284501061571 > [invocations/second] arraysSize=1000 direction=s method=d > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING sendDoubles 1000 0.235500000 4.25 > > N=2 avg invocation:185.5 [ms] throughput:5.390835579514825 > [invocations/second] arraysSize=1000 direction=s method=i > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING sendInts 1000 0.185500000 5.39 > > N=2 avg invocation:230.0 [ms] throughput:4.3478260869565215 > [invocations/second] arraysSize=1000 direction=s method=s > A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING sendStrings 1000 0.230000000 4.35 > > -------------------------------- > RESULTS WITHOUT STREAMING > > array size=10 > > N=200 avg invocation:14.27 [ms] throughput:70.0770847932726 > [invocations/second] arraysSize=10 direction=e method=v > A31P_JDK142 XSOAP4 AXIS_1_2 echoVoid 10 0.014270000 70.08 > > N=200 avg invocation:15.375 [ms] throughput:65.04065040650406 > [invocations/second] arraysSize=10 direction=e method=b > A31P_JDK142 XSOAP4 AXIS_1_2 echoBase64 10 0.015375000 65.04 > > N=200 avg invocation:17.725 [ms] throughput:56.41748942172074 > [invocations/second] arraysSize=10 direction=e method=d > A31P_JDK142 XSOAP4 AXIS_1_2 echoDoubles 10 0.017725000 56.42 > > N=200 avg invocation:17.875 [ms] throughput:55.94405594405594 > [invocations/second] arraysSize=10 direction=e method=i > A31P_JDK142 XSOAP4 AXIS_1_2 echoInts 10 0.017875000 55.94 > > N=200 avg invocation:18.275 [ms] throughput:54.719562243502054 > [invocations/second] arraysSize=10 direction=e method=s > A31P_JDK142 XSOAP4 AXIS_1_2 echoStrings 10 0.018275000 54.72 > > N=200 avg invocation:13.22 [ms] throughput:75.642965204236 > [invocations/second] arraysSize=10 direction=r method=b > A31P_JDK142 XSOAP4 AXIS_1_2 receiveBase64 10 0.013220000 75.64 > > N=200 avg invocation:17.925 [ms] throughput:55.78800557880056 > [invocations/second] arraysSize=10 direction=r method=d > A31P_JDK142 XSOAP4 AXIS_1_2 receiveDoubles 10 0.017925000 55.79 > > N=200 avg invocation:18.13 [ms] throughput:55.15719801434087 > [invocations/second] arraysSize=10 direction=r method=i > A31P_JDK142 XSOAP4 AXIS_1_2 receiveInts 10 0.018130000 55.16 > > N=200 avg invocation:17.02 [ms] throughput:58.75440658049354 > [invocations/second] arraysSize=10 direction=r method=s > A31P_JDK142 XSOAP4 AXIS_1_2 receiveStrings 10 0.017020000 58.75 > > N=200 avg invocation:13.57 [ms] throughput:73.69196757553426 > [invocations/second] arraysSize=10 direction=s method=b > A31P_JDK142 XSOAP4 AXIS_1_2 sendBase64 10 0.013570000 73.69 > > N=200 avg invocation:13.57 [ms] throughput:73.69196757553426 > [invocations/second] arraysSize=10 direction=s method=d > A31P_JDK142 XSOAP4 AXIS_1_2 sendDoubles 10 0.013570000 73.69 > > N=200 avg invocation:13.37 [ms] throughput:74.79431563201197 > [invocations/second] arraysSize=10 direction=s method=i > A31P_JDK142 XSOAP4 AXIS_1_2 sendInts 10 0.013370000 74.79 > > N=200 avg invocation:16.375 [ms] throughput:61.06870229007634 > [invocations/second] arraysSize=10 direction=s method=s > A31P_JDK142 XSOAP4 AXIS_1_2 sendStrings 10 0.016375000 61.07 > > size=1000 > > N=2 avg invocation:10.0 [ms] throughput:100.0 [invocations/second] > arraysSize=1000 direction=e method=v > A31P_JDK142 XSOAP4 AXIS_1_2 echoVoid 1000 0.010000000 100.00 > > N=2 avg invocation:15.0 [ms] throughput:66.66666666666667 > [invocations/second] arraysSize=1000 direction=e method=b > A31P_JDK142 XSOAP4 AXIS_1_2 echoBase64 1000 0.015000000 66.67 > > N=2 avg invocation:475.5 [ms] throughput:2.1030494216614093 > [invocations/second] arraysSize=1000 direction=e method=d > A31P_JDK142 XSOAP4 AXIS_1_2 echoDoubles 1000 0.475500000 2.10 > > N=2 avg invocation:436.0 [ms] throughput:2.293577981651376 > [invocations/second] arraysSize=1000 direction=e method=i > A31P_JDK142 XSOAP4 AXIS_1_2 echoInts 1000 0.436000000 2.29 > > N=2 avg invocation:600.5 [ms] throughput:1.665278934221482 > [invocations/second] arraysSize=1000 direction=e method=s > A31P_JDK142 XSOAP4 AXIS_1_2 echoStrings 1000 0.600500000 1.67 > > N=2 avg invocation:15.0 [ms] throughput:66.66666666666667 > [invocations/second] arraysSize=1000 direction=r method=b > A31P_JDK142 XSOAP4 AXIS_1_2 receiveBase64 1000 0.015000000 66.67 > > N=2 avg invocation:285.5 [ms] throughput:3.502626970227671 > [invocations/second] arraysSize=1000 direction=r method=d > A31P_JDK142 XSOAP4 AXIS_1_2 receiveDoubles 1000 0.285500000 3.50 > > N=2 avg invocation:280.5 [ms] throughput:3.5650623885918 > [invocations/second] arraysSize=1000 direction=r method=i > A31P_JDK142 XSOAP4 AXIS_1_2 receiveInts 1000 0.280500000 3.57 > > N=2 avg invocation:295.5 [ms] throughput:3.3840947546531304 > [invocations/second] arraysSize=1000 direction=r method=s > A31P_JDK142 XSOAP4 AXIS_1_2 receiveStrings 1000 0.295500000 3.38 > > N=2 avg invocation:10.0 [ms] throughput:100.0 [invocations/second] > arraysSize=1000 direction=s method=b > A31P_JDK142 XSOAP4 AXIS_1_2 sendBase64 1000 0.010000000 100.00 > > N=2 avg invocation:185.0 [ms] throughput:5.405405405405405 > [invocations/second] arraysSize=1000 direction=s method=d > A31P_JDK142 XSOAP4 AXIS_1_2 sendDoubles 1000 0.185000000 5.41 > > N=2 avg invocation:170.5 [ms] throughput:5.865102639296187 > [invocations/second] arraysSize=1000 direction=s method=i > A31P_JDK142 XSOAP4 AXIS_1_2 sendInts 1000 0.170500000 5.87 > > N=2 avg invocation:285.5 [ms] throughput:3.502626970227671 > [invocations/second] arraysSize=1000 direction=s method=s > A31P_JDK142 XSOAP4 AXIS_1_2 sendStrings 1000 0.285500000 3.50 > > ------------------------------------------- > server-config.wsdd > > <?xml version="1.0" encoding="UTF-8"?> > <deployment xmlns="http://xml.apache.org/axis/wsdd/" > xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> > <globalConfiguration> > <parameter name="adminPassword" value="admin"/> > <parameter name="attachments.implementation" > value="org.apache.axis.attachments.AttachmentsImpl"/> > <parameter name="sendXsiTypes" value="false"/> > <parameter name="sendMultiRefs" value="false"/> > <parameter name="sendXMLDeclaration" value="true"/> > <requestFlow> > <handler type="java:org.apache.axis.handlers.JWSHandler"> > <parameter name="scope" value="session"/> > </handler> > <handler type="java:org.apache.axis.handlers.JWSHandler"> > <parameter name="scope" value="request"/> > <parameter name="extension" value=".jwr"/> > </handler> > </requestFlow> > </globalConfiguration> > <handler name="LocalResponder" > type="java:org.apache.axis.transport.local.LocalResponder"/> > <handler name="URLMapper" > type="java:org.apache.axis.handlers.http.URLMapper"/> > <handler name="Authenticate" > type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/> > <service name="AdminService" provider="java:MSG"> > <parameter name="allowedMethods" value="AdminService"/> > <parameter name="enableRemoteAdmin" value="false"/> > <parameter name="className" value="org.apache.axis.utils.Admin"/> > <namespace>http://xml.apache.org/axis/wsdd/</namespace> > </service> > <service name="Benchmark1" provider="java:RPC"> > <operation name="echoVoid" qname="ns1:echoVoid" soapAction="" > xmlns:ns1="urn:Benchmark1"/> > <operation returnQName="output" returnType="xsd:base64Binary" > name="echoBase64" qname="ns2:echoBase64" soapAction="" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="urn:Benchmark1"> > <parameter name="input" type="xsd:base64Binary"/> > </operation> > <operation returnQName="output" returnType="ns3:ArrayOfstring" > name="echoStrings" qname="ns3:echoStrings" soapAction="" > xmlns:ns3="urn:Benchmark1"> > <parameter name="input" type="ns3:ArrayOfstring"/> > </operation> > <operation returnQName="output" returnType="ns4:ArrayOfint" > name="echoInts" qname="ns4:echoInts" soapAction="" > xmlns:ns4="urn:Benchmark1"> > <parameter name="input" type="ns4:ArrayOfint"/> > </operation> > <operation returnQName="output" returnType="ns5:ArrayOfdouble" > name="echoDoubles" qname="ns5:echoDoubles" soapAction="" > xmlns:ns5="urn:Benchmark1"> > <parameter name="input" type="ns5:ArrayOfdouble"/> > </operation> > <operation returnQName="size" returnType="xsd:int" name="receiveBase64" > qname="ns6:receiveBase64" soapAction="" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns6="urn:Benchmark1"> > <parameter name="input" type="xsd:base64Binary"/> > </operation> > <operation returnQName="size" returnType="xsd:int" name="receiveStrings" > qname="ns7:receiveStrings" soapAction="" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns7="urn:Benchmark1"> > <parameter name="input" type="ns7:ArrayOfstring"/> > </operation> > <operation returnQName="size" returnType="xsd:int" name="receiveInts" > qname="ns8:receiveInts" soapAction="" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns8="urn:Benchmark1"> > <parameter name="input" type="ns8:ArrayOfint"/> > </operation> > <operation returnQName="size" returnType="xsd:int" name="receiveDoubles" > qname="ns9:receiveDoubles" soapAction="" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns9="urn:Benchmark1"> > <parameter name="input" type="ns9:ArrayOfdouble"/> > </operation> > <operation returnQName="output" returnType="xsd:base64Binary" > name="sendBase64" qname="ns10:sendBase64" soapAction="" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns10="urn:Benchmark1"> > <parameter name="size" type="xsd:int"/> > </operation> > <operation returnQName="output" returnType="ns11:ArrayOfstring" > name="sendStrings" qname="ns11:sendStrings" soapAction="" > xmlns:ns11="urn:Benchmark1"> > <parameter name="size" type="xsd:int" > xmlns:xsd="http://www.w3.org/2001/XMLSchema"/> > </operation> > <operation returnQName="output" returnType="ns12:ArrayOfint" > name="sendInts" qname="ns12:sendInts" soapAction="" > xmlns:ns12="urn:Benchmark1"> > <parameter name="size" type="xsd:int" > xmlns:xsd="http://www.w3.org/2001/XMLSchema"/> > </operation> > <operation returnQName="output" returnType="ns13:ArrayOfdouble" > name="sendDoubles" qname="ns13:sendDoubles" soapAction="" > xmlns:ns13="urn:Benchmark1"> > <parameter name="size" type="xsd:int" > xmlns:xsd="http://www.w3.org/2001/XMLSchema"/> > </operation> > <parameter name="allowedMethods" value="echoVoid echoStrings > receiveBase64 receiveDoubles sendInts echoBase64 receiveStrings echoInts > receiveInts sendDoubles sendBase64 echoDoubles sendStrings"/> > <parameter name="wsdlPortType" value="Benchmark1PortType"/> > <parameter name="wsdlServicePort" value="Benchmark1"/> > <parameter name="className" value="benchmark1.Benchmark1Impl"/> > <parameter name="scope" value="Session"/> > <parameter name="wsdlTargetNamespace" > value="http://www.extreme.indiana.edu/wsdl/Benchmark1.wsdl"/> > <parameter name="wsdlServiceElement" value="Benchmark1"/> > <typeMapping encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" > deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" > type="java:double[]" qname="ns14:ArrayOfdouble" > xmlns:ns14="urn:Benchmark1"/> > <typeMapping encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" > deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" > type="java:int[]" qname="ns15:ArrayOfint" xmlns:ns15="urn:Benchmark1"/> > <typeMapping encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" > deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" > type="java:java.lang.String[]" qname="ns16:ArrayOfstring" > xmlns:ns16="urn:Benchmark1"/> > </service> > <service name="Version" provider="java:RPC"> > <parameter name="allowedMethods" value="getVersion"/> > <parameter name="className" value="org.apache.axis.Version"/> > </service> > <service name="Benchmark1Streaming" provider="java:RPC" streaming="on"> > <operation name="echoVoid" qname="ns17:echoVoid" soapAction="" > xmlns:ns17="urn:Benchmark1"/> > <operation returnQName="output" returnType="xsd:base64Binary" > name="echoBase64" qname="ns18:echoBase64" soapAction="" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns18="urn:Benchmark1"> > <parameter name="input" type="xsd:base64Binary"/> > </operation> > <operation returnQName="output" returnType="ns19:ArrayOfstring" > name="echoStrings" qname="ns19:echoStrings" soapAction="" > xmlns:ns19="urn:Benchmark1"> > <parameter name="input" type="ns19:ArrayOfstring"/> > </operation> > <operation returnQName="output" returnType="ns20:ArrayOfint" > name="echoInts" qname="ns20:echoInts" soapAction="" > xmlns:ns20="urn:Benchmark1"> > <parameter name="input" type="ns20:ArrayOfint"/> > </operation> > <operation returnQName="output" returnType="ns21:ArrayOfdouble" > name="echoDoubles" qname="ns21:echoDoubles" soapAction="" > xmlns:ns21="urn:Benchmark1"> > <parameter name="input" type="ns21:ArrayOfdouble"/> > </operation> > <operation returnQName="size" returnType="xsd:int" name="receiveBase64" > qname="ns22:receiveBase64" soapAction="" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns22="urn:Benchmark1"> > <parameter name="input" type="xsd:base64Binary"/> > </operation> > <operation returnQName="size" returnType="xsd:int" name="receiveStrings" > qname="ns23:receiveStrings" soapAction="" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns23="urn:Benchmark1"> > <parameter name="input" type="ns23:ArrayOfstring"/> > </operation> > <operation returnQName="size" returnType="xsd:int" name="receiveInts" > qname="ns24:receiveInts" soapAction="" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns24="urn:Benchmark1"> > <parameter name="input" type="ns24:ArrayOfint"/> > </operation> > <operation returnQName="size" returnType="xsd:int" name="receiveDoubles" > qname="ns25:receiveDoubles" soapAction="" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns25="urn:Benchmark1"> > <parameter name="input" type="ns25:ArrayOfdouble"/> > </operation> > <operation returnQName="output" returnType="xsd:base64Binary" > name="sendBase64" qname="ns26:sendBase64" soapAction="" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns26="urn:Benchmark1"> > <parameter name="size" type="xsd:int"/> > </operation> > <operation returnQName="output" returnType="ns27:ArrayOfstring" > name="sendStrings" qname="ns27:sendStrings" soapAction="" > xmlns:ns27="urn:Benchmark1"> > <parameter name="size" type="xsd:int" > xmlns:xsd="http://www.w3.org/2001/XMLSchema"/> > </operation> > <operation returnQName="output" returnType="ns28:ArrayOfint" > name="sendInts" qname="ns28:sendInts" soapAction="" > xmlns:ns28="urn:Benchmark1"> > <parameter name="size" type="xsd:int" > xmlns:xsd="http://www.w3.org/2001/XMLSchema"/> > </operation> > <operation returnQName="output" returnType="ns29:ArrayOfdouble" > name="sendDoubles" qname="ns29:sendDoubles" soapAction="" > xmlns:ns29="urn:Benchmark1"> > <parameter name="size" type="xsd:int" > xmlns:xsd="http://www.w3.org/2001/XMLSchema"/> > </operation> > <parameter name="allowedMethods" value="echoVoid echoStrings > receiveBase64 receiveDoubles sendInts echoBase64 receiveStrings echoInts > receiveInts sendDoubles sendBase64 echoDoubles sendStrings"/> > <parameter name="wsdlPortType" value="Benchmark1PortType"/> > <parameter name="scope" value="Session"/> > <parameter name="className" value="benchmark1.Benchmark1Impl"/> > <parameter name="wsdlServicePort" value="Benchmark1"/> > <parameter name="wsdlTargetNamespace" > value="http://www.extreme.indiana.edu/wsdl/Benchmark1.wsdl"/> > <parameter name="wsdlServiceElement" value="Benchmark1"/> > <typeMapping encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" > deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" > type="java:double[]" qname="ns30:ArrayOfdouble" > xmlns:ns30="urn:Benchmark1"/> > <typeMapping encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" > deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" > type="java:int[]" qname="ns31:ArrayOfint" xmlns:ns31="urn:Benchmark1"/> > <typeMapping encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" > deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" > type="java:java.lang.String[]" qname="ns32:ArrayOfstring" > xmlns:ns32="urn:Benchmark1"/> > </service> > <transport name="http"> > <requestFlow> > <handler type="URLMapper"/> > <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/> > </requestFlow> > <parameter name="qs:list" > value="org.apache.axis.transport.http.QSListHandler"/> > <parameter name="qs:wsdl" > value="org.apache.axis.transport.http.QSWSDLHandler"/> > <parameter name="qs:method" > value="org.apache.axis.transport.http.QSMethodHandler"/> > </transport> > <transport name="local"> > <responseFlow> > <handler type="LocalResponder"/> > </responseFlow> > </transport> > </deployment> > > ----- > WSL file > > <?xml version="1.0" encoding="UTF-8"?> > <definitions name="Benchmark1" > targetNamespace="http://www.extreme.indiana.edu/wsdl/Benchmark1.wsdl" > xmlns:tns="http://www.extreme.indiana.edu/wsdl/Benchmark1.wsdl" > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:b1="urn:Benchmark1" > xmlns:SOAP="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:WSDL="http://schemas.xmlsoap.org/wsdl/" > xmlns="http://schemas.xmlsoap.org/wsdl/"> > > <types> > > <schema targetNamespace="urn:Benchmark1" > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:b1="urn:Benchmark1" > xmlns="http://www.w3.org/2001/XMLSchema" > elementFormDefault="unqualified" > attributeFormDefault="unqualified"> > <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> > > <complexType name="ArrayOfstring"> > <complexContent> > <restriction base="SOAP-ENC:Array"> > <sequence> > <element name="item" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> > </sequence> > <attribute ref="SOAP-ENC:arrayType" WSDL:arrayType="xsd:string[]"/> > </restriction> > </complexContent> > </complexType> > > <complexType name="ArrayOfint"> > <complexContent> > <restriction base="SOAP-ENC:Array"> > <sequence> > <element name="item" type="xsd:int" minOccurs="0" maxOccurs="unbounded"/> > </sequence> > <attribute ref="SOAP-ENC:arrayType" WSDL:arrayType="xsd:int[]"/> > </restriction> > </complexContent> > </complexType> > > <complexType name="ArrayOfdouble"> > <complexContent> > <restriction base="SOAP-ENC:Array"> > <sequence> > <element name="item" type="xsd:double" minOccurs="0" maxOccurs="unbounded"/> > </sequence> > <attribute ref="SOAP-ENC:arrayType" WSDL:arrayType="xsd:double[]"/> > </restriction> > </complexContent> > </complexType> > > <complexType name="echoVoidResponse"> > <sequence> > </sequence> > </complexType> > > </schema> > > </types> > > <message name="echoVoidRequest"> > </message> > > <message name="echoVoidResponse"> > </message> > > <message name="echoBase64Request"> > <part name="input" type="xsd:base64Binary"/> > </message> > > <message name="echoBase64Response"> > <part name="output" type="xsd:base64Binary"/> > </message> > > <message name="echoStringArrayRequest"> > <part name="input" type="b1:ArrayOfstring"/> > </message> > > <message name="echoStringArrayResponse"> > <part name="output" type="b1:ArrayOfstring"/> > </message> > > <message name="echoIntArrayRequest"> > <part name="input" type="b1:ArrayOfint"/> > </message> > > <message name="echoIntArrayResponse"> > <part name="output" type="b1:ArrayOfint"/> > </message> > > <message name="echoDoubleArrayRequest"> > <part name="input" type="b1:ArrayOfdouble"/> > </message> > > <message name="echoDoubleArrayResponse"> > <part name="output" type="b1:ArrayOfdouble"/> > </message> > > <message name="receiveBase64Request"> > <part name="input" type="xsd:base64Binary"/> > </message> > > <message name="receiveBase64Response"> > <part name="size" type="xsd:int"/> > </message> > > <message name="receiveStringsRequest"> > <part name="input" type="b1:ArrayOfstring"/> > </message> > > <message name="receiveStringsResponse"> > <part name="size" type="xsd:int"/> > </message> > > <message name="receiveIntsRequest"> > <part name="input" type="b1:ArrayOfint"/> > </message> > > <message name="receiveIntsResponse"> > <part name="size" type="xsd:int"/> > </message> > > <message name="receiveDoublesRequest"> > <part name="input" type="b1:ArrayOfdouble"/> > </message> > > <message name="receiveDoublesResponse"> > <part name="size" type="xsd:int"/> > </message> > > <message name="sendBase64Request"> > <part name="size" type="xsd:int"/> > </message> > > <message name="sendBase64Response"> > <part name="output" type="xsd:base64Binary"/> > </message> > > <message name="sendStringsRequest"> > <part name="size" type="xsd:int"/> > </message> > > <message name="sendStringsResponse"> > <part name="output" type="b1:ArrayOfstring"/> > </message> > > <message name="sendIntsRequest"> > <part name="size" type="xsd:int"/> > </message> > > <message name="sendIntsResponse"> > <part name="output" type="b1:ArrayOfint"/> > </message> > > <message name="sendDoublesRequest"> > <part name="size" type="xsd:int"/> > </message> > > <message name="sendDoublesResponse"> > <part name="output" type="b1:ArrayOfdouble"/> > </message> > > <portType name="Benchmark1PortType"> > <operation name="echoVoid"> > <documentation>pings the server</documentation> > <input message="tns:echoVoidRequest"/> > <output message="tns:echoVoidResponse"/> > </operation> > <operation name="echoBase64"> > <documentation>echos base64 content</documentation> > <input message="tns:echoBase64Request"/> > <output message="tns:echoBase64Response"/> > </operation> > <operation name="echoStrings"> > <documentation>echos string arrays</documentation> > <input message="tns:echoStringArrayRequest"/> > <output message="tns:echoStringArrayResponse"/> > </operation> > <operation name="echoInts"> > <documentation>echos int arrays</documentation> > <input message="tns:echoIntArrayRequest"/> > <output message="tns:echoIntArrayResponse"/> > </operation> > <operation name="echoDoubles"> > <documentation>echos double arrays</documentation> > <input message="tns:echoDoubleArrayRequest"/> > <output message="tns:echoDoubleArrayResponse"/> > </operation> > > <operation name="receiveBase64"> > <documentation>receives base64 content</documentation> > <input message="tns:receiveBase64Request"/> > <output message="tns:receiveBase64Response"/> > </operation> > <operation name="receiveStrings"> > <documentation>receives strings</documentation> > <input message="tns:receiveStringsRequest"/> > <output message="tns:receiveStringsResponse"/> > </operation> > <operation name="receiveInts"> > <documentation>receives ints</documentation> > <input message="tns:receiveIntsRequest"/> > <output message="tns:receiveIntsResponse"/> > </operation> > <operation name="receiveDoubles"> > <documentation>receives doubles</documentation> > <input message="tns:receiveDoublesRequest"/> > <output message="tns:receiveDoublesResponse"/> > </operation> > > <operation name="sendBase64"> > <documentation>sends base64 content</documentation> > <input message="tns:sendBase64Request"/> > <output message="tns:sendBase64Response"/> > </operation> > <operation name="sendStrings"> > <documentation>sends strings</documentation> > <input message="tns:sendStringsRequest"/> > <output message="tns:sendStringsResponse"/> > </operation> > <operation name="sendInts"> > <documentation>sends ints</documentation> > <input message="tns:sendIntsRequest"/> > <output message="tns:sendIntsResponse"/> > </operation> > <operation name="sendDoubles"> > <documentation>sends doubles</documentation> > <input message="tns:sendDoublesRequest"/> > <output message="tns:sendDoublesResponse"/> > </operation> > > </portType> > > <binding name="Benchmark1" type="tns:Benchmark1PortType"> > <SOAP:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> > <operation name="echoVoid"> > <SOAP:operation style="rpc" soapAction=""/> > <input> > <SOAP:body use="encoded" namespace="urn:Benchmark1" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > </input> > <output> > <SOAP:body use="encoded" namespace="urn:Benchmark1" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > </output> > </operation> > <operation name="echoBase64"> > <SOAP:operation style="rpc" soapAction=""/> > <input> > <SOAP:body use="encoded" namespace="urn:Benchmark1" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > </input> > <output> > <SOAP:body use="encoded" namespace="urn:Benchmark1" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > </output> > </operation> > <operation name="echoStrings"> > <SOAP:operation style="rpc" soapAction=""/> > <input> > <SOAP:body use="encoded" namespace="urn:Benchmark1" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > </input> > <output> > <SOAP:body use="encoded" namespace="urn:Benchmark1" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > </output> > </operation> > <operation name="echoInts"> > <SOAP:operation style="rpc" soapAction=""/> > <input> > <SOAP:body use="encoded" namespace="urn:Benchmark1" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > </input> > <output> > <SOAP:body use="encoded" namespace="urn:Benchmark1" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > </output> > </operation> > <operation name="echoDoubles"> > <SOAP:operation style="rpc" soapAction=""/> > <input> > <SOAP:body use="encoded" namespace="urn:Benchmark1" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > </input> > <output> > <SOAP:body use="encoded" namespace="urn:Benchmark1" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > </output> > </operation> > > <operation name="receiveBase64"> > <SOAP:operation style="rpc" soapAction=""/> > <input> > <SOAP:body use="encoded" namespace="urn:Benchmark1" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > </input> > <output> > <SOAP:body use="encoded" namespace="urn:Benchmark1" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > </output> > </operation> > <operation name="receiveStrings"> > <SOAP:operation style="rpc" soapAction=""/> > <input> > <SOAP:body use="encoded" namespace="urn:Benchmark1" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > </input> > <output> > <SOAP:body use="encoded" namespace="urn:Benchmark1" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > </output> > </operation> > <operation name="receiveInts"> > <SOAP:operation style="rpc" soapAction=""/> > <input> > <SOAP:body use="encoded" namespace="urn:Benchmark1" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > </input> > <output> > <SOAP:body use="encoded" namespace="urn:Benchmark1" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > </output> > </operation> > <operation name="receiveDoubles"> > <SOAP:operation style="rpc" soapAction=""/> > <input> > <SOAP:body use="encoded" namespace="urn:Benchmark1" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > </input> > <output> > <SOAP:body use="encoded" namespace="urn:Benchmark1" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > </output> > </operation> > > <operation name="sendBase64"> > <SOAP:operation style="rpc" soapAction=""/> > <input> > <SOAP:body use="encoded" namespace="urn:Benchmark1" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > </input> > <output> > <SOAP:body use="encoded" namespace="urn:Benchmark1" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > </output> > </operation> > <operation name="sendStrings"> > <SOAP:operation style="rpc" soapAction=""/> > <input> > <SOAP:body use="encoded" namespace="urn:Benchmark1" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > </input> > <output> > <SOAP:body use="encoded" namespace="urn:Benchmark1" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > </output> > </operation> > <operation name="sendInts"> > <SOAP:operation style="rpc" soapAction=""/> > <input> > <SOAP:body use="encoded" namespace="urn:Benchmark1" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > </input> > <output> > <SOAP:body use="encoded" namespace="urn:Benchmark1" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > </output> > </operation> > <operation name="sendDoubles"> > <SOAP:operation style="rpc" soapAction=""/> > <input> > <SOAP:body use="encoded" namespace="urn:Benchmark1" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > </input> > <output> > <SOAP:body use="encoded" namespace="urn:Benchmark1" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > </output> > </operation> > > </binding> > > <service name="Benchmark1"> > <documentation>definitions for performance benchmarking (symmetric > tests)</documentation> > <port name="Benchmark1" binding="tns:Benchmark1"> > <SOAP:address location="http://localhost:80"/> > </port> > </service> > > </definitions> > > > -- > The best way to predict the future is to invent it - Alan Kay > >