Return-Path: Delivered-To: apmail-ws-axis-user-archive@www.apache.org Received: (qmail 53124 invoked from network); 13 Feb 2006 21:45:23 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 13 Feb 2006 21:45:23 -0000 Received: (qmail 81127 invoked by uid 500); 13 Feb 2006 21:44:22 -0000 Delivered-To: apmail-ws-axis-user-archive@ws.apache.org Received: (qmail 81015 invoked by uid 500); 13 Feb 2006 21:44:21 -0000 Mailing-List: contact axis-user-help@ws.apache.org; run by ezmlm Precedence: bulk Reply-To: axis-user@ws.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list axis-user@ws.apache.org Received: (qmail 80966 invoked by uid 99); 13 Feb 2006 21:44:20 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 13 Feb 2006 13:44:20 -0800 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=HTML_MESSAGE X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [194.90.9.29] (HELO mxout5.netvision.net.il) (194.90.9.29) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 13 Feb 2006 13:44:17 -0800 Received: from LAPASAF ([62.0.92.233]) by mxout5.netvision.net.il (Sun Java System Messaging Server 6.1 HotFix 0.11 (built Jan 28 2005)) with ESMTP id <0IUN0055YAZG1YE0@mxout5.netvision.net.il> for axis-user@ws.apache.org; Mon, 13 Feb 2006 23:43:53 +0200 (IST) Date: Mon, 13 Feb 2006 23:42:22 +0200 From: Asaf Lahav Subject: WSRF WSDL2JAVA bug? To: axis-user@ws.apache.org Message-id: <0IUN00560AZG1YE0@mxout5.netvision.net.il> MIME-version: 1.0 X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 X-Mailer: Microsoft Office Outlook, Build 11.0.5510 Content-type: multipart/related; boundary="Boundary_(ID_pVy87VowBolRRwSdzOx9nA)" Thread-index: AcYw5l88eRf/K3YiRkyKMpw9+hfxeg== X-Antivirus: avast! (VPS 0607-0, 13/02/2006), Outbound message X-Antivirus-Status: Clean X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N This is a multi-part message in MIME format. --Boundary_(ID_pVy87VowBolRRwSdzOx9nA) Content-type: multipart/alternative; boundary="Boundary_(ID_KsF7QPKo/rGEQsEepKy7Cg)" --Boundary_(ID_KsF7QPKo/rGEQsEepKy7Cg) Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7BIT Hi all, Another problem I encountered using the WSDL2JAVA utility provided by the WSRF project is that after the process ends, the SERVICE class is not properly generated. As you can see from the WSDL file I have a "get" operation defined both under the BINDING element and under the PORTTYPE element. For some reason the CalculatorService service class generated which inherits from an abstract class AbstractCalculatorService doesn't override the "get" function (which is abstract and has to be overridden). Asaf Lahav VP R&D, Prima Grid LTD. Cellular: 972-54-4717955 Phone: 972-3-6540255 Fax: 972-3-6540254 --Boundary_(ID_KsF7QPKo/rGEQsEepKy7Cg) Content-type: text/html; charset=us-ascii Content-transfer-encoding: 7BIT

Hi all,

 

Another problem I encountered using the WSDL2JAVA utility provided by the WSRF project is that after the process ends, the SERVICE class is not properly generated.

As you can see from the WSDL file I have a "get" operation defined both under the BINDING element and under the PORTTYPE element.

For some reason the CalculatorService service class generated which inherits from an abstract class AbstractCalculatorService doesn't override the "get" function (which is abstract and has to be overridden).

 

<?xml version="1.0"?>

 

<definitions name="CalculatorDefinition"

             targetNamespace="http://www.primagrid.com/resource/example/calculator"

             xmlns="http://schemas.xmlsoap.org/wsdl/"

             xmlns:tns="http://www.primagrid.com/resource/example/calculator"

             xmlns:xsd="http://www.w3.org/2001/XMLSchema"

             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"

             xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd"

             xmlns:wsrpw="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl"

             xmlns:wsrlw="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.wsdl"

             xmlns:mex="http://schemas.xmlsoap.org/ws/2004/09/mex"

             xmlns:wsa04="http://schemas.xmlsoap.org/ws/2004/08/addressing">

 

   <import namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl"

           location="../spec/wsrf/WS-ResourceProperties-1_2-Draft_01.wsdl"/>

 

   <import namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.wsdl"

           location="../spec/wsrf/WS-ResourceLifetime-1_2-Draft_01.wsdl"/>

 

   <import namespace="http://schemas.xmlsoap.org/ws/2004/09/mex"

           location="../spec/wsx/WS-MetadataExchange-2004_09.wsdl"/>

 

   <types>

      <schema elementFormDefault="qualified"

              targetNamespace="http://www.primagrid.com/resource/example/calculator"

              xmlns="http://www.w3.org/2001/XMLSchema"

              xmlns:xsd="http://www.w3.org/2001/XMLSchema"

              xmlns:wsrl="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.xsd"

              xmlns:wsbf="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-BaseFaults-1.2-draft-01.xsd">

 

         <xsd:import namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-BaseFaults-1.2-draft-01.xsd"

                     schemaLocation="../spec/wsrf/WS-BaseFaults-1_2-Draft_01.xsd"/>

 

         <xsd:import namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.xsd"

                     schemaLocation="../spec/wsrf/WS-ResourceLifetime-1_2-Draft_01.xsd"/>

 

         <!-- *** Add your custom resource property element definitions here *** -->

        

                                    <element name="LeftSide" type="xsd:int"/>

                                    <element name="RightSide" type="xsd:int"/>

                                    <element name="Result" type="xsd:int"/>

        

         <!-- Resource Properties Document Schema -->       

         <element name="ResourceProperties">

            <complexType>

               <sequence>

              

                  <!-- *** If you wish to implement the wsrl:ScheduledResourceTermination portType,

                            uncomment the below two lines *** -->

                 

                  <element ref="wsrl:CurrentTime" />

                  <element ref="wsrl:TerminationTime" />

                 

 

                  <!-- *** Add element refs for each of your custom resource property elements here *** -->

                                                  <element ref="tns:LeftSide"/>

                                                  <element ref="tns:RightSide"/>                                      

                                                  <element ref="tns:Result"/>

                 

                  <!-- *** Uncomment the below any element if you want to permit resource property elements

                           with arbitrary names (not generally recommended) *** -->

                  <!--

                  <any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />

                  -->

                 

               </sequence>

            </complexType>

         </element>

 

         <!-- *** Add element definitions for custom request/response/fault types here *** -->        

                        <element name="Execute">

                                    <complexType />

                        </element>

                        <element name="ExecuteResponse">

                                    <complexType />

                        </element>

                        <element name="ExecuteFailedFault">

                                    <complexType>

                                                <complexContent>

                                                <extension base="wsbf:BaseFaultType" />

                                                </complexContent>

                                    </complexType>

                        </element>

                                     

      </schema>

   </types>

 

   <!-- *** Add message definitions for custom request/response/fault types here *** -->        

 

            <message name="ExecuteRequest">

                        <part name="ExecuteRequest" element="tns:Execute"/>

            </message>

           

            <message name="ExecuteResponse">

                        <part name="ExecuteResponse" element="tns:ExecuteResponse"/>

            </message>

           

            <message name="ExecuteFailedFault">

                        <part name="ExecuteFailedFault" element="tns:ExecuteFailedFault"/>

            </message>

  

  

  

   <portType name="CalculatorPortType" wsrp:ResourceProperties="tns:ResourceProperties">

        

      <operation name="GetResourceProperty">

         <input name="GetResourcePropertyRequest" message="wsrpw:GetResourcePropertyRequest"/>

         <output name="GetResourcePropertyResponse" message="wsrpw:GetResourcePropertyResponse"/>

         <fault name="ResourceUnknownFault" message="wsrpw:ResourceUnknownFault"/>

         <fault name="InvalidResourcePropertyQNameFault" message="wsrpw:InvalidResourcePropertyQNameFault"/>

      </operation>

 

      <!-- *** If you wish to implement the WSRP GetMultipleResourceProperties portType,

               uncomment the below operation block *** -->

     

      <operation name="GetMultipleResourceProperties">

         <input name="GetMultipleResourcePropertiesRequest" message="wsrpw:GetMultipleResourcePropertiesRequest"/>

         <output name="GetMultipleResourcePropertiesResponse" message="wsrpw:GetMultipleResourcePropertiesResponse"/>

         <fault name="ResourceUnknownFault" message="wsrpw:ResourceUnknownFault"/>

         <fault name="InvalidResourcePropertyQNameFault" message="wsrpw:InvalidResourcePropertyQNameFault"/>

      </operation>

     

 

      <!-- *** If you wish to implement the WSRP SetResourceProperties portType,

               uncomment the below operation block *** -->

     

      <operation name="SetResourceProperties">

         <input name="SetResourcePropertiesRequest" message="wsrpw:SetResourcePropertiesRequest"/>

         <output name="SetResourcePropertiesResponse" message="wsrpw:SetResourcePropertiesResponse"/>

         <fault name="ResourceUnknownFault" message="wsrpw:ResourceUnknownFault"/>

         <fault name="InvalidResourcePropertyQNameFault" message="wsrpw:InvalidResourcePropertyQNameFault"/>

         <fault name="InvalidSetResourcePropertiesRequestContentFault" message="wsrpw:InvalidSetResourcePropertiesRequestContentFault"/>

         <fault name="UnableToModifyResourcePropertyFault" message="wsrpw:UnableToModifyResourcePropertyFault"/>

         <fault name="SetResourcePropertyRequestFailedFault" message="wsrpw:SetResourcePropertyRequestFailedFault"/>

      </operation>

     

 

      <!-- *** If you wish to implement the WSRP QueryResourceProperties portType,

               uncomment the below operation block *** -->

     

      <operation name="QueryResourceProperties">

         <input name="QueryResourcePropertiesRequest" message="wsrpw:QueryResourcePropertiesRequest"/>

         <output name="QueryResourcePropertiesResponse" message="wsrpw:QueryResourcePropertiesResponse"/>

         <fault name="ResourceUnknownFault" message="wsrpw:ResourceUnknownFault"/>

         <fault name="InvalidResourcePropertyQNameFault" message="wsrpw:InvalidResourcePropertyQNameFault"/>

         <fault name="UnknownQueryExpressionDialectFault" message="wsrpw:UnknownQueryExpressionDialectFault"/>

         <fault name="InvalidQueryExpressionFault" message="wsrpw:InvalidQueryExpressionFault"/>

         <fault name="QueryEvaluationErrorFault" message="wsrpw:QueryEvaluationErrorFault"/>

      </operation>

     

 

      <!-- *** If you wish to implement the WSRL ImmediateResourceTermination portType,

               uncomment the below operation block *** -->

     

      <operation name="Destroy">

         <input message="wsrlw:DestroyRequest"/>

         <output message="wsrlw:DestroyResponse"/>

         <fault name="ResourceUnknownFault" message="wsrlw:ResourceUnknownFault"/>

         <fault name="ResourceNotDestroyedFault" message="wsrlw:ResourceNotDestroyedFault"/>

      </operation>

     

 

      <!-- *** If you wish to implement the WSRL ScheduledResourceTermination portType,

               uncomment the below operation block *** -->

     

      <operation name="SetTerminationTime">

         <input message="wsrlw:SetTerminationTimeRequest"/>

         <output message="wsrlw:SetTerminationTimeResponse"/>

         <fault name="ResourceUnknownFault" message="wsrlw:ResourceUnknownFault"/>

         <fault name="UnableToSetTerminationTimeFault" message="wsrlw:UnableToSetTerminationTimeFault"/>

         <fault name="TerminationTimeChangeRejectedFault" message="wsrlw:TerminationTimeChangeRejectedFault"/>

      </operation>

     

     

      <!-- *** If you wish to implement the WS-MetadataExchange MetadataExchange portType,

               uncomment the below operation block *** -->

     

      <operation name="GetMetadata" >

         <input message="mex:GetMetadataMsg"

                wsa04:Action="http://schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata/Request" />

         <output message="mex:GetMetadataResponseMsg"

                wsa04:Action="http://schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata/Response" />

      </operation>

      <operation name="Get" >

         <input message="mex:GetMsg"

                wsa04:Action="http://schemas.xmlsoap.org/ws/2004/09/mex/Get/Request" />

         <output message="mex:GetResponseMsg"

                wsa04:Action="http://schemas.xmlsoap.org/ws/2004/09/mex/Get/Response" />

      </operation>

     

     

      <!-- *** Add operation blocks for custom operations here *** -->        

                        <operation name="Execute">

                                    <input name="ExecuteRequest" message="tns:ExecuteRequest"/>

                                    <output name="ExecuteResponse" message="tns:ExecuteResponse"/>

                                    <fault name="ExecuteFailedFault" message="tns:ExecuteFailedFault"/>

                        </operation>

  

 

   </portType>

 

   <binding name="CalculatorSoapHttpBinding" type="tns:CalculatorPortType">

 

      <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

  

      <operation name="GetResourceProperty">

         <soap:operation style="document"/>

         <input>

            <soap:body use="literal"/>

         </input>

         <output>

            <soap:body use="literal"/>

         </output>

         <fault name="ResourceUnknownFault">

            <soap:fault name="ResourceUnknownFault" use="literal"/>

         </fault>

         <fault name="InvalidResourcePropertyQNameFault">

            <soap:fault name="InvalidResourcePropertyQNameFault" use="literal"/>

         </fault>

      </operation>

 

      <!-- *** If you wish to implement the WSRP GetMultipleResourceProperties portType,

               uncomment the below operation block *** -->

     

      <operation name="GetMultipleResourceProperties">

         <soap:operation style="document"/>

         <input>

            <soap:body use="literal"/>

         </input>

         <output>

            <soap:body use="literal"/>

         </output>

         <fault name="ResourceUnknownFault">

            <soap:fault name="ResourceUnknownFault" use="literal"/>

         </fault>

         <fault name="InvalidResourcePropertyQNameFault">

            <soap:fault name="InvalidResourcePropertyQNameFault" use="literal"/>

         </fault>

      </operation>

     

 

      <!-- *** If you wish to implement the WSRP SetResourceProperties portType,

               uncomment the below operation block *** -->

     

      <operation name="SetResourceProperties">

         <soap:operation style="document"/>

         <input>

            <soap:body use="literal"/>

         </input>

         <output>

            <soap:body use="literal"/>

         </output>

         <fault name="ResourceUnknownFault">

            <soap:fault name="ResourceUnknownFault" use="literal"/>

         </fault>

         <fault name="InvalidResourcePropertyQNameFault">

            <soap:fault name="InvalidResourcePropertyQNameFault" use="literal"/>

         </fault>

         <fault name="UnableToModifyResourcePropertyFault">

            <soap:fault name="UnableToModifyResourcePropertyFault" use="literal"/>

         </fault>

         <fault name="InvalidSetResourcePropertiesRequestContentFault">

            <soap:fault name="InvalidSetResourcePropertiesRequestContentFault" use="literal"/>

         </fault>

         <fault name="SetResourcePropertyRequestFailedFault">

            <soap:fault name="SetResourcePropertyRequestFailedFault" use="literal"/>

         </fault>

      </operation>

     

 

      <!-- *** If you wish to implement the WSRP QueryResourceProperties portType,

               uncomment the below operation block *** -->

     

      <operation name="QueryResourceProperties">

         <soap:operation style="document"/>

         <input>

            <soap:body use="literal"/>

         </input>

         <output>

            <soap:body use="literal"/>

         </output>

         <fault name="ResourceUnknownFault">

            <soap:fault name="ResourceUnknownFault" use="literal"/>

         </fault>

         <fault name="InvalidResourcePropertyQNameFault">

            <soap:fault name="InvalidResourcePropertyQNameFault" use="literal"/>

         </fault>

         <fault name="UnknownQueryExpressionDialectFault">

            <soap:fault name="UnknownQueryExpressionDialectFault" use="literal"/>

         </fault>

         <fault name="InvalidQueryExpressionFault">

            <soap:fault name="InvalidQueryExpressionFault" use="literal"/>

         </fault>

         <fault name="QueryEvaluationErrorFault">

            <soap:fault name="QueryEvaluationErrorFault" use="literal"/>

         </fault>

      </operation>

     

     

      <!-- *** If you wish to implement the WSRL ImmediateResourceTermination portType,

               uncomment the below operation block *** -->

     

      <operation name="Destroy">

         <soap:operation style="document"/>

         <input>

            <soap:body use="literal"/>

         </input>

         <output>

            <soap:body use="literal"/>

         </output>

         <fault name="ResourceUnknownFault">

            <soap:fault name="ResourceUnknownFault" use="literal"/>

         </fault>

         <fault name="ResourceNotDestroyedFault">

            <soap:fault name="ResourceNotDestroyedFault" use="literal"/>

         </fault>

      </operation>           

     

   

      <!-- *** If you wish to implement the WSRL ScheduledResourceTermination portType,

               uncomment the below operation block *** -->

     

      <operation name="SetTerminationTime">

         <soap:operation style="document"/>

         <input>

            <soap:body use="literal"/>

         </input>

         <output>

            <soap:body use="literal"/>

         </output>

         <fault name="ResourceUnknownFault">

            <soap:fault name="ResourceUnknownFault" use="literal"/>

         </fault>

         <fault name="UnableToSetTerminationTimeFault">

            <soap:fault name="UnableToSetTerminationTimeFault" use="literal"/>

         </fault>

         <fault name="TerminationTimeChangeRejectedFault">

            <soap:fault name="TerminationTimeChangeRejectedFault" use="literal"/>

         </fault>

      </operation>

     

 

      <!-- *** If you wish to implement the WS-MetadataExchange MetadataExchange portType,

               uncomment the below operation block *** -->

     

      <operation name="GetMetadata" >

             <soap:operation style="document"/>

         <input>

            <soap:body use="literal"/>

         </input>

         <output>

            <soap:body use="literal"/>

         </output>

      </operation>

      <operation name="Get" >

             <soap:operation style="document"/>

         <input>

            <soap:body use="literal"/>

         </input>

         <output>

            <soap:body use="literal"/>

         </output>

      </operation>

     

 

      <!-- *** Add operation blocks for custom operations here *** -->        

       <operation name="Execute" >

             <soap:operation style="document"/>

         <input>

            <soap:body use="literal"/>

         </input>

         <output>

            <soap:body use="literal"/>

         </output>

         <fault name="ExecuteFailedFault">

            <soap:fault name="ExecuteFailedFault" use="literal"/>

         </fault>

      </operation>

   </binding>

 

   <service name="CalculatorService">

      <!-- Note: the port name becomes the service name in the wsdd generated by Wsdl2Java -->

      <!-- *** Change the port name and the soap:address location below to reflect the desired endpoint URL *** -->

      <port name="Calculator" binding="tns:CalculatorSoapHttpBinding">

         <soap:address location="http://localhost:8080/wsrf/services/Calculator" />

      </port>

   </service>

 

</definitions>

 

Asaf Lahav

VP R&D, Prima Grid LTD.

Cellular:  972-54-4717955

Phone:   972-3-6540255

Fax:       972-3-6540254

 

--Boundary_(ID_KsF7QPKo/rGEQsEepKy7Cg)-- --Boundary_(ID_pVy87VowBolRRwSdzOx9nA) Content-id: Content-type: image/jpeg; name=image001.jpg Content-transfer-encoding: base64 Content-disposition: attachment; filename=image001.jpg /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIf IiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv/wAARCAAXAI0DASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDr5Pix 4XikeNpLrcjFTi3PUHFXdF+IHh/X75bGyuJBcMCUSWIruxyQD615l4Ki8Qy6zqw8Px2LyBv3v2sZ AG44xXWaR4M8STeM4Nf1xrGIQDOy1GN2AQBgD36mmc8ZzdmabfFrwsrFTLdZBwf9HNaegeONC8SX T2un3D+cq7/LkjKEgdSPWvLfCEnia3sNWudBtbS5iil3TJNHvcnn7o78VvfDexutc8SXHiq6ubQM qsjW8C7WDEY5XsMDr3oCNSTaO207xtoup2d/eQzSJDp3/Hw8sZUL16evSsk/FvwoCQJbo47i3NcH ov8AyIvjL/rrD/6Gasa/BDH8HNEkSJFd7nLMFALH951NAvaStfyO80/4m+GdSvorOK5mSSZgiGWE qpJ6DPap9a+IHh/w/ftYXtxKbhAC6xRFtueQCfXFcV49t4Y5PB8iRojsEDMqgE/6vrVeex1W/wDi 5qcejXNvbXSqWEk8YdQNqg8EHnmgbqSWh22nfEzw1ql/FZQ3EySzMETzYSoLHoM9qfFdWHhubXtY utRvbiLzVaWJ1LCDkjCD05/SvP8AxTpuvWHibQm169tLuWSdRG1vEEwA65Bwoz1r028uWt7bUZZ9 Ss0jjI2tIBiLn+PisqknFq39aDjJtu/QsP4j06KKCRmk23ESzJ8h+63Ipn/CV6Z/el/79mqhnvE1 yzuH1ey/so2g3QFRukcg4dTj7vTvTtX1HaBJYahaoqKdyYDMx9q469acE5KS9La/mW5Pe5fm1+wh t4bhncxzZ2lUJ6dc1D/wlWmf35R/2zNYV9cz3emafNKQ0jSPg7QAeRjgVJqcuqF1sr0W8YmIw4XC /wDfXauWWNq6uO2nTuvXQl1GdHJrNmk0Ee4sbgAxlRkHJxVZ/E+mxuyM0mVJB/dmsq8tjZ6jpFuW 3GMKCR0PzU/Qbm1t7u/+0yxR7pPl3kc8mtPrNVz5G0tf0v3HzyvY0f8AhKtL7tJ/37NX7K/g1CHz bZ8qDg5HINQtqOlFTm5t/f5hWb4UwY7xl+4Zfl/Kto1qiqKPMmnfbyHzO6VzQ03QNI0eaWfT7GK2 kn/1joDl+c81p0UV6JaRn6ZommaKsq6dZRWomYNIIx94+tMtfD+kWOoy6ha2EUFzPnfImQXz1yOl FFA7Iij8K6DBZ3VnFpkCQXhBnjAOJCDkZ/GnTeG9EudMh0ubToXs4G3RwEHah55H5n86KKA5USXv h/SdR+y/a7CKb7HjyNw/1fTp+Q/KnxaHpkGqyarHZRJeyjDzgfMw4/wFFFILITUND0zVbiC4vrKK 4ltjmJ3GShyDx+IFZNpaPq15rVjq2jWyWLSqI2D7jcjJOWGeOg9KKKTSYmlc120bTnSNGs4ysSCN AR91R0FJ/YWlf8+MX5UUVi6cHLWKHyomk06znWNJLdGWL7gxwv0p9xZ295H5dxEsiA5AYUUVp7OO ugWRG2nWjPE7QKWhGIyf4ajbRNMdizWURJOScUUVDp03vFByoaNB0v8A58ovyq3b20FrEI4I1jQd lGKKKPZwg/digSSP/9k= --Boundary_(ID_pVy87VowBolRRwSdzOx9nA)--