“this presentation is for informational purposes only and ...€¦ · rpc encoded, with...
TRANSCRIPT
![Page 1: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/1.jpg)
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
![Page 2: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/2.jpg)
This document is for informational purposes. It is not a commitmentto deliver any material, code, or functionality, and should not berelied upon in making purchasing decisions. The development,
release, and timing of any features or functionality described in thisdocument remains at the sole discretion of Oracle. This document inany form, software or printed matter, contains proprietary information
that is the exclusive property of Oracle. This document andinformation contained herein may not be disclosed, copied,
reproduced or distributed to anyone outside Oracle without priorwritten consent of Oracle. This document is not part of your licenseagreement nor can it be incorporated into any contractual agreement
with Oracle or its subsidiaries or affiliates.
![Page 3: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/3.jpg)
![Page 4: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/4.jpg)
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
Eric RajkovicPrincipal Member of Technical StaffOC4J and Web Services
Tugdual GrallPrincipal Product ManagerOC4J and Web Services
![Page 5: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/5.jpg)
Real Interoperability BetweenJ2EE™ and .NET Web Services:Practical Advice for Developers
![Page 6: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/6.jpg)
![Page 7: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/7.jpg)
Agenda With SectionHighlights
Problem Domain
Fixing Interoperability Problems
Changing the Server
Changing the WSDL
Changing the Client
Best Practices – Top Down Design
Top 3 Take Aways
![Page 8: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/8.jpg)
Agenda With SectionHighlights
Problem Domain
Fixing Interoperability Problems
Changing the Server
Changing the WSDL
Changing the Client
Best Practices – Top Down Design
Top 3 Take Aways
![Page 9: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/9.jpg)
Two SOAP Stacks? N SOAPStacks.
ApacheSOAP
Java
ApacheAxis 1.1/1.2
OracleJAX-RPC
SunJAX-RPC
BEAJAX-RPC
MicrosoftSOAP
Toolkit 3. 0Indigo
.NET
.NET Framework
2.0
WS
E 3.0
IBMJAX-RPC
.NET Framework
1.1W
SE
1.1
WS
E 2.0
![Page 10: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/10.jpg)
Two Scenarios – ReplayedOver and Over Again
ERRORERRORERRORERROR
Runs clientRuns clientRuns clientRuns client
Builds Java clientBuilds Java clientBuilds C# clientBuilds C# client
Points Java tooling at WSDLPoints Java tooling at WSDLPoints .NET at WSDLPoints .NET at WSDL
Publishes it bottom up asPublishes it bottom up asWeb serviceWeb service
Publishes it bottom up asPublishes it bottom up asWeb serviceWeb service
Developer builds C# classDeveloper builds C# classDeveloper builds Java classDeveloper builds Java class
![Page 11: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/11.jpg)
Industry Backed Mechanisms toSolve the Problem with VaryingSuccess
•WS-I•Profiles (BP, BSP, AP)
•Sample application
•Testing
•SOAPBuilders•WSDL 1.1
•SOAP 1.1
•RPC/encoded, Doc/literal
Links to Specs
WS-I ProfileWS-I Profile
Conventionsand BestPractices
![Page 12: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/12.jpg)
The Problem
• Achieving interoperability with legacy andmodern SOAP stacks
• Both pre-WS-I and post-WS-I stacks haveinteroperability issues
• WS-I compliance in itself does not guaranteeinteroperability
• Serialization and WSDL generationidiosyncrasies with various Microsoft and Javastacks
![Page 13: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/13.jpg)
Java
XML
HTTP
Application Code
JAX-RPC
Serialization
Des
eria
lizat
ion
Request
Response
Service
First Need to Understand theProcess Happening in EachRuntime
C#
XML
HTTP
Application Code
.NET Framework
Serialization
Des
eri a
liza t
i on
Request
Response
Client
WSDL
![Page 14: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/14.jpg)
Message Formats
RPC Encoded,RPC Encoded,with proprietarywith proprietary
extensionsextensions(e.g. collections)(e.g. collections)
RPC EncodedRPC EncodedUntypedUntyped
(e.g. MSFT)(e.g. MSFT)
RPC EncodedRPC Encoded(limited to SOAP(limited to SOAPencoding rules encoding rules ––
Section 5)Section 5)
RPC LiteralRPC Literal(mirror analog(mirror analogof documentof document
literal wrapped)literal wrapped)
Document LiteralDocument Literal(e.g. bare style,(e.g. bare style,like messagelike message
style with Axis)style with Axis)
Document literalDocument literal(a la WS-I mode,(a la WS-I mode,
a.k.aa.k.awrapped style)wrapped style)
• Next Need to Understand Message FormatsUsed in Both Worlds
![Page 15: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/15.jpg)
Message Format Survey
Source: http://www.xmethods.net/inspection.wsil - Friday, May 13, 2005
• From XMethods (http://www.xmethods.com) in 2005
3
137
260
Doc/LiteralRPC/EncodedMixed
88
62
61
215.NETJavaWindowsOther
![Page 16: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/16.jpg)
Lastly Need an Approach toSolving Interoperability Issues
• Solve the problem before you start• Start with interoperability in mind• Follow known patterns that work
• Top down or well known bottom upapproaches
• Solve the problem after the fact• Change the service implementation• Change the deployment options of the service• Change the WSDL published [server side]• Edit a local copy of the WSDL [client workaround]• Edit the generated code [client hack]
![Page 17: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/17.jpg)
Agenda With SectionHighlights
Problem Domain
Fixing Interoperability Problems
Changing the Server
Changing the WSDL
Changing the Client
Best Practices – Top Down Design
Top 3 Take Aways
![Page 18: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/18.jpg)
Why Change the Server?• Message formats don’t match
• Doc/lit talking to rpc/encoded• Rpc/encoded no types talking to rpc/encoded• Solution: Change the server configuration to match
• Unsupported Datatypes• .Net datasets, Java webrowsets• Java collections• Nillable values in arrays• Solution: Change the server implementation to use
supported types across both implementations
• Problematic WSDL generation• SOAP action• Solution: Change server implementation to fix generated
WSDL
![Page 19: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/19.jpg)
WSDL
Calling 3 endpoints from C# and Java, what to expect?
MathService1.asmx
MathService2.asmx
MathService3.asmx
1) Generates both clients from the first Service
2) Both clients calleach service in turn.
Java Math Client
C# Math Client
A Simple Scenario:Versioning an Add Service Over Time
![Page 20: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/20.jpg)
D E M O N S T R A T I O N
Use case #1
![Page 21: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/21.jpg)
Lessons Learned fromChanging the Server
• A given client work best only with one service• Plan for versioning of both server and client
• Version your WSDL, so that you can compare them
• Interchangeable services must implement the samecontract, as defined by the WSDL
• Changes to publish services can easily break existingclients
• Different platforms have different way to handle adeserialization problem [MathService2.asmx].
• Use an empty value (“”) for SOAPAction
![Page 22: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/22.jpg)
Agenda With SectionHighlights
Problem Domain
Fixing Interoperability Problems
Changing the Server
Changing the WSDL
Changing the Client
Best Practices – Top Down Design
Top 3 Take Aways
![Page 23: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/23.jpg)
Why Change the WSDL?
• WSDL is generally independent of themessage exchange and serialization
• It is the contract both sides implicitly agree toadhere to
• As a result, it is used typically to generate anappropriate client
• If the message on the wire does not match theWSDL, an incorrect client will be generated
• Solution: Fix the WSDL
![Page 24: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/24.jpg)
Common WSDL Edits
• xsd:any versus xsd:anyType
• import missing locations
• Unspecified namespace prefix
• Re-using different prefix for the same namespace
• xsd:boolean vs. soapenc:boolean
• SOAP Arrays• maxOccurs="unbounded“ not “*”
• minOccurs="0“ unless array can not be empty
![Page 25: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/25.jpg)
Diagnosing WSDL Errors
• Use toolslike SOAPScope
![Page 26: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/26.jpg)
Common Issues in Authoring/Generating XML Schema
Example 1: XML Schema –xsd:any Wildcard
• Using any as a type, inside a schema<element name="QuotesResponse“ type="any"/>
• Using any as a type for a part of a message<message name="QuotesResponse">
<part name="result" type="xsd:any"/></message>
• Using any as a named element, for an element attribute<message name="QuotesResponse">
<part name="result" element="xsd:any"/></message>
![Page 27: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/27.jpg)
Two Ways to Resolve This by Changing the WSDL
Example 1: XML Schema –xsd:any Wildcard
• Uses the correct XML type : anyType<element name="QuotesResponse" type="anyType"/><message name="QuotesResponse"> <part name="result" type="xsd:anyType"/></message>
• Uses any as a wildcard, in place of a named element in a complextype
<element name=“result” nillable=true” minOccurs=“0”…>
<complexType> <sequence> <any/> </sequence></complexType>
![Page 28: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/28.jpg)
Often Used as a Way to Reference Another Schema
Example 2: XML Schema –Import and Location
• Here is an example where the location attribute is missingfrom the xsd:import.<schema xmlns="http://www.w3.org/2001/XMLSchema"xmlns:apachesoap="http://xml.apache.org/xml-soap"targetNamespace="http://message.samples"elementFormDefault="qualified"><import namespace="http://xml.apache.org/xml-soap"/><element name="elem" type="apachesoap:Element" />
</schema>
• Assuming that a WSDL processor will recognize thenamespace is wrong
![Page 29: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/29.jpg)
Two Ways to Resolve This by Changing the WSDL
Example 2: XML Schema –Import and Location
• If you know where to find the schema, add the location<schema xmlns="http://www.w3.org/2001/XMLSchema"xmlns:apachesoap="http://xml.apache.org/xml-soap"targetNamespace="http://message.samples"elementFormDefault="qualified">
<import namespace="http://xml.apache.org/xml-soap" location="http://xml.apache.org/some-url.xsd" /><element name="elem" type="apachesoap:Element" /></schema>
• Otherwise, remove the import and use a replacement type<element name="elem" type=“anyType" />
![Page 30: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/30.jpg)
D E M O N S T R A T I O N
Building a .Net clientto Java WS
![Page 31: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/31.jpg)
Lessons Learned from WSDLEditing
• Understand the scoping rule of namespace• Be careful about copying of namespace
• Use different tool kits to validate the WSDL• One tool is not a guarantee of interoperability
• XMLSpy is not good enough!
• Be careful about the version of schema• Always use 2001 but still see 1999
• WSDL specification uses 10/2000! Don’t use it!
• Be careful in the usage of XML schema types• Choice, group, redefine …
![Page 32: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/32.jpg)
Agenda With SectionHighlights
Problem Domain
Fixing Interoperability Problems
Changing the Server
Changing the WSDL
Changing the Client
Best Practices – Top Down Design
Top 3 Take Aways
![Page 33: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/33.jpg)
Why Change the Client?
• Client generation fails
• Client generation works but fails at runtime
• No access to the server implementation
• No access to the server WSDL
• Solution:• Change the WSDL locally and re-generate client
• Change the client
![Page 34: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/34.jpg)
Example: I am Getting a NullBack … Why ?
• Generation of the C# Client
• Inspect the client code
• Output of the program
• Capture the request/response
• Look at the payload for the response
• Compare the payload with the WSDL
• Change the generated code to work around
![Page 35: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/35.jpg)
D E M O N S T R A T I O N
The “Real” Interoperability
![Page 36: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/36.jpg)
Why do I get a null value back?
Lessons Learned fromChanging the Client
• Check the format of the response on the wire• The server is sending an empty response
• The most likely issue is a failure to deserialize therequest
• The server replies with the correct response• The most likely issue is a failure to deserialize the
response
• The bottom line is that the message on the wiredo not adhere to the Schema advertised in theWSDL.
![Page 37: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/37.jpg)
Agenda With SectionHighlights
Problem Domain
Fixing Interoperability Problems
Changing the Server
Changing the WSDL
Changing the Client
Best Practices – Top Down Design
Top 3 Take Aways
![Page 38: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/38.jpg)
Best Practices: Top DownDesign - WSDL to Java
SOAP Stub
ClientImplementation
Server Implementation
SOAPSkeleton
WSDL
![Page 39: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/39.jpg)
Typical Approach
• Author XML schema for inbound andoutbound messages
• Frequently companies will maintain a schemadictionary
• Use prototypical WSDL and set messageformats to authored XML schema
• Use a WS-I compliant template
• Choose your data binding• SAAJ, JAXB or JAX-RPC bindings
![Page 40: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/40.jpg)
Primary Issues with Top Down
• Complexity• Tooling for top down is limited
• .NET extensions from 3rd parties
• Java – Oracle, Sun RI, Axis(?)
• Indigo• Contract driven from code is way forward
• JAX-WS• Unclear preferred mechanism going forward
![Page 41: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/41.jpg)
D E M O N S T R A T I O N
Top Down Web Service
![Page 42: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/42.jpg)
Agenda
Problem Domain
Fixing Interoperability Problems
Changing the Server
Changing the WSDL
Changing the Client
Best Practices – Top Down Design
Top 3 Take Aways
![Page 43: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/43.jpg)
Top 3 Take Aways
• Make sure you test your service with multipleWeb Service toolkits
• Make sure you have a tool for capturingmessages on the wire
• SOAPScope, JDeveloper, WSE, IBM, BEA, Axis…
• Top down design will maximize yourinteroperability chances
• Ask your vendor for their tooling!
![Page 44: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/44.jpg)
Agenda With SectionHighlights
Problem Domain
Fixing Interoperability Problems
Changing the Server
Changing the WSDL
Changing the Client
Best Practices – Top Down Design
Top 3 Take Aways
![Page 45: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/45.jpg)
AQ&Q U E S T I O N SQ U E S T I O N SA N S W E R SA N S W E R S
![Page 46: “This presentation is for informational purposes only and ...€¦ · RPC Encoded, with proprietary extensions (e.g. collections) RPC Encoded Untyped (e.g. MSFT) RPC Encoded (limited](https://reader034.vdocuments.us/reader034/viewer/2022042216/5ebdb1f2e3e1612af12d72d1/html5/thumbnails/46.jpg)
Learn the TechnologyVisit OTN Microsites: otn.oracle.com
Try the SoftwareVisit the Hands-On Labs in Moscone West 1003, 1004
Ask Our ExpertsFusion Middleware Demogrounds; Sessions