JAX-WS is the replacement and next generation to JAX-RPC and makes web services development much easier using annotations and much less configuration. JAX-WS is useful for people building webservices/SOA based infrastructure as JAX-WS makes the web service development much easier and is a big gain for developer productivity.
The session uses a web service for temperature conversion example to build both the client side and Server side artifacts. Also on the server side both Servlet based and EJB3.0 based web service development will be demonstrated. JAXB concepts will be used to demonstrate the examples.
The session uses Eclipse Ganymede and Jboss 5.0. However JAX-WS being the standard, the code will smoothly work on any JavaEE based compliant servers.
REST services and IBM Domino/XWork - DanNotes 19-20. november 2014John Dalsgaard
Loose coupling of systems is key to future development! Why? Because it will allow us to change the "components" as we go along instead of creating monster big systems that are tied together using all sorts of different technologies. Webservices have been a way to obtain this over the last decade. More recently a special variant has become very popular, namely the JSON based REST service.
Imagine you could extend your data out to the world outside your Domino environment? - in an easy way....! And imagine those data could easily be incorporated into other systems via standardized interfaces... Could that extend the value of your current systems further? Could this be a way to use new technologies to modernize your users' experience of working with your systems?
Come and take away knowledge about how to open your Domino/XWork based systems up to the world outside using JSON based REST services. They are going to be key to future development in Domino/XWork - whether you want to use data in browser solutions (e.g. based on angular.js or ExtJS) or native mobile apps (built in whatever technology is best).
Introduction to SOAP/WSDL Web Services and RESTful Web Servicesecosio GmbH
In this talk, held as part of the Web Engineering lecture series 2015 at Vienna University of Technology, we give an overview of the current state of the art in the domain of Web Services.
In the first part we dwell on the main principles of Service Oriented Architectures (SOA), followed by an introduction of the three core standards SOAP, WSDL, as well as UDDI. Furthermore, we briefly cover the Java API for XML Web Services (JAX-WS).
In the second part we focus on principles of RESTful Web Services and the Java API for RESTful Web Services. The lecture is accompanied by practical examples, which are also available on GitHub.
JAX-WS is the replacement and next generation to JAX-RPC and makes web services development much easier using annotations and much less configuration. JAX-WS is useful for people building webservices/SOA based infrastructure as JAX-WS makes the web service development much easier and is a big gain for developer productivity.
The session uses a web service for temperature conversion example to build both the client side and Server side artifacts. Also on the server side both Servlet based and EJB3.0 based web service development will be demonstrated. JAXB concepts will be used to demonstrate the examples.
The session uses Eclipse Ganymede and Jboss 5.0. However JAX-WS being the standard, the code will smoothly work on any JavaEE based compliant servers.
REST services and IBM Domino/XWork - DanNotes 19-20. november 2014John Dalsgaard
Loose coupling of systems is key to future development! Why? Because it will allow us to change the "components" as we go along instead of creating monster big systems that are tied together using all sorts of different technologies. Webservices have been a way to obtain this over the last decade. More recently a special variant has become very popular, namely the JSON based REST service.
Imagine you could extend your data out to the world outside your Domino environment? - in an easy way....! And imagine those data could easily be incorporated into other systems via standardized interfaces... Could that extend the value of your current systems further? Could this be a way to use new technologies to modernize your users' experience of working with your systems?
Come and take away knowledge about how to open your Domino/XWork based systems up to the world outside using JSON based REST services. They are going to be key to future development in Domino/XWork - whether you want to use data in browser solutions (e.g. based on angular.js or ExtJS) or native mobile apps (built in whatever technology is best).
Introduction to SOAP/WSDL Web Services and RESTful Web Servicesecosio GmbH
In this talk, held as part of the Web Engineering lecture series 2015 at Vienna University of Technology, we give an overview of the current state of the art in the domain of Web Services.
In the first part we dwell on the main principles of Service Oriented Architectures (SOA), followed by an introduction of the three core standards SOAP, WSDL, as well as UDDI. Furthermore, we briefly cover the Java API for XML Web Services (JAX-WS).
In the second part we focus on principles of RESTful Web Services and the Java API for RESTful Web Services. The lecture is accompanied by practical examples, which are also available on GitHub.
SOAP Web Services have a well established role in the enterprise, but aside from the many benefits of the WS-* standards, SOAP and XML also carry additional baggage for developers. Consequently, REST Web Services are gaining tremendous popularity within the developer community. This session will begin by comparing and contrasting the basic concepts of both SOAP and REST Web Services. Building on that foundation, Sam Brannen will show attendees how to implement SOAP-based applications using Spring-WS 2.0. He will then demonstrate how to build a similar REST-ful application using Spring MVC 3.0. The session will conclude with an in-depth look at both server-side and client-side development as well as efficient integration testing of Web Services using the Spring Framework.
RESTful services on IBM Domino/XWork (ICON UK 21-22 Sept. 2015)John Dalsgaard
Loose coupling of systems is key to future development! Why? Because it will allow us to change the "components" as we go along instead of creating monster big systems that are tied together using all sorts of different technologies. Webservices have been a way to obtain this over the last decade. More recently a special variant has become very popular, namely the JSON based REST service. Imagine you could extend your data out to the world outside your Domino environment? - in an easy way....! And imagine those data could easily be incorporated into other systems via standardized interfaces... Could that extend the value of your current systems further? Could this be a way to use new technologies to modernize your users' experience of working with your systems? Come and take away knowledge about how to open your Domino/XWork based systems up to the world outside using JSON based REST services. They are going to be key to future development in Domino/XWork - whether you want to use data in browser solutions (e.g. based on angular.js or ExtJS) or native mobile apps (built in whatever technology is best).
Tech Mentro is a quality oriented IT Training Institute in Noida, Delhi-NCR, providing C Sharp, ASP .NET Training, SilverLight, WCF, WPF, MVC4, Nhibernate Training, 6 Months .Net Project Training and Summer Training to the students and professionals.
Http Service will help us fetch external data, post to it, etc. We need to import the http module to make use of the http service. Let us consider an example to understand how to make use of the http service.
Project First presentation about introduction to technologies to be usedarya krazydude
CONTENTS
1. Introduction to Project
2. Introduction to JSP
3. Why use JSP/Advantages
4. Architecture of JSP
5. Life Cycle of JSP.
6. Similarity between JSP & servlet
7. Difference between JSP & Servlet
8. Introduction to MySQL
9. Introduction to HTML, CSS and JavaScript.
BP204 - Take a REST and put your data to work with APIs!Craig Schumann
Today, the web is buzzing with the talk about web APIs. It seems that everyone - Facebook, Twitter, Netflix - has some sort of API you can use to integrate with their services. APIs are fundamental to how services on the web work today and data is the new currency. Knowing how to put them to work or how to roll your own can be a huge addition to your development toolbox. This session is all about web-based APIs (like REST). If you have only the vaguest idea about what an API is, or have ever wondered what REST was all about -- then this session is for you! We'll cover examples of using common public APIs and how you can put them to work in your own apps, and how to go about creating your own APIs, or use the REST services in IBM Domino.
SOAP Web Services have a well established role in the enterprise, but aside from the many benefits of the WS-* standards, SOAP and XML also carry additional baggage for developers. Consequently, REST Web Services are gaining tremendous popularity within the developer community. This session will begin by comparing and contrasting the basic concepts of both SOAP and REST Web Services. Building on that foundation, Sam Brannen will show attendees how to implement SOAP-based applications using Spring-WS 2.0. He will then demonstrate how to build a similar REST-ful application using Spring MVC 3.0. The session will conclude with an in-depth look at both server-side and client-side development as well as efficient integration testing of Web Services using the Spring Framework.
RESTful services on IBM Domino/XWork (ICON UK 21-22 Sept. 2015)John Dalsgaard
Loose coupling of systems is key to future development! Why? Because it will allow us to change the "components" as we go along instead of creating monster big systems that are tied together using all sorts of different technologies. Webservices have been a way to obtain this over the last decade. More recently a special variant has become very popular, namely the JSON based REST service. Imagine you could extend your data out to the world outside your Domino environment? - in an easy way....! And imagine those data could easily be incorporated into other systems via standardized interfaces... Could that extend the value of your current systems further? Could this be a way to use new technologies to modernize your users' experience of working with your systems? Come and take away knowledge about how to open your Domino/XWork based systems up to the world outside using JSON based REST services. They are going to be key to future development in Domino/XWork - whether you want to use data in browser solutions (e.g. based on angular.js or ExtJS) or native mobile apps (built in whatever technology is best).
Tech Mentro is a quality oriented IT Training Institute in Noida, Delhi-NCR, providing C Sharp, ASP .NET Training, SilverLight, WCF, WPF, MVC4, Nhibernate Training, 6 Months .Net Project Training and Summer Training to the students and professionals.
Http Service will help us fetch external data, post to it, etc. We need to import the http module to make use of the http service. Let us consider an example to understand how to make use of the http service.
Project First presentation about introduction to technologies to be usedarya krazydude
CONTENTS
1. Introduction to Project
2. Introduction to JSP
3. Why use JSP/Advantages
4. Architecture of JSP
5. Life Cycle of JSP.
6. Similarity between JSP & servlet
7. Difference between JSP & Servlet
8. Introduction to MySQL
9. Introduction to HTML, CSS and JavaScript.
BP204 - Take a REST and put your data to work with APIs!Craig Schumann
Today, the web is buzzing with the talk about web APIs. It seems that everyone - Facebook, Twitter, Netflix - has some sort of API you can use to integrate with their services. APIs are fundamental to how services on the web work today and data is the new currency. Knowing how to put them to work or how to roll your own can be a huge addition to your development toolbox. This session is all about web-based APIs (like REST). If you have only the vaguest idea about what an API is, or have ever wondered what REST was all about -- then this session is for you! We'll cover examples of using common public APIs and how you can put them to work in your own apps, and how to go about creating your own APIs, or use the REST services in IBM Domino.
Such devices make up the peripheral equipment of modern digital computer systems. An input device converts incoming data and instructions into a pattern of ...
IT & Technology
Computer Technology
This talk demonstrates how to develop single page apps with the new angular2 framework and TypeScript. We show the new concepts of angular2 not only in theory, but using a real application. To this end, we develop a real-time angular2 website, for users to to ask and upvote questions during a talk identified by a hash tag. The session chair can ask the most popular questions at the end of the talk.
Dieser Vortrag zeigt, wie man mit dem neuen Angular2 Framework und TypeScript schnelle Single Page Apps entwickelt. Die neuen Konzepte von Angular2 zeigen wir dabei nicht nur in der Theorie, sondern ganz praktisch. Dazu entwickeln wir live eine Real-Time Angular2 App, mit der Zuhörer während eines Vortrags – identifiziert durch einen Hash-Tag - Fragen stellen und gegenseitig upvoten können. Der Session Chair kann so am Ende eines Vortrags die bestbewertesten Fragen an den Speaker stellen.
This is a comprehensive slide on implementing web service in iOS . There are basic information on Web Service . There are steps of using web service in iOS. The presentation emphasized on XML Parsing .
Using the Cascade Server Web Service API, by Artur Tomusiakhannonhill
In this session, we will show you how to execute web services operations. Although our language of choice will be PHP, most of the material can be applied to other languages as well. You will also learn how to understand Cascade's wsdl file without looking up any additional documentation. We will go through example code for the most commonly used operations. This session is for users who have basic programming knowledge and would like learn how to write automated scripts for Cascade Server.
Webservices is a type of technology that is widely used now a days. this ppt tells you about its architecture and its usage. for more info please visit : http://s4al.com/category/study-java/
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfJay Das
With the advent of artificial intelligence or AI tools, project management processes are undergoing a transformative shift. By using tools like ChatGPT, and Bard organizations can empower their leaders and managers to plan, execute, and monitor projects more effectively.
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
Even though at surface level ‘java.lang.OutOfMemoryError’ appears as one single error; underlyingly there are 9 types of OutOfMemoryError. Each type of OutOfMemoryError has different causes, diagnosis approaches and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.
How Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
Recreation management software streamlines operations by automating key tasks such as scheduling, registration, and payment processing, reducing manual workload and errors. It provides centralized management of facilities, classes, and events, ensuring efficient resource allocation and facility usage. The software offers user-friendly online portals for easy access to bookings and program information, enhancing customer experience. Real-time reporting and data analytics deliver insights into attendance and preferences, aiding in strategic decision-making. Additionally, effective communication tools keep participants and staff informed with timely updates. Overall, recreation management software enhances efficiency, improves service delivery, and boosts customer satisfaction.
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Navigating the Metaverse: A Journey into Virtual Evolution"Donna Lenk
Join us for an exploration of the Metaverse's evolution, where innovation meets imagination. Discover new dimensions of virtual events, engage with thought-provoking discussions, and witness the transformative power of digital realms."
top nidhi software solution freedownloadvrstrong314
This presentation emphasizes the importance of data security and legal compliance for Nidhi companies in India. It highlights how online Nidhi software solutions, like Vector Nidhi Software, offer advanced features tailored to these needs. Key aspects include encryption, access controls, and audit trails to ensure data security. The software complies with regulatory guidelines from the MCA and RBI and adheres to Nidhi Rules, 2014. With customizable, user-friendly interfaces and real-time features, these Nidhi software solutions enhance efficiency, support growth, and provide exceptional member services. The presentation concludes with contact information for further inquiries.
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
Experience our free, in-depth three-part Tendenci Platform Corporate Membership Management workshop series! In Session 1 on May 14th, 2024, we began with an Introduction and Setup, mastering the configuration of your Corporate Membership Module settings to establish membership types, applications, and more. Then, on May 16th, 2024, in Session 2, we focused on binding individual members to a Corporate Membership and Corporate Reps, teaching you how to add individual members and assign Corporate Representatives to manage dues, renewals, and associated members. Finally, on May 28th, 2024, in Session 3, we covered questions and concerns, addressing any queries or issues you may have.
For more Tendenci AMS events, check out www.tendenci.com/events
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteGoogle
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-pilot-review/
AI Pilot Review: Key Features
✅Deploy AI expert bots in Any Niche With Just A Click
✅With one keyword, generate complete funnels, websites, landing pages, and more.
✅More than 85 AI features are included in the AI pilot.
✅No setup or configuration; use your voice (like Siri) to do whatever you want.
✅You Can Use AI Pilot To Create your version of AI Pilot And Charge People For It…
✅ZERO Manual Work With AI Pilot. Never write, Design, Or Code Again.
✅ZERO Limits On Features Or Usages
✅Use Our AI-powered Traffic To Get Hundreds Of Customers
✅No Complicated Setup: Get Up And Running In 2 Minutes
✅99.99% Up-Time Guaranteed
✅30 Days Money-Back Guarantee
✅ZERO Upfront Cost
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
2. 2
About this tutorial
• Purpose of this tutorial:
– provide an introduction to Web services technology
– display VW’s support of Web services technology
– explain the use of Web services tools available in VW
4. 4
Web Services Technology
• What are Web services about?
• The Web Services Model
• Enabling Technologies
• SOAP messages
• Web Services Description Language
5. 5
What are Web Services about
• Web Services
is a technology that allows applications to communicate
with each other in a platform- and programming
language-independent manner.
• A Web Service
is a software interface that describes a collection of
operations that can be accessed over the network
through standardized XML messaging. It uses protocols
based on the XML language to describe an operation to
execute or data to exchange with another Web service.
6. 6
The Web Services Model
Find Publish
Bind
Services
<Header>
<Body>
HTTP HTTP
SOAP
Client
Service
Provider
Service Registry
UDDI
Services Description
WSDL
Services Description
WSDL
15. 15
WSDL RPC and Document styles
• Document/literal
– Message has one or zero parts
– Part is resolved using an element
– The element is complex type in most cases
– Data is serialized according to a schema
• RPC/encoded
– The Soap body contains an element with the name of a remove
procedure
– Message can have zero or more parts
– Each part corresponds a remote procedure parameter
– Each part is resolved using type
– Data is serialized according to SOAP 1.1
18. 18
Describing message transfer
<binding name="WSLDSrvcSearch"
type="ns:WSLDSrvcSearch">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http/"/>
<operation name="SearchByExactTitleIncludeAffiliatedLibraries"
selector="searchByExactTitle:includeAffiliatedLibraries:">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal" namespace="urn:Librarydoc"/>
</input>
<output>
<soap:body use="literal" namespace="urn:Librarydoc"/>
</output>
<fault name=“LDExcHoldingNotFound“.. />
</operation>
</binding>
Transport SOAP
over HTTP
VW specific, not
spec complaint
Not used by VW
Message
input/output wire
presentation
Exception
description
19. 19
Describing service location
<service name=“LibraryServices">
<port name=“LibrarySearch" binding="ns: WSLDSrvcSearch ">
<soap:address location="http://localhost:3933/searchRpc"/>
</port>
</service> Access point for
SOAP binding
Can have one or more ports, each of which define a
connection method (for example, HTTP/SMTP, etc)
21. 21
Web Services Frameworks
XML To Object Binding
WSDL
SOAP
UDDI
HTTP
Opentalk-XML
Opentalk-HTTP/CGI
Opentalk-SOAP
Client Server
22. 22
Currently Supported Protocols
• SOAP 1.1
• Released SOAP 1.2 spec
• WSDL 1.1
• WSDL 1.2 spec work in progress
• UDDI v1
• Released UDDI v2 and v3 spec’s
23. 23
VW Web Services Toolkit
• Provides support in
– creating XML to object binding from a schema
– marshaling/unmarshaling XML types in to Smalltalk object
and visa versa
– creating classes from XML to object binding
– building and deploying Web services from an existing
application
– creating classes from a WSDL schema and accessing Web
services
– searching and publishing Web services in UDDI registry
25. 25
Loading WSDL Schema
• WsdlBinding
– loads and register a WSDL schema
– creates Wsdl configuration
– serves as a repository of WSDL schemas
WsdlBinding
loadWsdlBindingFrom: self wsdlSpecification
readStream
26. 26
How to access Web Services
• WsdlClient
– quick and easy way to invoke a service
– doesn’t create any classes
• WsdlClassBuilder
– create client classes to invoke a service
– can create Opentalk server and client and service
classes
• WsdlWizard
– GUI tool available in vw 73
27. 27
WsdlClient
• Loads and parses a Wsdl schema
• Creates default binding to dictionaries
• Invokes a Web services
client := WsdlClient
url: ‘http://www.xmethods.net/sd/2001/CurrencyExchangeService.wsdl'.
rate := client
executeSelector: #getRate
args: (Array with: 'usa' with: ‘canada')
28. 28
WsdlClassBuilder
• Loads and parses a Wsdl schema
• Creates XML to object binding and classes from it
• Creates client, server and service classes
builder := WsdlClassBuilder readFrom:
'http://www.xmethods.net/sd/2001/CurrencyExchangeService.wsdl' asURI.
builder package: 'CurrencyExchange'.
29. 29
Creating WSDL Client Class
clientClass := builder createClientClasses first.
- derived from WsdlClient
- created for each WSDL port
Smalltalk defineClass: #CurrencyExchangePortClient
superclass: #{WebServices.WsdlClient}
#getRateCountry1: aString country2: aString1
#initialize
super initialize.
self setPortNamed: 'CurrencyExchangePort'.
#class wsdlSchema
"(WebServices.WsdlBinding loadWsdlBindingFrom:
self wsdlSchema readStream.)" …
WSDL schema with
XML to object binding
Port is registered in
WsdlPort.PortRegistry
34. 34
Testing locally
Implement service method:
serviceClass>>getRateCountry1:country2:
^123
Change server port to a local host:
serverClass class>>portDescription
<serviceClass: #'WebServices.LibraryServices' address:
#'http://localhost:4920' … >
Set server access point for the client
clientClass>>serverUrl
^'http://localhost:4920'
35. 35
Testing Opentalk Server and Client
client := clientClass new start.
[client
getRateCountry1: 'usa'
country2: ‘canada'
] ensure: [ client stop ]
server := serverClass new.
server startServers.
“Invoke client request”
server stopServers.
36. 36
WsdlClassBuilder Settings
• Default package
– WSDefaultPackage
• Default proxy client port
– 4930
• Use existing classes or generate a new
uniquely named class
– yes
38. 38
Show Time Review
• Loaded a Wsdl schema
• Created XML to object binding
• Created classes from the binding
• Created a client for each port
• Created a script to invoke services
40. 40
Steps to build Web Services
• Provide services description
– Provide description to service interfaces
– Provide description to service parameters,
result and exception types
• Create a Wsdl schema
• Create Opentalk server
• Create Opentalk client
41. 41
Classes to do the job
• WsdlBuilder
– expects service and types description
– creates a WSDL schema from a service class
• WsdlClassBuilder
– creates Opentalk server and client classes
• WSDLWizard
– helps to describe types
– creates Opentalk server and client classes
– tests client-server communication
– creates Wsdl schema
42. 42
Service description
Should include:
– Operation name
– Parameter , result and exception types
WSLDSrvcGeneralPublic
holdingByAcquisitionNumber: anAcquisitionNumber
<operationName: #'HoldingByAcquisitionNumber'>
<addParameter: #‘acquisitionNumber' type: #'LargePositiveInteger'>
<result: #'LDHoldingBook'>
<addException: #NotFound type: #'LDExcHoldingNotFound'>
^library ownedHoldings
detect:[ :x | x acquisitionNumber = aLDHolding_acquisitionNumber ]
ifNone:[ LDExcHoldingNotFound raise]
43. 43
Types description
Currently supported pragma types:
– Simple types
– Complex types
– Collections
– Choice
– Soap Array
– Struct
LDAgent
#borrowedHoldings: aCollOfLDHoldingBook
<addAttribute: #(#borrowedHoldings #optional)
type: #( #Collection #‘WebServices.LDHoldingBook' )>
borrowedHoldings := aCollOfLDHoldingBook
To be resolved should
be fully qualified
45. 45
WsdlBuilder Settings
• Default target namespace
– the same target namespace is used for a WSDL schema definition
and types element
• Add the service super class methods
• Add selector attribute
• Style and use attributes
– Document/RPC encoded/literal
• Default service protocol
– the methods from this protocol are used to create Wsdl operations
• Default class namespace
– is used in XML to object binding to resolve types
47. 47
Show Time Review
• Described service parameters, result and
exception types
• Described data types
• Created Opentalk server
• Created Opentalk client
• Tested client server communication
• Created a Wsdl schema
48. 48
Interoperability
• Document/literal schema style
– WS-I recommended
– Default in .NET
• Problem with RPC/encoded
• Inline type
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<item xsi:type="xsd:string">abc</item>
• Object identity
<inputStructArray href="#id3"/>
<struct SOAP-ENC:arrayType="ns1:SOAPStruct[3]" id="id3">
49. 49
…Interoperability
• Support for XML “anyType”
<element name=“reference“/> - default type: “anyType”
– Simple types
– Complex types
• Support for nil attribute
– Schema description
<element name="varInt" type="long" nillable="true“/>
<element name="varInt" type="long"/> - nillable=“false“
– Message encoding
<varStruct xsi:nil="true"/>
51. 51
SOAP Header Support
• Wsdl client support in 7.2
– Add, marshal and unmarshal header entry
– No verification
• SOAP header processing model
– Preview for 7.3
– Opentalk client and server support
– Opentalk-SOAP-HeadersDemo package
52. 52
SOAP Headers Processing
Model
Service Consumer Service Provider
Operation
Header
Processor
Operation
Header
Processor
Processing Policy
Header Entry Processors
… …
Header <Header>
Verifies,
unmarshals
<Header>
Header
Entries
Body
processing
54. 54
Opentalk Client Settings
There are a few options to set the Opentalk client result in
SOAPMarshaler defaultReturnedObject
– #result – returns the body value, default
– #envelope - returns instance of
WebServices.SoapEnvelope, having an envelope as a
result allows to get access to response header and body
– #response - returns a SoapResponse, the result can be
helpful for debugging purpose
55. 55
Tutorial Wrap-up
• In this tutorial, we've done the following things:
– Learned about Web Services technology.
– Learned about how to describe an interface using
WSDL schema
– Reviewed VW Web Services Tool.
– Used the WS Tool to create Web service based systems
from WSDL files.
– Created and deployed a Web service system from an
existing application
– Learned about SOAP header processing model