Configuring SAP Exchange Infrastructure in a Web Service Scenario

Similar documents
T320 E-business technologies: foundations and practice

Web Services Servizio Telematico Doganale

FUSE ESB. Getting Started with FUSE ESB. Version 4.1 April 2009

Distributed Embedded Systems

SOAP. SOAP SOAP d Apache/IBM Invocation générique : SOAP. Message XML SOAP. SOAP d Apache/IBM Invocation générique : SOAP

Joke Server example. with Java and Axis. Web services with Axis SOAP, WSDL, UDDI. Joke Metaservice Joke Server Joke Client.

Bindings for the Service Provisioning Markup Language (SPML) Version 1.0

Salesforce.com Integration Using SAP PI: A Case Study

Setup Guide Central Monitoring of SAP NetWeaver Proces Integration 7.3 with SAP Solution Manager 7.1. Active Global Support February 2011

Cúram Web Services Guide

EHR-IIS Interoperability Enhancement Project. Transport Layer Protocol Recommendation Formal Specification. Version 1.

API Guide. SilkCentral Test Manager

How To... Use SOA Configuration to Call RFCs and Web Services from within SAP NetWeaver BPM

Perceptive Connector for Infor Lawson AP Invoice Automation

Salesforce Integration Using PI: How to Perform Query and Other DML Operations Using the Enterprise WSDL

A Practical Perspective on the Design and Implementation of Enterprise Integration Solution to improve QoS using SAP NetWeaver Platform

DMP ESB Stanlab Interface vejledning i anvendelse.

Developing Applications for Integration between PI and SAP ERP in Different Network Domains or Landscapes

[MS-DLX]: Distribution List Expansion Protocol. Intellectual Property Rights Notice for Open Specifications Documentation

Service Oriented Architecture using JAVA

Web Services. Distributed Object Systems 11. Web Services, SOAP and NET. Web Applications. Web Services. Web services vs Distributed Objects

Availability Monitoring using Http Ping

SAP NetWeaver Process Integration - Demo Example Configuration

Web-Programmierung (WPR)

Oracle Service Bus Examples and Tutorials

Application. 1.1 About This Tutorial Tutorial Requirements Provided Files

SAP NetWeaver MDM Business Content

... Introduction... 17

Argos Web Service Interface Specification

Pervasive Software + NetSuite = Seamless Cloud Business Processes

MDM Server Web Services Reference Guide (Internal)

How to Extend SAP Cloud for Customer - SAP On- Premise Pre-Packaged Integration Content (PI/HCI)

StreamServe Persuasion SP4 StreamServe Connect for SAP - Business Processes

Web Services Metadata Exchange (WS- MetadataExchange)

Business Process Management IBM Business Process Manager V7.5

So far in the first three chapters of this book we have studied an overview of SAP

Integrating Siebel CRM with Microsoft SharePoint Server

How to Integrate CRM 2007 WebClient UI with SAP NetWeaver Portal

Developing Web Services Applications

Enterprise Service Bus

Working with the ERP Integration Service of EMC Documentum Process Services for SAP

Solution Documentation for Custom Development

Acknowledgments. p. 55

Security and Risk Management

SAP" Interactive Forms by Adobe*

Siebel Web UI Dynamic Developer Kit Guide. Siebel Innovation Pack 2013 Version 8.1/8.2 September 2013

Converting and Exporting Data in XML Format

EFSOC Framework Overview and Infrastructure Services

Mobile Application Development Platform Comparison

Using Patterns with WMBv8 and IIBv9

SAP HANA Cloud Integration CUSTOMER

The Consultant s Guide to SAP SRM

Configuring Java IDoc Adapter (IDoc_AAE) in Process Integration. : SAP Labs India Pvt.Ltd

Oracle Service Bus. User Guide 10g Release 3 Maintenance Pack 1 (10.3.1) June 2009

IT Service Management in SAP Solution Manager

Integrating SAP with Salesforce to benefit your sales staff. Matthews International Ruth Wepfer and Kaushik Mitra

WSPDS: Web Services Peer-to-peer Discovery Service

Integrating Siebel CRM 8 with Oracle Applications

Step-by-Step guide for SSO from MS Sharepoint 2010 to SAP EP 7.0x

PUBLIC Connecting a Customer System to SAP HCI

Universal Event Monitor for SOA Reference Guide

A Step-by-Step guide on SMTP Configuration and File to Mail Scenario Using Process Integration Scenario in PI 7.1

Manage Workflows. Workflows and Workflow Actions

SAP How-To Guide: Develop a Custom Master Data Object in SAP MDG (Master Data Governance)

This is a fundamental tutorial that covers the basics of SAP CRM and how to deal with its various components and sub-components.

How-To Guide SAP NetWeaver Document Version: How To Guide - Configure SSL in ABAP System

Apache CXF Web Service Development

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

SOA Planning Guide The Value Enablement Group, LLC. All rights reserved.

A standards-based approach to application integration

SilkCentral Test Manager 2009 SP1. API Help

Taleo Enterprise. Taleo Reporting Getting Started with Business Objects XI3.1 - User Guide

Work with XI 3.0 Java Proxies

Web-Service Example. Service Oriented Architecture

Upgrade made easy: SAP Tools, Accelerators and Best Practices for migrating from SAP NetWeaver PI to SAP NetWeaver Process Orchestration

SAP Solution Manager - Content Transfer This document provides information on architectural and design questions, such as which SAP Solution Manager

VBLOCK SOLUTION FOR SAP APPLICATION SERVER ELASTICITY

SAP NetWeaver Single Sign-On. Product Management SAP NetWeaver Identity Management & Security June 2011

Ariba Integration Platform

IBM Unica emessage Version 8 Release 6 February 13, User's Guide

UC4 for SAP NetWeaver

Introduction. Tom Dinkelaker, Ericsson Guido Salvaneschi, Mira Mezini, TUD

Oracle SOA Suite 11g: Essential Concepts Student Guide

Ameritas Single Sign-On (SSO) and Enterprise SAML Standard. Architectural Implementation, Patterns and Usage Guidelines

1. Open Source J2EE Enterprise Service Bus Investigation

Addressing the SAP Data Migration Challenges with SAP Netweaver XI

Using EMC Documentum with Adobe LiveCycle ES

SAP NetWeaver Portal Development Kits for.net and Java

Configuration of Enterprise Services using SICF and SOA Manager

Transcription:

VICTORIA UNIVERSITY Configuring SAP Exchange Infrastructure in a Web Service Scenario BCO6679 WEB SERVICES Special Project Essay Frederico Chan (3844793) 11/8/2010

Table of Contents 1.0 Introduction to SAP Exchange Infrastructure (XI)... 2 1.1 The Basic... 2 1.2 The Architecture... 2 1.3 Adapter Engine and SOAP Adapter... 3 2.0 The Special Project Scope... 4 3.0 Use of SAP XI to consume Web Services... 6 3.1 Setting up a SOAP Adapter... 6 3.2 Uploading the WSDL... 6 3.3 Creating a SOAP Receiver Channel... 8 3.4 Designing Integration Scenario... 9 3.4.1 Application Component... 10 3.4.2 Actions... 10 3.4.3 Connection... 11 3.4.4 Start and End Point... 11 3.5.0 Configuring Integration Scenario... 12 3.5.1 Test Configuration... 15 4.0 Challenges... 16 5.0 Conclusion... 16 6.0 Reference... 17 7.0 Appendix... 18 Frederico Chan (3844793) Page 1 of 23

1.0 Introduction to SAP Exchange Infrastructure (XI) In this section it introduces the basic of SAP Exchange Infrastructure (XI) where it fit in the SAP Landscape, its basic architecture and the components that make consuming Web Services possible with SAP XI. 1.1 The Basic The SAP XI is the integration broker implementation from SAP. It is placed in this diagram as part of the process integration box. SAP XI leverages the application platform as a runtime environment. Figure 1.0 SAP XI shown as integration broker within the Netweaver Platform. The goal of the SAP XI is to provide a platform for internal and external process integration. It gets delivered with prepackaged collaboration knowledge and offers a major control point for business integration. SAP s goal is to centralize cross-system integration in one place within SAP XI in traditional SAP implementations this is achieved using ALE technology or other EAI tasks like flat file exchange. SAP XI includes also a BPEL engine which enables not only simple message routing between systems, but also more intelligent system integration scenarios. This BPEL capability is not going to replace the existing SAP Business Workflow capabilities that are still included within any ABAP based SAP instance like CRM, SRM or R/3. 1.2 The Architecture SAP XI is running on top of the SAP Web Application Server 6.40 and later, a specific difference is that SAP XI is supported on Unicode platforms only. SAP XI is one of the first new SAP Frederico Chan (3844793) Page 2 of 23

middleware components that are using both personalities of an SAP Web Application Server the Java and the ABAP part. Figure2.0 SAP XI Architecture showing components. In the general architecture of SAP XI you can see there are two main blocks. The shared collaboration knowledge area contains the business packages and business process templates. They can be built and changed with the Integration builder. To build them, you can access data from the SLD and export it to the runtime environment. In the collaborative business process runtime part, the built business processes get connected to different systems in the SLD and really runs in this environment. Another perspective is to separate between the design, configuration and runtime environment. As you can see in the above diagram, the runtime environment can access other SAP systems and other systems using SAP XI adapters. 1.3 Adapter Engine and SOAP Adapter SAP XI is using adapters to connect any backend system to the integration server. The adapter portfolio is fairly rich because SAP is partnering with major adapter development business partners like Seeburger and iway to use their adapters together with an SAP XI broker. If no adapter is available for a more exotic backend, the partner connectivity kit can be used to create a new custom adapter that reflects the special needs of a dedicated backend system. The XI system allows you to create a WSDL file from an interface description and upload a WSDL file. The message exchange is performed by the SOAP adapter, which can transform a SOAP message to an XI message and back. When working with the SOAP adapter you do not need to worry about the SOAP envelope, as the SOAP adapter adds this envelope for outbound messages and removes it for inbound messages. The SOAP body is identical to the payload of the XI message. Therefore, the payload of the XI message must be a valid XML. Frederico Chan (3844793) Page 3 of 23

Special Project Essay (Web Service with SAP XI) Figure 3.0 showing multiple SAP XI adapter in relation to Integration Server. 2.0 The Special Project Scope The special project goal is to demonstrate SAP XI ability as an integration broker to consume Web Services. US Weather Data SAP XI Figure 4.0 Example of Consuming Web Services (Weather Data) First we discussed the consuming of Web Services with SAP XI. In the consuming example (Figure 4.0), the website WebServiceX.NET published US weather data via free web services, the Victoria University SAP XI system is then configured with a SOAP adapter and a integration scenario to consume that web service. The user interface is a web application generated with ABAP webdynpro, it serves as the triggering for the web service consumption by inputting the US city name and triggering the request connection for web service. The WebServiceX.Net is a freee web service site providing a one week weather forecast for valid USA city (eg. Washington, New York, San Francisco, etc). Although WebserviceX.NET provides other web services we are only using weather forecast in this example. The WSDL Schema location can be found below, and for the entire definition file see Appendix A. Frederico Chan (3844793) Page 4 of 23

http://www.webservicex.net/weatherforecast.asmx?wsdl Integration scenario is build with the use of SAP XI, Turquoise system (EC7), client 001 is used to create all the mapping and interfacing of model scenario. The interface is a SOAP adapter prebuild in SAP system and is available by calling it using Integration Builder. The Web Application is a BSP (Business Server Pages) application use to enable the execution of web service adapter. This application is use to make the necessary entries and display the results. To be able to execute the SAP XI adapter after configuration the BSP application must be activated via ICF (Internet Communication Framework). Browser Web Services HTTP Acces Web Application www.webservi cex.net Web Application Abap\Java Webdynpro SOAP vunw7.vu.edu.au EC7 : 105, 106, 107 SAP Login XI Integration Engine vunw7.vu.edu.au EC7 : 001 SAP Login SLD EC7 - Turquoise Figure 6.0 SAP XI integration scenario and web application Frederico Chan (3844793) Page 5 of 23

3.0 Use of SAP XI to consume Web Services Web services are a standard format for exchanging data. The standard is based on XML and consists of a SOAP envelope with a header and a body. The structure of the message and the information about the connection parameters are stored in a special XML file. The structure of this file is described with the Web service definition language (WSDL). This file is usually generated by the Web service provider (receiver of the message) and can be uploaded by the Web service consumer (sender of the message). The SAP XI system allows you to upload a WSDL file. The message exchange is performed by the SOAP adapter, which can transform a SOAP message to an XI message and back. 3.1 Setting up a SOAP Adapter The receiver SOAP adapter connects SAP XI with an external Web service. To call the Web service, you need to define a message interface that represents the structure of the request and response of the Web service. You can create this message interface easily with the help of a WSDL file that represents the Web service. If this is not possible, alternatively you create the message interface based on data types that you define yourself. 3.2 Uploading the WSDL In our example the WSDL file is supplied by the WebServiceX.NET and it describes the message interface, the WSDL definition is uploaded into the Integration Repository at the Software Component and under the required Namespace. Frederico Chan (3844793) Page 6 of 23

In the external definition object, choose Category wsdl and click Import external definitions: After importing the WSDL file, you can view the included messages on the Messages tab page: Now create a message interface corresponding to the message types from the external definition. The message interface is responsible for routing the message to the Web service. Frederico Chan (3844793) Page 7 of 23

In the message interface object, select the message types of the external definition object by using the input help: After assigning the output and input message, save and activate your work. Now you can use the message interface for routing and mapping. 3.3 Creating a SOAP Receiver Channel To call the Web service, you create a communication channel with type SOAP and direction receiver in the Integration Directory. The obligatory parameters in the configuration are Target URL and SOAP action. You get the values you have to enter here from the WSDL file. You find the target URL at the tag soap:address and the SOAP action at the tag soap:operation: Frederico Chan (3844793) Page 8 of 23

For the receiver SOAP adapter you need at least the following parameters: 3.4 Designing Integration Scenario The integration scenario completely models the exchange of messages for a collaborative process and provides an overview of the process flow. To model the exchange of messages and the process flow, the integration scenario comprises the objects described below. Frederico Chan (3844793) Page 9 of 23

3.4.1 Application Component An application component is a modeling construct within an integration scenario. From a logical point of view, it represents a participant of an integration scenario. This contains the business tasks and concerns that this participant represents within the integration scenario. In our example we have Application Server 105 and Weather Data Provider. 3.4.2 Actions Following application component we define the Actions, it represents a function within an application component that is not subdivided further. Actions subdivide the process flow of an integration scenario, in our example we have Actions Look Up Weather Data by City assigned to Application Server 105 and Action Provide Weather Data by City assigned to Weather Data Provider. Assigned Outbound Interfaces US_Weather_Forecast_MI to action Look Up Weather Data. Frederico Chan (3844793) Page 10 of 23

Assigned Inbound Interfaces US_Weather_Forecast_MI_Inbound to action Provide Weather Data. 3.4.3 Connection A connection is a link between two actions within an integration scenario. In our example we need to create a Cross-Component Connection, it connects actions from different application components with each other. These actions exchange messages with each other in an integration scenario, a cross-component connection defines the interfaces and mappings used, in our case the connection needs to be Synchronous. 3.4.4 Start and End Point The purpose of start and end actions is on the one hand, to improve clarity for the user, and on the other, to specify possible points for a mapping to take place. A start action can be any action from which an integration scenario can begin, in our example this is the Look up Weather Data by City. Also remember it is possible to have more than one start point. An end action brings an integration scenario to a logical business conclusion. It is possible to have more than one end action, and it must be positioned at the end of the application component. In our example the end point is positioned at action Provide Weather Data by City. Frederico Chan (3844793) Page 11 of 23

3.5.0 Configuring Integration Scenario At configuration time you set up a collaborative process for a specific system landscape. The configuration data is structured, organized, and saved in the Integration Directory in the form of configuration objects. The configuration can be done using Wizard to help configure individual steps. In our example we will be importing the Integration Scenario. In this step you select the integration scenario and the component view. Following the transfer we then need to select the Component View to be used, in our case is the BCO6679_Ext_WebService_IS build earlier in the project. Once you have executed this activity the component view is displayed in an interactive graphic. Frederico Chan (3844793) Page 12 of 23

The second step you assigned Services to the corresponding Application Components. In this way, you map the participants in an integration scenario displayed in the component view to actual senders and receivers of messages in your system landscape. Frederico Chan (3844793) Page 13 of 23

Following assignment of services you then need to configure the connections and Generate the configurations, by selecting Create New in Generated Objects. At the end of the generation a log provides you with an overview of all changes made in the Integration Directory as a result of the configuration of the integration scenario. It informs you which configuration objects have been created or reused. The generation log enables you to recognize which configuration objects require manual work. The Generation process should automatically generate the Receiver Determination and the Interface Determination, if its not then this will need to be done manually. Frederico Chan (3844793) Page 14 of 23

Here is a diagram showing the relationship between all individual objects within the integration directory. 3.5.1 Test Configuration In SAP XI a test tool is provided to simulate the processing of a message on the basis of the existing configuration data. You can enter the header and payload of the message as the input parameters. You can then display and analyze the status of the message after each individual sub-step and once the message has been fully processed. Frederico Chan (3844793) Page 15 of 23

4.0 Challenges The challenges are the lack of resources required for completing the project, to understand this we need to first look at what is required to carry out the Web Service project. On a high level the project tasks can be summarized in three distinct parts, they are developing the Web Application frontend, configuring Integration Scenario and preparation of the Technical Platform. In Figure 7.0 below these three distinct project parts are matched against its corresponding SAP software components. The Web Application frontend which is a SAP WebDynpro program required access to SAP ABAP Workbench or Netweaver Developer Studio (NWDS) development tools, these resources are unavailable for the project. Secondly the technical platform that is the Netweaver 2004s is configured not to allow connection to internet web service provider (WebServiceX.NET). SAP Netweaver 2004s by default is setup to only allowed internal consumption and provision of web services, this is by design to secure the SAP system from internet intrusion. Special request was submitted to make security configuration changes to the SAP XI system, but due to Victoria University security policy the request was rejected. Web Application WebDynpro Integration Scenario Exchange Infrastructure Technical Platform NetWeaver 2004s Figure 7.0 Project tasks with matching SAP software components. 5.0 Conclusion In conclusion, the project was completed with a focus on designing and configuring the SAP XI integration scenario only. The integration scenario created in this project demonstrates the technical use of SAP XI to consume web services over the internet and the use of SAP XI SOAP adapter in a Web Service scenario. It is with regret that the Web Service scenario described in the project scope is incomplete, due to the lack of development tools and system security concerns. However the completion of the SAP XI Integration Scenario (under the Namespace -http://www.webservicex.net) demonstrate the ability of SAP XI as an integration broker for SOAP messages, it demonstrate the steps once needs to take in configuring the SAP XI to consume internet Web Services. The project delivery also succesfully demonstrate the use of web service WSDL file to create customise SAP XI interface for transmitting SOAP messages. As part of the project delivery this document outlines the steps taken to configure the SAP XI integration scenario and the fundamental knowledge required for using SAP XI in web service scenario. This web service project is likely to continue in future semester and it is the author goal that this document will be used as reference for future development. With intention additional Frederico Chan (3844793) Page 16 of 23

information was added and suggested to assist future SAP XI development, for example the suggested use of SAP message testing tool. In the author opinion with considerations of the project scope, future SAP XI special project should not be carried out under educational SAP Instance. Separate SAP Instance should be installed for project works to avoid security concerns and minimise risks on damaging dedicated educational system. With dedicated SAP XI Instance developemt tools can be installed and system configuration can be changed freely without any impact on scheduled university tutorial exercises. 6.0 Reference End-to-End Process Integration How-to Guides for SAP Netweaver 7.0, SAP Community Network, viewed on 5 th November 2010, <http://www.sdn.sap.com/irj/sdn/index?rid=/webcontent/uuid/608725f0-2a77-2910-c2b6-8ddddecc4b5e> Funk, B. and Nicolescu, V. 2007, SAP Exchange Infrastructure for Developers, SAP Press, Boston USA. Introduction to SAP Exchange Infrastructure, IBM Educational Assistant, viewed on 5 th November 2010, <http://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/index.jsp?topic=/com.ibm.iea.wsa piw/wsapiw/5.0/ibmandsap_intro2sap_tech/p04_sap_nw_exchange_infrastructure/player.ht ml> SAP XI (Exchange Infrastructure), ERPGenie.com, viewed on 5 th November 2010, <http://www.erpgenie.com/sap/netweaver/xi/xiauthorizations.htm> SAP How-To Guides, SAP Community Network, viewed on 5 th November 2010, <http://www.sdn.sap.com/irj/sdn/howtoguides> SAP Library SAP Exchange Infrastructure, SAP HELP, SAP Netweaver 2004 SPS23, viewed on 5 th November 2010, <http://help.sap.com/saphelp_nw04/helpdata/en/0f/80243b4a66ae0ce10000000a11402f/conte nt.htm> Frederico Chan (3844793) Page 17 of 23

7.0 Appendix Apendix A. - WebServiceX.NET WSDL definition file <wsdl:definitions targetnamespace="http://www.webservicex.net"> <wsdl:documentation> Get one week weather forecast for valid zip code or Place name in USA </wsdl:documentation> <wsdl:types> <s:schema elementformdefault="qualified" targetnamespace="http://www.webservicex.net"> <s:element name="getweatherbyzipcode"> <s:complextype> <s:sequence> <s:element minoccurs="0" maxoccurs="1" name="zipcode" type="s:string"/> </s:sequence> </s:complextype> </s:element> <s:element name="getweatherbyzipcoderesponse"> <s:complextype> <s:sequence> <s:element minoccurs="1" maxoccurs="1" name="getweatherbyzipcoderesult" type="tns:weatherforecasts"/> </s:sequence> </s:complextype> </s:element> <s:complextype name="weatherforecasts"> <s:sequence> <s:element minoccurs="1" maxoccurs="1" name="latitude" type="s:float"/> <s:element minoccurs="1" maxoccurs="1" name="longitude" type="s:float"/> <s:element minoccurs="1" maxoccurs="1" name="allocationfactor" type="s:float"/> <s:element minoccurs="0" maxoccurs="1" name="fipscode" type="s:string"/> <s:element minoccurs="0" maxoccurs="1" name="placename" type="s:string"/> <s:element minoccurs="0" maxoccurs="1" name="statecode" type="s:string"/> <s:element minoccurs="0" maxoccurs="1" name="status" type="s:string"/> <s:element minoccurs="0" maxoccurs="1" name="details" type="tns:arrayofweatherdata"/> </s:sequence> </s:complextype> <s:complextype name="arrayofweatherdata"> <s:sequence> <s:element minoccurs="0" maxoccurs="unbounded" name="weatherdata" type="tns:weatherdata"/> </s:sequence> </s:complextype> <s:complextype name="weatherdata"> <s:sequence> <s:element minoccurs="0" maxoccurs="1" name="day" type="s:string"/> <s:element minoccurs="0" maxoccurs="1" name="weatherimage" type="s:string"/> <s:element minoccurs="0" maxoccurs="1" name="maxtemperaturef" type="s:string"/> <s:element minoccurs="0" maxoccurs="1" name="mintemperaturef" type="s:string"/> <s:element minoccurs="0" maxoccurs="1" name="maxtemperaturec" type="s:string"/> <s:element minoccurs="0" maxoccurs="1" name="mintemperaturec" type="s:string"/> </s:sequence> </s:complextype> <s:element name="getweatherbyplacename"> Frederico Chan (3844793) Page 18 of 23

<s:complextype> <s:sequence> <s:element minoccurs="0" maxoccurs="1" name="placename" type="s:string"/> </s:sequence> </s:complextype> </s:element> <s:element name="getweatherbyplacenameresponse"> <s:complextype> <s:sequence> <s:element minoccurs="1" maxoccurs="1" name="getweatherbyplacenameresult" type="tns:weatherforecasts"/> </s:sequence> </s:complextype> </s:element> <s:element name="weatherforecasts" type="tns:weatherforecasts"/> </s:schema> </wsdl:types> <wsdl:message name="getweatherbyzipcodesoapin"> <wsdl:part name="parameters" element="tns:getweatherbyzipcode"/> <wsdl:message name="getweatherbyzipcodesoapout"> <wsdl:part name="parameters" element="tns:getweatherbyzipcoderesponse"/> <wsdl:message name="getweatherbyplacenamesoapin"> <wsdl:part name="parameters" element="tns:getweatherbyplacename"/> <wsdl:message name="getweatherbyplacenamesoapout"> <wsdl:part name="parameters" element="tns:getweatherbyplacenameresponse"/> <wsdl:message name="getweatherbyzipcodehttpgetin"> <wsdl:part name="zipcode" type="s:string"/> <wsdl:message name="getweatherbyzipcodehttpgetout"> <wsdl:part name="body" element="tns:weatherforecasts"/> <wsdl:message name="getweatherbyplacenamehttpgetin"> <wsdl:part name="placename" type="s:string"/> <wsdl:message name="getweatherbyplacenamehttpgetout"> <wsdl:part name="body" element="tns:weatherforecasts"/> <wsdl:message name="getweatherbyzipcodehttppostin"> <wsdl:part name="zipcode" type="s:string"/> <wsdl:message name="getweatherbyzipcodehttppostout"> <wsdl:part name="body" element="tns:weatherforecasts"/> <wsdl:message name="getweatherbyplacenamehttppostin"> <wsdl:part name="placename" type="s:string"/> <wsdl:message name="getweatherbyplacenamehttppostout"> <wsdl:part name="body" element="tns:weatherforecasts"/> <wsdl:porttype name="weatherforecastsoap"> Frederico Chan (3844793) Page 19 of 23

<wsdl:operation name="getweatherbyzipcode"> <wsdl:documentation> Get one week weather forecast for a valid Zip Code(USA) </wsdl:documentation> <wsdl:input message="tns:getweatherbyzipcodesoapin"/> <wsdl:output message="tns:getweatherbyzipcodesoapout"/> <wsdl:operation name="getweatherbyplacename"> <wsdl:documentation> Get one week weather forecast for a place name(usa) </wsdl:documentation> <wsdl:input message="tns:getweatherbyplacenamesoapin"/> <wsdl:output message="tns:getweatherbyplacenamesoapout"/> </wsdl:porttype> <wsdl:porttype name="weatherforecasthttpget"> <wsdl:operation name="getweatherbyzipcode"> <wsdl:documentation> Get one week weather forecast for a valid Zip Code(USA) </wsdl:documentation> <wsdl:input message="tns:getweatherbyzipcodehttpgetin"/> <wsdl:output message="tns:getweatherbyzipcodehttpgetout"/> <wsdl:operation name="getweatherbyplacename"> <wsdl:documentation> Get one week weather forecast for a place name(usa) </wsdl:documentation> <wsdl:input message="tns:getweatherbyplacenamehttpgetin"/> <wsdl:output message="tns:getweatherbyplacenamehttpgetout"/> </wsdl:porttype> <wsdl:porttype name="weatherforecasthttppost"> <wsdl:operation name="getweatherbyzipcode"> <wsdl:documentation> Get one week weather forecast for a valid Zip Code(USA) </wsdl:documentation> <wsdl:input message="tns:getweatherbyzipcodehttppostin"/> <wsdl:output message="tns:getweatherbyzipcodehttppostout"/> <wsdl:operation name="getweatherbyplacename"> <wsdl:documentation> Get one week weather forecast for a place name(usa) </wsdl:documentation> <wsdl:input message="tns:getweatherbyplacenamehttppostin"/> <wsdl:output message="tns:getweatherbyplacenamehttppostout"/> </wsdl:porttype> <wsdl:binding name="weatherforecastsoap" type="tns:weatherforecastsoap"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="getweatherbyzipcode"> <soap:operation soapaction="http://www.webservicex.net/getweatherbyzipcode" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> Frederico Chan (3844793) Page 20 of 23

<wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:operation name="getweatherbyplacename"> <soap:operation soapaction="http://www.webservicex.net/getweatherbyplacename" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:binding> <wsdl:binding name="weatherforecastsoap12" type="tns:weatherforecastsoap"> <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="getweatherbyzipcode"> <soap12:operation soapaction="http://www.webservicex.net/getweatherbyzipcode" style="document"/> <wsdl:input> <soap12:body use="literal"/> </wsdl:input> <wsdl:output> <soap12:body use="literal"/> </wsdl:output> <wsdl:operation name="getweatherbyplacename"> <soap12:operation soapaction="http://www.webservicex.net/getweatherbyplacename" style="document"/> <wsdl:input> <soap12:body use="literal"/> </wsdl:input> <wsdl:output> <soap12:body use="literal"/> </wsdl:output> </wsdl:binding> <wsdl:binding name="weatherforecasthttpget" type="tns:weatherforecasthttpget"> <http:binding verb="get"/> <wsdl:operation name="getweatherbyzipcode"> <http:operation location="/getweatherbyzipcode"/> <wsdl:input> <http:urlencoded/> </wsdl:input> <wsdl:output> <mime:mimexml part="body"/> </wsdl:output> <wsdl:operation name="getweatherbyplacename"> <http:operation location="/getweatherbyplacename"/> <wsdl:input> <http:urlencoded/> </wsdl:input> <wsdl:output> <mime:mimexml part="body"/> Frederico Chan (3844793) Page 21 of 23

</wsdl:output> </wsdl:binding> <wsdl:binding name="weatherforecasthttppost" type="tns:weatherforecasthttppost"> <http:binding verb="post"/> <wsdl:operation name="getweatherbyzipcode"> <http:operation location="/getweatherbyzipcode"/> <wsdl:input> <mime:content type="application/x-www-form-urlencoded"/> </wsdl:input> <wsdl:output> <mime:mimexml part="body"/> </wsdl:output> <wsdl:operation name="getweatherbyplacename"> <http:operation location="/getweatherbyplacename"/> <wsdl:input> <mime:content type="application/x-www-form-urlencoded"/> </wsdl:input> <wsdl:output> <mime:mimexml part="body"/> </wsdl:output> </wsdl:binding> <wsdl:service name="weatherforecast"> <wsdl:documentation> Get one week weather forecast for valid zip code or Place name in USA </wsdl:documentation> <wsdl:port name="weatherforecastsoap" binding="tns:weatherforecastsoap"> <soap:address location="http://www.webservicex.net/weatherforecast.asmx"/> </wsdl:port> <wsdl:port name="weatherforecastsoap12" binding="tns:weatherforecastsoap12"> <soap12:address location="http://www.webservicex.net/weatherforecast.asmx"/> </wsdl:port> <wsdl:port name="weatherforecasthttpget" binding="tns:weatherforecasthttpget"> <http:address location="http://www.webservicex.net/weatherforecast.asmx"/> </wsdl:port> <wsdl:port name="weatherforecasthttppost" binding="tns:weatherforecasthttppost"> <http:address location="http://www.webservicex.net/weatherforecast.asmx"/> </wsdl:port> </wsdl:service> </wsdl:definitions> Frederico Chan (3844793) Page 22 of 23