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:[EMAIL PROTECTED] Sent: Tuesday, May 11, 2004 3:44 PM
To: [EMAIL PROTECTED]
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



Reply via email to