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
> 
>

Reply via email to