Ooooops, failed to attach multi files.
There are 5 files:
deploy.xml
GlobalWeather.wsdl (download from the service)
WeatherProcess.wsdl (BPEL's wsdl)
WeatherProcessArtifacts.wsdl (partner link definitions)
WeatherProcess.bpel (process file)
=================================
deploy.xml
--------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<deploy xmlns="http://ode.fivesight.com/schemas/2006/06/27/dd"
xmlns:process="http://org.weatherprocess"
xmlns:pn="http://org.weatherprocess"
xmlns:sn="http://www.webserviceX.NET">
<process name="process:WeatherProcess">
<active>true</active>
<provide partnerLink="myself">
<service name="pn:WeatherProcess"
port="WeatherProcessSOAPport"/>
</provide>
<invoke partnerLink="weather">
<service name="sn:GlobalWeather"
port="GlobalWeatherSoap"/>
</invoke>
</process>
</deploy>
==========================================
GlobalWeather.wsdl
--------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns="http://www.webserviceX.NET"
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
targetNamespace="http://www.webserviceX.NET"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema elementFormDefault="qualified"
targetNamespace="http://www.webserviceX.NET">
<s:element name="GetWeather">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="CityName"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="CountryName"
type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetWeatherResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="GetWeatherResult"
type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetCitiesByCountry">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="CountryName"
type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetCitiesByCountryResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="GetCitiesByCountryResult" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="string" nillable="true" type="s:string" />
</s:schema>
</wsdl:types>
<wsdl:message name="GetWeatherSoapIn">
<wsdl:part name="parameters" element="tns:GetWeather" />
</wsdl:message>
<wsdl:message name="GetWeatherSoapOut">
<wsdl:part name="parameters" element="tns:GetWeatherResponse" />
</wsdl:message>
<wsdl:message name="GetCitiesByCountrySoapIn">
<wsdl:part name="parameters" element="tns:GetCitiesByCountry" />
</wsdl:message>
<wsdl:message name="GetCitiesByCountrySoapOut">
<wsdl:part name="parameters" element="tns:GetCitiesByCountryResponse" />
</wsdl:message>
<wsdl:message name="GetWeatherHttpGetIn">
<wsdl:part name="CityName" type="s:string" />
<wsdl:part name="CountryName" type="s:string" />
</wsdl:message>
<wsdl:message name="GetWeatherHttpGetOut">
<wsdl:part name="Body" element="tns:string" />
</wsdl:message>
<wsdl:message name="GetCitiesByCountryHttpGetIn">
<wsdl:part name="CountryName" type="s:string" />
</wsdl:message>
<wsdl:message name="GetCitiesByCountryHttpGetOut">
<wsdl:part name="Body" element="tns:string" />
</wsdl:message>
<wsdl:message name="GetWeatherHttpPostIn">
<wsdl:part name="CityName" type="s:string" />
<wsdl:part name="CountryName" type="s:string" />
</wsdl:message>
<wsdl:message name="GetWeatherHttpPostOut">
<wsdl:part name="Body" element="tns:string" />
</wsdl:message>
<wsdl:message name="GetCitiesByCountryHttpPostIn">
<wsdl:part name="CountryName" type="s:string" />
</wsdl:message>
<wsdl:message name="GetCitiesByCountryHttpPostOut">
<wsdl:part name="Body" element="tns:string" />
</wsdl:message>
<wsdl:portType name="GlobalWeatherSoap">
<wsdl:operation name="GetWeather">
<documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Get weather
report for all major cities around the world.</documentation>
<wsdl:input message="tns:GetWeatherSoapIn" />
<wsdl:output message="tns:GetWeatherSoapOut" />
</wsdl:operation>
<wsdl:operation name="GetCitiesByCountry">
<documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Get all major
cities by country name(full / part).</documentation>
<wsdl:input message="tns:GetCitiesByCountrySoapIn" />
<wsdl:output message="tns:GetCitiesByCountrySoapOut" />
</wsdl:operation>
</wsdl:portType>
<wsdl:portType name="GlobalWeatherHttpGet">
<wsdl:operation name="GetWeather">
<documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Get weather
report for all major cities around the world.</documentation>
<wsdl:input message="tns:GetWeatherHttpGetIn" />
<wsdl:output message="tns:GetWeatherHttpGetOut" />
</wsdl:operation>
<wsdl:operation name="GetCitiesByCountry">
<documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Get all major
cities by country name(full / part).</documentation>
<wsdl:input message="tns:GetCitiesByCountryHttpGetIn" />
<wsdl:output message="tns:GetCitiesByCountryHttpGetOut" />
</wsdl:operation>
</wsdl:portType>
<wsdl:portType name="GlobalWeatherHttpPost">
<wsdl:operation name="GetWeather">
<documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Get weather
report for all major cities around the world.</documentation>
<wsdl:input message="tns:GetWeatherHttpPostIn" />
<wsdl:output message="tns:GetWeatherHttpPostOut" />
</wsdl:operation>
<wsdl:operation name="GetCitiesByCountry">
<documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Get all major
cities by country name(full / part).</documentation>
<wsdl:input message="tns:GetCitiesByCountryHttpPostIn" />
<wsdl:output message="tns:GetCitiesByCountryHttpPostOut" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="GlobalWeatherSoap" type="tns:GlobalWeatherSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
style="document" />
<wsdl:operation name="GetWeather">
<soap:operation soapAction="http://www.webserviceX.NET/GetWeather"
style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetCitiesByCountry">
<soap:operation
soapAction="http://www.webserviceX.NET/GetCitiesByCountry" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="GlobalWeatherHttpGet" type="tns:GlobalWeatherHttpGet">
<http:binding verb="GET" />
<wsdl:operation name="GetWeather">
<http:operation location="/GetWeather" />
<wsdl:input>
<http:urlEncoded />
</wsdl:input>
<wsdl:output>
<mime:mimeXml part="Body" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetCitiesByCountry">
<http:operation location="/GetCitiesByCountry" />
<wsdl:input>
<http:urlEncoded />
</wsdl:input>
<wsdl:output>
<mime:mimeXml part="Body" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="GlobalWeatherHttpPost" type="tns:GlobalWeatherHttpPost">
<http:binding verb="POST" />
<wsdl:operation name="GetWeather">
<http:operation location="/GetWeather" />
<wsdl:input>
<mime:content type="application/x-www-form-urlencoded" />
</wsdl:input>
<wsdl:output>
<mime:mimeXml part="Body" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetCitiesByCountry">
<http:operation location="/GetCitiesByCountry" />
<wsdl:input>
<mime:content type="application/x-www-form-urlencoded" />
</wsdl:input>
<wsdl:output>
<mime:mimeXml part="Body" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="GlobalWeather">
<wsdl:port name="GlobalWeatherSoap" binding="tns:GlobalWeatherSoap">
<soap:address location="http://www.webservicex.net/globalweather.asmx" />
</wsdl:port>
<wsdl:port name="GlobalWeatherHttpGet" binding="tns:GlobalWeatherHttpGet">
<http:address location="http://www.webservicex.net/globalweather.asmx" />
</wsdl:port>
<wsdl:port name="GlobalWeatherHttpPost" binding="tns:GlobalWeatherHttpPost">
<http:address location="http://www.webservicex.net/globalweather.asmx" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
===============================================
WeatherProcess.wsdl
---------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<bpws:process
xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/"
xmlns:ns="http://org.weatherprocessArtifacts"
xmlns:ns0="http://www.webserviceX.NET"
xmlns:tns="http://org.weatherprocess"
exitOnStandardFault="yes"
name="WeatherProcess"
suppressJoinFailure="yes"
targetNamespace="http://org.weatherprocess">
<bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
namespace="http://org.weatherprocessArtifacts"/>
<bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
location="WeatherProcessArtifacts.wsdl"
namespace="http://org.weatherprocessArtifacts"/>
<bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
location="WeatherProcess.wsdl" namespace="http://org.weatherprocess"/>
<bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
location="globalweather.wsdl" namespace="http://www.webserviceX.NET"/>
<bpws:partnerLinks>
<bpws:partnerLink name="weather" partnerLinkType="ns:weather_PLT"
partnerRole="weather_PT"/>
<bpws:partnerLink myRole="process_PT" name="myself"
partnerLinkType="ns:process_PLT"/>
</bpws:partnerLinks>
<bpws:variables>
<bpws:variable messageType="tns:getResultMessage" name="in_my"/>
<bpws:variable messageType="ns0:GetWeatherSoapIn" name="in_weather"/>
<bpws:variable messageType="tns:getResultResponseMessage" name="out_my"/>
<bpws:variable messageType="ns0:GetWeatherSoapOut" name="out_weather"/>
</bpws:variables>
<bpws:sequence>
<bpws:receive createInstance="yes" name="Receive" operation="getResult"
partnerLink="myself" portType="tns:WeatherProcessPortType" variable="in_my"/>
<bpws:assign name="Assign" validate="no">
<bpws:copy>
<bpws:from>$in_my.city</bpws:from>
<bpws:to>$in_weather.CityName</bpws:to>
<bpws:from>$in_my.country</bpws:from>
<bpws:to>$in_weather.CountryName</bpws:to>
</bpws:copy>
</bpws:assign>
<bpws:invoke inputVariable="in_weather" name="Invoke" operation="GetWeather"
outputVariable="out_weather" partnerLink="weather"
portType="ns0:GlobalWeatherSoap"/>
<bpws:assign name="Assign1" validate="no">
<bpws:copy>
<bpws:from>$out_weather.GetWeatherResult</bpws:from>
<bpws:to>$out_my.return</bpws:to>
</bpws:copy>
</bpws:assign>
<bpws:reply name="Reply" operation="getResult" partnerLink="myself"
portType="tns:WeatherProcessPortType" variable="out_my"/>
</bpws:sequence>
</bpws:process>
==============================================
WeatherProcessArtifacts.wsdl
-------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<definitions
xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/"
xmlns:plnk="http://schemas.xmlsoap.org/ws/2004/03/partner-link/"
xmlns:tns="http://org.weatherprocessArtifacts"
xmlns:wsdl="http://org.weatherprocess" xmlns:wsdl1="http://www.webserviceX.NET"
name="WeatherProcessArtifacts"
targetNamespace="http://org.weatherprocessArtifacts"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<plnk:partnerLinkType name="process_PLT">
<plnk:role name="process_PT" portType="wsdl:WeatherProcessPortType"/>
</plnk:partnerLinkType>
<plnk:partnerLinkType name="weather_PLT">
<plnk:role name="weather_PT" portType="wsdl1:GlobalWeatherSoap"/>
</plnk:partnerLinkType>
<import location="WeatherProcess.wsdl" namespace="http://org.weatherprocess"/>
<import location="globalweather.wsdl" namespace="http://www.webserviceX.NET"/>
</definitions>
==============================================
WeatherProcess.bpel
-------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<bpws:process
xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/"
xmlns:ns="http://org.weatherprocessArtifacts"
xmlns:ns0="http://www.webserviceX.NET"
xmlns:tns="http://org.weatherprocess"
exitOnStandardFault="yes"
name="WeatherProcess"
suppressJoinFailure="yes"
targetNamespace="http://org.weatherprocess">
<bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
namespace="http://org.weatherprocessArtifacts"/>
<bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
location="WeatherProcessArtifacts.wsdl"
namespace="http://org.weatherprocessArtifacts"/>
<bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
location="WeatherProcess.wsdl" namespace="http://org.weatherprocess"/>
<bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
location="globalweather.wsdl" namespace="http://www.webserviceX.NET"/>
<bpws:partnerLinks>
<bpws:partnerLink name="weather" partnerLinkType="ns:weather_PLT"
partnerRole="weather_PT"/>
<bpws:partnerLink myRole="process_PT" name="myself"
partnerLinkType="ns:process_PLT"/>
</bpws:partnerLinks>
<bpws:variables>
<bpws:variable messageType="tns:getResultMessage" name="in_my"/>
<bpws:variable messageType="ns0:GetWeatherSoapIn" name="in_weather"/>
<bpws:variable messageType="tns:getResultResponseMessage" name="out_my"/>
<bpws:variable messageType="ns0:GetWeatherSoapOut" name="out_weather"/>
</bpws:variables>
<bpws:sequence>
<bpws:receive createInstance="yes" name="Receive" operation="getResult"
partnerLink="myself" portType="tns:WeatherProcessPortType" variable="in_my"/>
<bpws:assign name="Assign" validate="no">
<bpws:copy>
<bpws:from>$in_my.city</bpws:from>
<bpws:to>$in_weather.CityName</bpws:to>
<bpws:from>$in_my.country</bpws:from>
<bpws:to>$in_weather.CountryName</bpws:to>
</bpws:copy>
</bpws:assign>
<bpws:invoke inputVariable="in_weather" name="Invoke" operation="GetWeather"
outputVariable="out_weather" partnerLink="weather"
portType="ns0:GlobalWeatherSoap"/>
<bpws:assign name="Assign1" validate="no">
<bpws:copy>
<bpws:from>$out_weather.GetWeatherResult</bpws:from>
<bpws:to>$out_my.return</bpws:to>
</bpws:copy>
</bpws:assign>
<bpws:reply name="Reply" operation="getResult" partnerLink="myself"
portType="tns:WeatherProcessPortType" variable="out_my"/>
</bpws:sequence>
</bpws:process>
Cheers!!
------------------------------
Jiang Liu
Student Number: 3075163
CS/Yallara Name: ljiang
RMIT, Melbourne