The following import does not specify a location, it seems we are missing a null check there. <bpws:import importType="http://schemas.xmlsoap.org/wsdl/" namespace=" http://org.weatherprocessArtifacts <http://org.weatherprocessartifacts/>"/>
-mbs On 2/2/07, Jiang Liu <[EMAIL PROTECTED]> wrote:
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
