ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jean-Claude Moissinac" <moissi...@enst.fr>
Subject Re: Process Won't List
Date Tue, 01 Apr 2008 11:14:48 GMT
I'm also novice with ODE but...

You need a provide for the BPEL process, but you need also an invoke
for the called process.

My experience is also that the WSDL for the called process must be
present in the deployment directory, not referenced outside of that
directory.

I need an advice: how do you obtain all the messages on stdout that
you have copied above?

2008/4/1, Adam Nowak <anowak@idcor.com>:
> Hello Matthieu,
>
>  1) I changed my BPEL process to receive instead of invoke.
>  2) I changed the <invoke> to <provide> within the deploy.xml.
>
>  The following is thrown when I deploy the process:
>
> DEBUG - GeronimoLog.debug(66) | Process store event:
>
> {ProcessStoreEvent#DEPLOYED:{http://service.idcor.src}hello-54}
>
> DEBUG - GeronimoLog.debug(66) | Ignoring store event:
>
> {ProcessStoreEvent#DEPLOYED:{http://service.idcor.src}hello-54}
>
> DEBUG - GeronimoLog.debug(66) | Process store event:
>
> {ProcessStoreEvent#ACTVIATED:{http://service.idcor.src}hello-54}
>  DEBUG - GeronimoLog.debug(66) | register: {http://service.idcor.src}hello-54
>
> DEBUG - GeronimoLog.debug(66) | Registering process
>
> {http://service.idcor.src}hello-54 with server.
>  DEBUG - GeronimoLog.debug(66) | Register process:
>  serviceId={http://service.idcor.src}helloService:helloServiceSOAP11port_http,
>  process=BpelProcess[{http://service.idcor.src}hello-54]
>
> DEBUG - GeronimoLog.debug(66) | Activating
>
> {http://service.idcor.src}hello-54
>  DEBUG - GeronimoLog.debug(66) | Destroying service
>  {http://service.idcor.src}helloService port helloServiceSOAP11port_http
>  DEBUG - GeronimoLog.debug(66) | Couldn't find service
>  {http://service.idcor.src}helloService port helloServiceSOAP11port_http
>  to destroy.
>  WARN - GeronimoLog.warn(92) | Deployment failed within the engine, store
>  undeploying process.
>
> DEBUG - GeronimoLog.debug(66) | Process store event:
>
> {ProcessStoreEvent#UNDEPLOYED:{http://service.idcor.src}hello-54}
>  DEBUG - GeronimoLog.debug(66) | Deactivating process
>  {http://service.idcor.src}hello-54
>  INFO - GeronimoLog.info(79) | Unregistered process
>  {http://service.idcor.src}hello-54.
>  ERROR - GeronimoLog.error(108) | Deployment of hello failed, aborting
>  for now.
>  org.apache.ode.bpel.iapi.ContextException: Could not activate endpoint
>  for service {http://service.idcor.src}helloService and port
>  helloServiceSOAP11port_http
>     at
>  org.apache.ode.axis2.BindingContextImpl.activateMyRoleEndpoint(BindingContextImpl.java:62)
>     at org.apache.ode.bpel.engine.BpelProcess.activate(BpelProcess.java:500)
>     at
>  org.apache.ode.bpel.engine.BpelEngineImpl.registerProcess(BpelEngineImpl.java:232)
>     at
>  org.apache.ode.bpel.engine.BpelServerImpl.register(BpelServerImpl.java:282)
>     at org.apache.ode.axis2.ODEServer.handleEvent(ODEServer.java:543)
>     at org.apache.ode.axis2.ODEServer.access$100(ODEServer.java:73)
>     at
>  org.apache.ode.axis2.ODEServer$ProcessStoreListenerImpl.onProcessStoreEvent(ODEServer.java:529)
>     at
>  org.apache.ode.store.ProcessStoreImpl.fireEvent(ProcessStoreImpl.java:501)
>     at
>  org.apache.ode.store.ProcessStoreImpl.fireStateChange(ProcessStoreImpl.java:507)
>     at
>  org.apache.ode.store.ProcessStoreImpl.deploy(ProcessStoreImpl.java:284)
>     at
>  org.apache.ode.axis2.deploy.DeploymentPoller.check(DeploymentPoller.java:144)
>     at
>  org.apache.ode.axis2.deploy.DeploymentPoller.access$300(DeploymentPoller.java:55)
>     at
>  org.apache.ode.axis2.deploy.DeploymentPoller$PollingThread.run(DeploymentPoller.java:188)
>  Caused by: org.apache.ode.axis2.OdeFault: The soap:address used for
>  service WSDL definition {http://service.idcor.src}helloService and port
>  helloServiceSOAP11port_http should be of the form
>  http://hostname:port/ode/processes/myProcessEndpointName
>     at
>  org.apache.ode.axis2.hooks.ODEAxisService.extractServiceName(ODEAxisService.java:160)
>     at
>  org.apache.ode.axis2.hooks.ODEAxisService.createService(ODEAxisService.java:60)
>     at org.apache.ode.axis2.ODEServer.createService(ODEServer.java:306)
>     at
>  org.apache.ode.axis2.BindingContextImpl.activateMyRoleEndpoint(BindingContextImpl.java:59)
>     ... 12 more
>
>  Here is my new deploy.xml:
>
> <deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
>  xmlns:tns="http://service.idcor.src">
>   <process name="tns:hello">
>
>     <active>true</active>
>     <provide partnerLink="helloServicePLink">
>
>       <service name="tns:helloService" port="helloServiceSOAP11port_http" />
>
>     </provide>
>   </process>
>  </deploy>
>
>  Here is my new hello.bpel:
>
> <bpws:process exitOnStandardFault="yes" name="hello"
>
>     suppressJoinFailure="yes" targetNamespace="http://service.idcor.src"
>     xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
>     xmlns:ns="http://service.idcor.srcArtifacts"
>  xmlns:tns="http://service.idcor.src">
>     <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
>
>         location="helloService.wsdl" namespace="http://service.idcor.src"/>
>
>     <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
>
>         location="helloArtifacts.wsdl"
>
> namespace="http://service.idcor.srcArtifacts"/>
>
>     <bpws:partnerLinks>
>         <bpws:partnerLink myRole="in" name="helloServicePLink"
>  partnerLinkType="ns:helloServicePLinkType"/>
>     </bpws:partnerLinks>
>     <bpws:variables>
>         <bpws:variable messageType="tns:helloRequest"
>  name="helloServicePLinkResponse"/>
>     </bpws:variables>
>     <bpws:sequence>
>         <bpws:receive name="hello_Receive" operation="hello"
>             partnerLink="helloServicePLink"
>             portType="tns:helloServicePortType"
>  variable="helloServicePLinkResponse"/>
>     </bpws:sequence>
>  </bpws:process>
>
>  Cheers!
>
> ~Adam
>
>
>  Adam Nowak wrote:
>  > Hi Matthieu,
>  >
>  > Thanks for the advice; I will make the appropriate changes and let you
>  > know how it goes.
>  >
>  > Cheers!
>  > ~Adam
>  >
>  > Matthieu Riou wrote:
>  >> Hi Adam,
>  >>
>  >> It's actually what I mentioned earlier, your process doesn't have any
>  >> receive and doesn't define any <provide partnerLink="..."> in its
>  >> deployment
>  >> descriptor. If your process never receives any message, ODE doesn't
>  >> need to
>  >> create a service for it. Your helloWorld is maybe a bit too simple :)
>  >>
>  >> Cheers,
>  >> Matthieu
>  >>
>  >> On 3/31/08, Adam Nowak <anowak@idcor.com> wrote:
>  >>
>  >>> Hello Matthieu,
>  >>>
>  >>> With a little bit of playing around I have managed to find the process
>  >>> (helloProcess) using the Management API.
>  >>> However, when I visit http://localhost:8080/ode/services/listServices,
>  >>> the process still does not appear on the list.
>  >>>
>  >>> Here is my deploy.xml:
>  >>> <deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
>  >>> xmlns:tns="http://service.idcor.src">
>  >>>   <process name="tns:helloProcess">
>  >>>     <active>true</active>
>  >>>     <invoke partnerLink="helloPartnerLink">
>  >>>       <service name="tns:helloService"
>  >>> port="helloServiceSOAP11port_http"
>  >>> />
>  >>>     </invoke>
>  >>>   </process>
>  >>> </deploy>
>  >>>
>  >>> Here is my helloProcess.bpel
>  >>> <bpws:process exitOnStandardFault="yes" name="helloProcess"
>  >>>     suppressJoinFailure="yes"
>  >>> targetNamespace="http://service.idcor.src"
>  >>>
>  >>> xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
>  >>>     xmlns:ns="http://service.idcor.srcArtifacts"
>  >>> xmlns:tns="http://service.idcor.src">
>  >>>     <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
>  >>>         location="helloProcessArtifacts.wsdl"
>  >>> namespace="http://service.idcor.srcArtifacts"/>
>  >>>     <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
>  >>>         location="helloService.wsdl"
>  >>> namespace="http://service.idcor.src
>  >>> "/>
>  >>>     <bpws:partnerLinks>
>  >>>         <bpws:partnerLink name="helloPartnerLink"
>  >>>             partnerLinkType="ns:helloServicePartnerLinkType"
>  >>> partnerRole="you"/>
>  >>>     </bpws:partnerLinks>
>  >>>     <bpws:variables>
>  >>>         <bpws:variable messageType="tns:helloResponse"
>  >>> name="helloServiceLinkResponse"/>
>  >>>         <bpws:variable messageType="tns:helloRequest"
>  >>> name="helloServiceLinkRequest"/>
>  >>>     </bpws:variables>
>  >>>     <bpws:sequence>
>  >>>         <bpws:invoke inputVariable="helloServiceLinkRequest"
>  >>>             name="Invoke_Hello" operation="hello"
>  >>>             outputVariable="helloServiceLinkResponse"
>  >>>             partnerLink="helloPartnerLink"
>  >>> portType="tns:helloServicePortType"/>
>  >>>     </bpws:sequence>
>  >>> </bpws:process>
>  >>>
>  >>> Here is my helloProcessArtifacts.wsdl:
>  >>> <definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
>  >>> xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
>  >>> xmlns:tns="http://service.idcor.srcArtifacts"
>  >>> xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop"
>  >>> xmlns:wsdl="http://service.idcor.src" name="helloProcessArtifacts"
>  >>> targetNamespace="http://service.idcor.srcArtifacts">
>  >>>   <plnk:partnerLinkType name="helloServicePartnerLinkType">
>  >>>     <plnk:role name="me" portType="wsdl:helloServicePortType"/>
>  >>>     <plnk:role name="you" portType="wsdl:helloServicePortType"/>
>  >>>   </plnk:partnerLinkType>
>  >>>   <import location="helloService.wsdl"
>  >>> namespace="http://service.idcor.src"/>
>  >>> </definitions>
>  >>>
>  >>> Here is my helloService.wsdl:
>  >>> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>  >>> xmlns:ns1="http://org.apache.axis2/xsd"
>  >>> xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
>  >>> xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
>  >>> xmlns:ns0="http://service.idcor.src"
>  >>> xmlns:xs="http://www.w3.org/2001/XMLSchema"
>  >>> xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
>  >>> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>  >>> xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
>  >>> targetNamespace="http://service.idcor.src">
>  >>>     <wsdl:documentation>helloService</wsdl:documentation>
>  >>>     <wsdl:types>
>  >>>         <xs:schema xmlns:ns="http://service.idcor.src"
>  >>> attributeFormDefault="qualified" elementFormDefault="qualified"
>  >>> targetNamespace="http://service.idcor.src">
>  >>>             <xs:element name="helloResponse">
>  >>>                 <xs:complexType>
>  >>>                     <xs:sequence>
>  >>>                         <xs:element minOccurs="0" name="return"
>  >>> nillable="true" type="xs:string"/>
>  >>>
>  >>>                     </xs:sequence>
>  >>>                 </xs:complexType>
>  >>>             </xs:element>
>  >>>             <xs:element name="helloParam">
>  >>>                 <xs:complexType>
>  >>>                     <xs:sequence>
>  >>>                         <xs:element minOccurs="0" name="s"
>  >>> nillable="true" type="xs:string"/>
>  >>>                     </xs:sequence>
>  >>>                 </xs:complexType>
>  >>>
>  >>>             </xs:element>
>  >>>             <xs:element name="helloParamResponse">
>  >>>                 <xs:complexType>
>  >>>                     <xs:sequence>
>  >>>                         <xs:element minOccurs="0" name="return"
>  >>> nillable="true" type="xs:string"/>
>  >>>                     </xs:sequence>
>  >>>                 </xs:complexType>
>  >>>             </xs:element>
>  >>>         </xs:schema>
>  >>>
>  >>>     </wsdl:types>
>  >>>     <wsdl:message name="helloRequest"/>
>  >>>     <wsdl:message name="helloResponse">
>  >>>         <wsdl:part name="parameters" element="ns0:helloResponse"/>
>  >>>     </wsdl:message>
>  >>>     <wsdl:message name="helloParamRequest">
>  >>>         <wsdl:part name="parameters" element="ns0:helloParam"/>
>  >>>     </wsdl:message>
>  >>>     <wsdl:message name="helloParamResponse">
>  >>>
>  >>>         <wsdl:part name="parameters" element="ns0:helloParamResponse"/>
>  >>>     </wsdl:message>
>  >>>     <wsdl:portType name="helloServicePortType">
>  >>>         <wsdl:operation name="hello">
>  >>>             <wsdl:input message="ns0:helloRequest"
>  >>> wsaw:Action="urn:hello"/>
>  >>>             <wsdl:output message="ns0:helloResponse"
>  >>> wsaw:Action="urn:helloResponse"/>
>  >>>         </wsdl:operation>
>  >>>         <wsdl:operation name="helloParam">
>  >>>             <wsdl:input message="ns0:helloParamRequest"
>  >>> wsaw:Action="urn:helloParam"/>
>  >>>
>  >>>             <wsdl:output message="ns0:helloParamResponse"
>  >>> wsaw:Action="urn:helloParamResponse"/>
>  >>>         </wsdl:operation>
>  >>>     </wsdl:portType>
>  >>>     <wsdl:binding name="helloServiceSOAP11Binding"
>  >>> type="ns0:helloServicePortType">
>  >>>         <soap:binding transport="http://schemas.xmlsoap.org/soap/http"
>  >>> style="document"/>
>  >>>         <wsdl:operation name="hello">
>  >>>             <soap:operation soapAction="urn:hello" style="document"/>
>  >>>             <wsdl:input>
>  >>>                 <soap:body use="literal"/>
>  >>>
>  >>>             </wsdl:input>
>  >>>             <wsdl:output>
>  >>>                 <soap:body use="literal"/>
>  >>>             </wsdl:output>
>  >>>         </wsdl:operation>
>  >>>         <wsdl:operation name="helloParam">
>  >>>             <soap:operation soapAction="urn:helloParam"
>  >>> 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="helloServiceSOAP12Binding"
>  >>> type="ns0:helloServicePortType">
>  >>>         <soap12:binding
>  >>> transport="http://schemas.xmlsoap.org/soap/http"
>  >>> style="document"/>
>  >>>         <wsdl:operation name="hello">
>  >>>
>  >>>             <soap12:operation soapAction="urn:hello" style="document"/>
>  >>>             <wsdl:input>
>  >>>                 <soap12:body use="literal"/>
>  >>>             </wsdl:input>
>  >>>             <wsdl:output>
>  >>>                 <soap12:body use="literal"/>
>  >>>             </wsdl:output>
>  >>>         </wsdl:operation>
>  >>>         <wsdl:operation name="helloParam">
>  >>>
>  >>>             <soap12:operation soapAction="urn:helloParam"
>  >>> style="document"/>
>  >>>             <wsdl:input>
>  >>>                 <soap12:body use="literal"/>
>  >>>             </wsdl:input>
>  >>>             <wsdl:output>
>  >>>                 <soap12:body use="literal"/>
>  >>>             </wsdl:output>
>  >>>         </wsdl:operation>
>  >>>     </wsdl:binding>
>  >>>
>  >>>     <wsdl:binding name="helloServiceHttpBinding"
>  >>> type="ns0:helloServicePortType">
>  >>>         <http:binding verb="POST"/>
>  >>>         <wsdl:operation name="hello">
>  >>>             <http:operation location="helloService/hello"/>
>  >>>             <wsdl:input>
>  >>>                 <mime:content type="text/xml" part="hello"/>
>  >>>             </wsdl:input>
>  >>>             <wsdl:output>
>  >>>                 <mime:content type="text/xml" part="hello"/>
>  >>>
>  >>>             </wsdl:output>
>  >>>         </wsdl:operation>
>  >>>         <wsdl:operation name="helloParam">
>  >>>             <http:operation location="helloService/helloParam"/>
>  >>>             <wsdl:input>
>  >>>                 <mime:content type="text/xml" part="helloParam"/>
>  >>>             </wsdl:input>
>  >>>             <wsdl:output>
>  >>>                 <mime:content type="text/xml" part="helloParam"/>
>  >>>
>  >>>             </wsdl:output>
>  >>>         </wsdl:operation>
>  >>>     </wsdl:binding>
>  >>>     <wsdl:service name="helloService">
>  >>>         <wsdl:port name="helloServiceSOAP11port_http"
>  >>> binding="ns0:helloServiceSOAP11Binding">
>  >>>             <soap:address
>  >>> location="http://localhost:8080/axis2/services/helloService"/>
>  >>>         </wsdl:port>
>  >>>         <wsdl:port name="helloServiceSOAP12port_http"
>  >>> binding="ns0:helloServiceSOAP12Binding">
>  >>>             <soap12:address
>  >>> location="http://localhost:8080/axis2/services/helloService"/>
>  >>>
>  >>>         </wsdl:port>
>  >>>         <wsdl:port name="helloServiceHttpport"
>  >>> binding="ns0:helloServiceHttpBinding">
>  >>>             <http:address
>  >>> location="http://localhost:8080/axis2/services/helloService"/>
>  >>>         </wsdl:port>
>  >>>     </wsdl:service>
>  >>> </wsdl:definitions>
>  >>>
>  >>>
>  >>> Cheers!
>  >>>
>  >>> ~Adam
>  >>>
>  >>>
>  >>> Matthieu Riou wrote:
>  >>>
>  >>>> Hi Adam,
>  >>>>
>  >>>> That's pretty strange, you don't seem to have any error or
>  >>>> exception at
>  >>>> deployment. Does your process declare any <provide> element in
your
>  >>>> deploy.xml ? I don't have anything else that could give you that
>  >>>> type of
>  >>>> behavior on top of my head, so if it's not a missing <provide>
I'd
>  >>>>
>  >>> create a
>  >>>
>  >>>> Jira issue and attach your process to it. That way I can have a
>  >>>> look at
>  >>>>
>  >>> the
>  >>>
>  >>>> whole thing and see what's wrong.
>  >>>>
>  >>>> Cheers,
>  >>>> Matthieu
>  >>>>
>  >>>> On 3/31/08, Adam Nowak <anowak@idcor.com> wrote:
>  >>>>
>  >>>>
>  >>>>> Good Afternoon,
>  >>>>>
>  >>>>> I have created a BPEL process called helloProcess. The process
>  >>>>> calls a
>  >>>>> web-service which takes no parameters and returns the string "Hello".
>  >>>>> Every time I go to deploy the process, a .cbp file is generated,
>  >>>>>
>  >>> however
>  >>>
>  >>>>> helloProcess does not show up in my ODE Process list
>  >>>>> (http://localhost:8080/ode/services/listServices).
>  >>>>>
>  >>>>> Here is the output of my stdout log for Tomcat:
>  >>>>> DEBUG - GeronimoLog.debug(66) | Process store event:
>  >>>>> {ProcessStoreEvent#DEPLOYED:{
>  >>>>>
>  >>> http://service.idcor.src}helloParamProcess-32
>  >>>
>  >>>>> }
>  >>>>> DEBUG - GeronimoLog.debug(66) | Ignoring store event:
>  >>>>> {ProcessStoreEvent#DEPLOYED:{
>  >>>>>
>  >>> http://service.idcor.src}helloParamProcess-32
>  >>>
>  >>>>> }
>  >>>>> DEBUG - GeronimoLog.debug(66) | Process store event:
>  >>>>> {ProcessStoreEvent#ACTVIATED:{
>  >>>>> http://service.idcor.src}helloParamProcess-32}
>  >>>>> DEBUG - GeronimoLog.debug(66) | register:
>  >>>>> {http://service.idcor.src}helloParamProcess-32
>  >>>>> DEBUG - GeronimoLog.debug(66) | Registering process
>  >>>>> {http://service.idcor.src}helloParamProcess-32 with server.
>  >>>>> DEBUG - GeronimoLog.debug(66) | Activating
>  >>>>> {http://service.idcor.src}helloParamProcess-32
>  >>>>> DEBUG - GeronimoLog.debug(66) | Activated
>  >>>>> {http://service.idcor.src}helloParamProcess-32
>  >>>>> DEBUG - GeronimoLog.debug(66) | Rehydrating process
>  >>>>> {http://service.idcor.src}helloParamProcess-32
>  >>>>> DEBUG - GeronimoLog.debug(66) | Processing <invoke> element
for
>  >>>>> process
>  >>>>> {http://service.idcor.src}helloParamProcess-32: partnerlink
>  >>>>> helloPartnerLink -->
>  >>>>> {http://service.idcor.src}helloService:helloServiceSOAP11port_http
>  >>>>> DEBUG - GeronimoLog.debug(66) | Setting external service with empty
>  >>>>> namespace replication
>  >>>>> DEBUG - GeronimoLog.debug(66) | Created external service
>  >>>>> {http://service.idcor.src}helloService
>  >>>>> DEBUG - GeronimoLog.debug(66) | Activated
>  >>>>> {http://service.idcor.src}helloParamProcess-32 partnerrole
>  >>>>> helloPartnerLink: EPR is org.apache.ode.bpel.epr.WSAEndpoint@1a5ba75
>  >>>>> DEBUG - GeronimoLog.debug(66) | Creating process DAO for
>  >>>>> {
>  >>>>>
>  >>> http://service.idcor.src}helloParamProcess-32(guid=hqejbhcnphr35qs4ifkfq4)
>  >>>
>  >>>
>  >>>>> INFO - GeronimoLog.info(79) | Registered process
>  >>>>> {http://service.idcor.src}helloParamProcess-32.
>  >>>>> INFO - GeronimoLog.info(79) | Deployment of artifact bpelTest
>  >>>>> successful: [{http://service.idcor.src}helloParamProcess-32]
>  >>>>>
>  >>>>> PS. I am new to BPEL + Apache ODE so any help would be greatly
>  >>>>> appreciated.
>  >>>>>
>  >>>>> Cheers!
>  >>>>>
>  >>>>> ~Adam
>  >>>>>
>  >>>>>
>  >>>>>
>  >>>>
>  >>>
>  >>
>  >>
>  >
>
>


-- 
-- 
Jean-Claude Moissinac
Signal and Image processing - Multimedia Group
TELECOM ParisTech
FRANCE

E-mail: moissinac@enst.fr
Tel: (+33) 1.45.81.80.88
Fax: (+33) 1.45.81.71.58

http://videotoile.blogspot.com
http://svgmpeg4.blogspot.com/

Mime
View raw message