ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ricardo Pereira <ricardo.sele...@gmail.com>
Subject Re: Timed out invoking REST web service from Yahoo
Date Wed, 08 Jul 2009 09:40:47 GMT
Hello,
I have a very simple process that just invokes an REST external web service
from Yahoo (http://developer.yahoo.com/maps/rest/V1/geocode.html).

When i run it on Netbeans it is very quick and returns the expected result
(the latitude and longitude that are returned in decimal and i convert to
string).

When i deploy it on Apache ODE, it returns Timed Out. What am i doing
wrong?

I've seen other posts but i din't find good answers to this (the only answer
i found was to increase the time out variable but that isn't a solution).

I paste here the necessary files. (i tried to send it in attach but it
returned an error so i paste them here).

I really appreciate your help as quick as you can.

Thanks
Ricardo

######################################################
DEPLOY.XML
######################################################


<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
xmlns:pns="
http://enterprise.netbeans.org/bpel/GeocoderBpelModule/GeocoderProcess"
xmlns:wns="http://j2ee.netbeans.org/wsdl/GeocoderBpelModule/SOAPTriggerWSDL"
        xmlns:wnsYahooPL="
http://j2ee.netbeans.org/wsdl/GeocoderBpelModule/YahooGeocodeWSDL">

<process name="pns:GeocoderProcess">
<active>true</active>
<provide partnerLink="TriggerPL">
<service name="wns:SOAPTriggerWSDLService" port="SOAPTriggerWSDLPort"/>
</provide>
<invoke partnerLink="YahooPL">
<service name="wnsYahooPL:YahooGeocodeWSDLService"
port="YahooGeocodeWSDLPort"/>
</invoke>
</process>
</deploy>


######################################################
GeocoderProcess.BPEL
######################################################

<?xml version="1.0" encoding="UTF-8"?>
<process
    name="GeocoderProcess"
    targetNamespace="
http://enterprise.netbeans.org/bpel/GeocoderBpelModule/GeocoderProcess"
    xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:sxt="
http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Trace"
    xmlns:sxed="
http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Editor"
    xmlns:sxeh="
http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandling"
    xmlns:tns="
http://enterprise.netbeans.org/bpel/GeocoderBpelModule/GeocoderProcess"
xmlns:ns0="urn:yahoo:maps">
    <import namespace="
http://j2ee.netbeans.org/wsdl/GeocoderBpelModule/YahooGeocodeWSDL"
location="YahooGeocodeWSDL.wsdl" importType="
http://schemas.xmlsoap.org/wsdl/"/>
    <import namespace="
http://j2ee.netbeans.org/wsdl/GeocoderBpelModule/SOAPTriggerWSDL"
location="SOAPTriggerWSDL.wsdl" importType="http://schemas.xmlsoap.org/wsdl/
"/>
    <partnerLinks>
        <partnerLink name="TriggerPL" xmlns:tns="
http://j2ee.netbeans.org/wsdl/GeocoderBpelModule/SOAPTriggerWSDL"
partnerLinkType="tns:SOAPTriggerWSDL" myRole="SOAPTriggerWSDLPortTypeRole"/>
        <partnerLink name="YahooPL" xmlns:tns="
http://j2ee.netbeans.org/wsdl/GeocoderBpelModule/YahooGeocodeWSDL"
partnerLinkType="tns:YahooGeocodeWSDL"
partnerRole="YahooGeocodeWSDLPortTypeRole"/>
    </partnerLinks>
    <variables>
        <variable name="SOAPTriggerWSDLOperationOut" xmlns:tns="
http://j2ee.netbeans.org/wsdl/GeocoderBpelModule/SOAPTriggerWSDL"
messageType="tns:SOAPTriggerWSDLOperationResponse"/>
        <variable name="SOAPTriggerWSDLOperationIn" xmlns:tns="
http://j2ee.netbeans.org/wsdl/GeocoderBpelModule/SOAPTriggerWSDL"
messageType="tns:SOAPTriggerWSDLOperationRequest"/>
        <variable name="YahooGeocodeWSDLOperationOut" xmlns:tns="
http://j2ee.netbeans.org/wsdl/GeocoderBpelModule/YahooGeocodeWSDL"
messageType="tns:YahooGeocodeWSDLOperationResponse"/>
        <variable name="YahooGeocodeWSDLOperationIn" xmlns:tns="
http://j2ee.netbeans.org/wsdl/GeocoderBpelModule/YahooGeocodeWSDL"
messageType="tns:YahooGeocodeWSDLOperationRequest"/>
    </variables>
    <sequence>
      <receive name="Receive" createInstance="yes" partnerLink="TriggerPL"
operation="SOAPTriggerWSDLOperation" xmlns:tns="
http://j2ee.netbeans.org/wsdl/GeocoderBpelModule/SOAPTriggerWSDL"
portType="tns:SOAPTriggerWSDLPortType"
variable="SOAPTriggerWSDLOperationIn"/>
      <assign name="GetAddress">
          <copy>
              <from variable="SOAPTriggerWSDLOperationIn" part="street"/>
              <to variable="YahooGeocodeWSDLOperationIn" part="street"/>
          </copy>
          <copy>
              <from variable="SOAPTriggerWSDLOperationIn" part="city"/>
              <to variable="YahooGeocodeWSDLOperationIn" part="city"/>
          </copy>
          <copy>
              <from variable="SOAPTriggerWSDLOperationIn" part="state"/>
              <to variable="YahooGeocodeWSDLOperationIn" part="state"/>
          </copy>
          <copy>
              <from>'ricardo.cpereira'</from>
              <to variable="YahooGeocodeWSDLOperationIn" part="appid"/>
          </copy>
      </assign>
        <invoke name="InvokeYahoo" partnerLink="YahooPL"
operation="YahooGeocodeWSDLOperation" xmlns:tns="
http://j2ee.netbeans.org/wsdl/GeocoderBpelModule/YahooGeocodeWSDL"
portType="tns:YahooGeocodeWSDLPortType"
inputVariable="YahooGeocodeWSDLOperationIn"
outputVariable="YahooGeocodeWSDLOperationOut"/>
        <assign name="SetResult">
            <copy>

 <from>string($YahooGeocodeWSDLOperationOut.geoCoderResult/ns0:Result/ns0:Latitude)</from>
                <to variable="SOAPTriggerWSDLOperationOut" part="latitude"/>
            </copy>
        </assign>
      <reply name="Reply" partnerLink="TriggerPL"
operation="SOAPTriggerWSDLOperation" xmlns:tns="
http://j2ee.netbeans.org/wsdl/GeocoderBpelModule/SOAPTriggerWSDL"
portType="tns:SOAPTriggerWSDLPortType"
variable="SOAPTriggerWSDLOperationOut"/>
   </sequence>
</process>



######################################################
SOAPTriggerWSDL.WSDL
######################################################

<?xml version="1.0" encoding="UTF-8"?>
<definitions name="SOAPTriggerWSDL" targetNamespace="
http://j2ee.netbeans.org/wsdl/GeocoderBpelModule/SOAPTriggerWSDL"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="
http://j2ee.netbeans.org/wsdl/GeocoderBpelModule/SOAPTriggerWSDL"
xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:soap="
http://schemas.xmlsoap.org/wsdl/soap/">
    <types/>
    <message name="SOAPTriggerWSDLOperationRequest">
        <part name="street" type="xsd:string"/>
        <part name="city" type="xsd:string"/>
        <part name="state" type="xsd:string"/>
    </message>
    <message name="SOAPTriggerWSDLOperationResponse">
        <part name="latitude" type="xsd:string"/>
        <part name="longitude" type="xsd:string"/>
    </message>
    <portType name="SOAPTriggerWSDLPortType">
        <operation name="SOAPTriggerWSDLOperation">
            <input name="input1"
message="tns:SOAPTriggerWSDLOperationRequest"/>
            <output name="output1"
message="tns:SOAPTriggerWSDLOperationResponse"/>
        </operation>
    </portType>
    <binding name="SOAPTriggerWSDLBinding"
type="tns:SOAPTriggerWSDLPortType">
        <soap:binding style="rpc" transport="
http://schemas.xmlsoap.org/soap/http"/>
        <operation name="SOAPTriggerWSDLOperation">
            <soap:operation/>
            <input name="input1">
                <soap:body use="literal" namespace="
http://j2ee.netbeans.org/wsdl/GeocoderBpelModule/SOAPTriggerWSDL"/>
            </input>
            <output name="output1">
                <soap:body use="literal" namespace="
http://j2ee.netbeans.org/wsdl/GeocoderBpelModule/SOAPTriggerWSDL"/>
            </output>
        </operation>
    </binding>
    <service name="SOAPTriggerWSDLService">
        <port name="SOAPTriggerWSDLPort"
binding="tns:SOAPTriggerWSDLBinding">
            <soap:address location="
http://localhost:9090/ode/processes/SOAPTriggerWSDLService"/>
        </port>
    </service>
    <plnk:partnerLinkType name="SOAPTriggerWSDL">
        <!-- A partner link type is automatically generated when a new port
type is added. Partner link types are used by BPEL processes.
In a BPEL process, a partner link represents the interaction between the
BPEL process and a partner service. Each partner link is associated with a
partner link type.
A partner link type characterizes the conversational relationship between
two services. The partner link type can have one or two roles.-->
        <plnk:role name="SOAPTriggerWSDLPortTypeRole"
portType="tns:SOAPTriggerWSDLPortType"/>
    </plnk:partnerLinkType>
</definitions>


######################################################
YahooGeocodeWSDL.WSDL
######################################################

<?xml version="1.0" encoding="UTF-8"?>
<definitions name="YahooGeocodeWSDL" targetNamespace="
http://j2ee.netbeans.org/wsdl/GeocoderBpelModule/YahooGeocodeWSDL"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="
http://j2ee.netbeans.org/wsdl/GeocoderBpelModule/YahooGeocodeWSDL"
xmlns:ns="urn:yahoo:maps" xmlns:plnk="
http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:http="
http://schemas.xmlsoap.org/wsdl/http/">
    <types>
        <xsd:schema targetNamespace="
http://j2ee.netbeans.org/wsdl/GeocoderBpelModule/YahooGeocodeWSDL">
            <xsd:import namespace="urn:yahoo:maps" schemaLocation="
http://local.yahooapis.com/MapsService/V1/GeocodeResponse.xsd"/>
        </xsd:schema>
    </types>
    <message name="YahooGeocodeWSDLOperationRequest">
        <part name="appid" type="xsd:string"/>
        <part name="street" type="xsd:string"/>
        <part name="city" type="xsd:string"/>
        <part name="state" type="xsd:string"/>
    </message>
    <message name="YahooGeocodeWSDLOperationResponse">
        <part name="geoCoderResult" element="ns:ResultSet"/>
    </message>
    <portType name="YahooGeocodeWSDLPortType">
        <operation name="YahooGeocodeWSDLOperation">
            <input name="input1"
message="tns:YahooGeocodeWSDLOperationRequest"/>
            <output name="output1"
message="tns:YahooGeocodeWSDLOperationResponse"/>
        </operation>
    </portType>
    <binding name="YahooGeocodeWSDLBinding"
type="tns:YahooGeocodeWSDLPortType">
        <http:binding verb="GET"/>
        <operation name="YahooGeocodeWSDLOperation">
            <http:operation location=""/>
            <input name="input1">
                <http:urlEncoded/>
            </input>
            <output name="output1"/>
        </operation>
    </binding>
    <service name="YahooGeocodeWSDLService">
        <port name="YahooGeocodeWSDLPort"
binding="tns:YahooGeocodeWSDLBinding">
            <http:address location="
http://local.yahooapis.com/MapsService/V1/geocode"/>
        </port>
    </service>
    <plnk:partnerLinkType name="YahooGeocodeWSDL">
        <!-- A partner link type is automatically generated when a new port
type is added. Partner link types are used by BPEL processes.
In a BPEL process, a partner link represents the interaction between the
BPEL process and a partner service. Each partner link is associated with a
partner link type.
A partner link type characterizes the conversational relationship between
two services. The partner link type can have one or two roles.-->
        <plnk:role name="YahooGeocodeWSDLPortTypeRole"
portType="tns:YahooGeocodeWSDLPortType"/>
    </plnk:partnerLinkType>
</definitions>


######################################################
GeocodeResponse.XSD
######################################################

<?xml version="1.0" encoding="utf-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
  targetNamespace="urn:yahoo:maps"
  xmlns="urn:yahoo:maps"
  elementFormDefault="qualified">

<xs:element name="ResultSet">
<xs:complexType>
<xs:sequence>
<xs:element name="Result" type="ResultType" minOccurs="0" maxOccurs="50" />
</xs:sequence>
</xs:complexType>
</xs:element>

<xs:complexType name="ResultType">
<xs:sequence>
<xs:element name="Latitude" type="xs:decimal" />
<xs:element name="Longitude" type="xs:decimal" />
<xs:element name="Address" type="xs:string" />
<xs:element name="City" type="xs:string" />
<xs:element name="State" type="xs:string" />
<xs:element name="Zip" type="xs:string" />
<xs:element name="Country" type="xs:string" />
</xs:sequence>
<xs:attribute name="precision" type="xs:string" />
<xs:attribute name="warning" type="xs:string" use="optional"/>
</xs:complexType>
</xs:schema>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message