axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aleksander Slominski <as...@cs.indiana.edu>
Subject Re: high fidelity and streaming=on
Date Wed, 12 May 2004 18:02:42 GMT
Goldstein, Scott wrote:

>Alek,
>
>Thank you for your reply!  
>
>So, from your message, it appears that this is a feature in Axis 1.2 and
>you're not sure whether it's available in 1.1.  
>
i do not have 1.1 source code around to check.

>Also, it's still unclear
>exactly what the feature is.  
>
you can check out source code and grep -i "streaming". what i am not
clear is what tradeoffs were done for this feature and how much of
streaming really it supports (or how low is not high fidelity ...)

>Do you know who I could contact to find
>out more information about it?
>  
>
i am not sure who exactly worked on that (Glen, Dims?) but i have CCed
axis-dev and let see if we get some more comments (i am especially
interested to hear about expected performance/memory gains for
streaming="on").

thanks,

alek

>-----Original Message-----
>From: Aleksander Slominski [mailto:aslom@cs.indiana.edu] 
>Sent: Tuesday, May 11, 2004 3:44 PM
>To: axis-user@ws.apache.org
>Subject: Re: high fidelity and streaming=on
>
>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


Mime
View raw message