axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Goldstein, Scott" <Scott.Goldst...@vignette.com>
Subject RE: high fidelity and streaming=on
Date Wed, 12 May 2004 17:38:33 GMT
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.  Also, it's still unclear
exactly what the feature is.  Do you know who I could contact to find
out more information about it?

Thanks.

Scott

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