This demo shows SESJ interoperability with .NET on the XSD schema types (2001 W3C recommendation) level. It contains a set of echo operations that return the objects with which they are called. Separate SESJ clients and .NET Services are made for both the RPC/ENC and DOC/LIT specifications.
The following table shows supported XSD schema types and their mapping to Java types:
XMLSchema type Java Type ----------------------------------------------------------------------- anyURI java.lang.String base64Binary byte[] boolean boolean byte byte date org.idoox.wasp.serialization.xsdbuiltin.Date dateTime java.util.Date decimal java.math.BigDecimal double double duration org.idoox.wasp.serialization.xsdbuiltin.Duration ENTITIES java.lang.String ENTITY java.lang.String float float gDay org.idoox.wasp.serialization.xsdbuiltin.GDay gMonth org.idoox.wasp.serialization.xsdbuiltin.GMonth gMonthDay org.idoox.wasp.serialization.xsdbuiltin.GMonthDay gYear org.idoox.wasp.serialization.xsdbuiltin.GYear gYearMonth org.idoox.wasp.serialization.xsdbuiltin.GYearMonth hexBinary org.idoox.wasp.serialization.xsdbuiltin.HexBinary ID java.lang.String IDREF java.lang.String IDREFS java.lang.String int int integer java.math.BigInteger language java.lang.String long long Name java.lang.String NCName java.lang.String negativeInteger java.math.BigInteger NMTOKEN java.lang.String NMTOKENS java.lang.String nonNegativeInteger java.math.BigInteger nonPositiveInteger java.math.BigInteger normalizedString org.idoox.wasp.serialization.xsdbuiltin.NormalizedString NOTATION java.lang.String positiveInteger java.math.BigInteger QName javax.xml.namespace.QName short short string java.lang.String time org.idoox.wasp.serialization.xsdbuiltin.Time token org.idoox.wasp.serialization.xsdbuiltin.Token unsignedByte java.lang.Short unsignedInt java.lang.Long unsignedLong java.math.BigInteger unsignedShort java.lang.Integer
The docLit\ and rpcEnc\ subdirectories each contain the files described in Files and Directories and the following:
File or directory | Description |
---|---|
src\service\ | Service source code |
src\demo\interop\msInterop\waspToDotNet\client\ | Client source code |
The following list outlines the software and service packs that you will need to be able to compile and run C# clients and access the features of ASP.NET:
Microsoft .NET Framework and .NET Framework SDK
IIS with the latest security updates (must be installed prior to installing the .NET Framework and .NET Framework SDK)
In addition, you will need administrative rights on the computer.
You can run the demo using the "run.sh" (for UNIX) or "run.bat" (for Windows) scripts. Running the script without arguments prints out a help message on screen.
Create a Virtual Folder in IIS by
Click Start, point to Programs, select , and then click Internet Services Manager.
In the left pane, right-click Default Web Site, point to New, and then click Virtual Directory.
In the first screen of the Virtual Directory Creation Wizard click next, type an alias for the site (XSDTypesServiceDocLit or XSDTypesServiceRpcEnc) and click Next.
In the third screen, click Browse. Browse to:
%WASP_HOME%\demo\interop\msInterop\waspToDotnet\xsdTypes\docLit\src\service or %WASP_HOME%\demo\interop\msInterop\waspToDotnet\xsdTypes\rpcEnc\src\service.
Click Next.
In the fourth screen, click Next.
Click Finish to complete the wizard.
Close Internet Services Manager.
Change directory to:
%WASP_HOME%\demo\interop\msInterop\waspToDotnet\xsdTypes\docLit or %WASP_HOME%\demo\interop\msInterop\waspToDotnet\xsdTypes\rpcEnc
Make the client classes:
Windows: run.bat make_client Linux: ./run.sh make_client
Run the client:
Windows: run.bat run_client Linux: ./run.sh run_client
If you wish to follow the progress of the invocation with SoapSpy, perform the following:
Run server_java60/bin/soapspy.bat or soapspy.sh. This will bring up the SoapSpy GUI.
Start spying by selecting Start Spying from the Spy menu or by clicking the spy icon in the main pane.
Run the client using the run spy_client command instead of run_client.
Undeploy the service by manually deleting the Virtual Folder.