On 10/17/07, Dietrich, Björn <[EMAIL PROTECTED]> wrote:
>
> Hi,
>
> I created Issue          TUSCANY-1854 in JIRA.
>
> I hope the contence is OK, since this is my first JIRA I ever created.
>
>
> Greetings
> Björn
>
>
> -----Ursprüngliche Nachricht-----
> Von: Simon Laws [mailto:[EMAIL PROTECTED]
> Gesendet: Mittwoch, 17. Oktober 2007 12:54
> An: [email protected]
> Betreff: Re: Problems with Conversational and Webservices
>
> On 10/17/07, Dietrich, Björn <[EMAIL PROTECTED]> wrote:
> >
> >
> >
> >
> >
> > -----Ursprüngliche Nachricht-----
> > Von: Simon Laws [mailto:[EMAIL PROTECTED]
> > Gesendet: Dienstag, 16. Oktober 2007 18:38
> > An: [email protected]
> > Betreff: Re: Problems with Conversational and Webservices
> >
> > On 10/16/07, Dietrich, Björn <[EMAIL PROTECTED]> wrote:
> > >
> > > Hi,
> > >
> > > I have a problem with coversational and webservice binding.
> > > I have a Service which is conversational and uses the
> > > @ConversationID to get a ConversationID. I have a function
> > > getSessionID to read this conversationID.
> > > I use this function to get the ID on client-side and print it out.
> > >
> > > With POJO-binding the ConversationID stays the same no mather how
> > > often I call the getSessionID.
> > >
> > > SOULSessionServiceClient.composite
> > >
> > > <composite xmlns=http://www.osoa.org/xmlns/sca/1.0 targetNamespace=
> > > http://SOULSessionServicexmlns:hw="http://SOULSessionService";
> > > name="SOULSessionServiceClient">
> > >
> > >     <component name="SOULSessionServiceClient">
> > >
> > >         <implementation.java class="
> > > de.cenit.SOUL.ServiceRuntime.SOULSessionService" />
> > >
> > >     </component>
> > >
> > > </composite>
> > >
> > >
> > > OUTPUT:
> > > SOULSESSIONSERVICECALLED:fc7e8541-b164-4cb7-af41-11a69a082a07
> > >
> > > GETSTATE
> > >
> > > Called getSessionID
> > >
> > > SessionID:fc7e8541-b164-4cb7-af41-11a69a082a07
> > >
> > > SOULSESSIONSERVICECALLED:fc7e8541-b164-4cb7-af41-11a69a082a07
> > >
> > > Called getSessionID
> > >
> > > SessionID:fc7e8541-b164-4cb7-af41-11a69a082a07
> > >
> > >
> > >
> > > If I use the same client with WebService-binding I get a different
> > > ConversationID for each call.
> > >
> > >
> > >
> > > <composite xmlns=http://www.osoa.org/xmlns/sca/1.0 <
> > > http://www.osoa.org/xmlns/sca/1.0> targetNamespace=
> > > http://SOULSessionService <http://SOULSessionService> xmlns:hw="
> > > http://SOULSessionService"; name="SOULSessionServiceClient">
> > >
> > >         <component name="SOULSessionServiceClient">
> > >
> > >             <implementation.java class="
> > > de.cenit.SOUL.ServiceRuntime.SOULSessionServiceComponent" />
> > >
> > >         </component>
> > >
> > >         <reference name="SOULSessionService"
> > > promote="SOULSessionServiceClient/helloWorldService">
> > >
> > >             <interface.java interface="
> > > de.cenit.SOUL.ServiceRuntime.SOULSessionServiceComponent" />
> > >
> > >             <binding.ws wsdlElement="
> > >
> >
> http://SOULSessionService#wsdl.port(HelloWorldService/HelloWorldSoapPort)"
> > > />
> > >
> > >         </reference>
> > >
> > > </composite>
> > >
> > > OUTPUT:
> > >
> > > GETSTATE
> > >
> > > Called getSessionID
> > >
> > > SessionID:ff70883f-4441-447e-9b40-7d47052a69d9
> > >
> > > Called getSessionID
> > >
> > > SessionID:eacfebd2-6e27-4747-aefe-c2be119efa33
> > >
> > >
> > >
> > > Service Interface:
> > > @Remotable
> > >
> > > @Service
> > >
> > > @Conversational
> > >
> > > //@Scope("CONVERSATION")
> > >
> > > public interface ISOULSessionService extends ISOULService {
> > >
> > >         //public String exec(String name);
> > >
> > >         public String getName(String name);
> > >
> > >         //public String exec(SOULParameters name);
> > >
> > >         //public String exec(DataObject name);
> > >
> > >
> > >
> > >         public String getSessionID(String name);
> > >
> > >
> > >
> > >         public DataObject exec(DataObject name) throws
> > > SOULException;
> > >
> > >
> > >
> > >         public DataObject storeState(DataObject pObject);
> > >
> > >
> > >
> > >         public DataObject getState(DataObject pObject) ;
> > >
> > > }
> > >
> > >
> > >
> > >
> > >
> > > Service Implementation:
> > >
> > > @Scope("CONVERSATION")
> > > @Service(ISOULSessionService.class)
> > > public class SOULSessionService implements ISOULSessionService {
> > >
> > >
> > > @ConversationID
> > > public String lConversationID;
> > >
> > >
> > >
> > > public SOULSessionService()
> > > {
> > >
> > > }
> > > public String getName(String name)
> > > {
> > >   System.out.println("ConverstationID:"+lConversationID);
> > >   return "de.cenit.SOUL.ServiceRuntime.SOULSessionService
> > > ";//this.getClass().toString();
> > > }
> > >
> > >     public DataObject exec(DataObject name) {
> > >      System.out.println("SOULSESSIONSERVICECALLED:"+lConversationID);
> > >         return  name;
> > >     }
> > >
> > >
> > >     public String getSessionID(String name) {
> > >         System.out.println("Called getSessionID");
> > >         return lConversationID;
> > >     }
> > >
> > >
> > >
> > > }
> > >
> > >
> > >
> > >
> > > WSDL-file:
> > >
> > >
> > >
> > > <?xml version="1.0" encoding="UTF-8"?>
> > >
> > > <!--
> > >
> > > * Licensed to the Apache Software Foundation (ASF) under one
> > >
> > > * or more contributor license agreements. See the NOTICE file
> > >
> > > * distributed with this work for additional information
> > >
> > > * regarding copyright ownership. The ASF licenses this file
> > >
> > > * to you under the Apache License, Version 2.0 (the
> > >
> > > * "License"); you may not use this file except in compliance
> > >
> > > * with the License. You may obtain a copy of the License at
> > >
> > > *
> > >
> > > * http://www.apache.org/licenses/LICENSE-2.0
> > >
> > > *
> > >
> > > * Unless required by applicable law or agreed to in writing,
> > >
> > > * software distributed under the License is distributed on an
> > >
> > > * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > >
> > > * KIND, either express or implied. See the License for the
> > >
> > > * specific language governing permissions and limitations
> > >
> > > * under the License.
> > >
> > > -->
> > >
> > > <wsdl:definitions targetNamespace="http://SOULSessionService";
> > xmlns:tns="
> > > http://SOULSessionService";
> > >
> > > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; xmlns:wsdlsoap="
> > > http://schemas.xmlsoap.org/wsdl/soap/";
> > >
> > > xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> > >
> > > xmlns:ns0="http://de_cenit_SOUL_ServiceRuntime";
> > >
> > > xmlns:ns1="http://de_cenit_SOUL_ServiceRuntime/xsd";
> > >
> > > xmlns:sca="http://www.osoa.org/xmlns/sca/1.0";
> > >
> > > name="SOULSessionService">
> > >
> > > <wsdl:types>
> > >
> > > <schema elementFormDefault="qualified" targetNamespace="
> > > http://SOULSessionService";
> > >
> > > xmlns="http://www.w3.org/2001/XMLSchema";>
> > >
> > >
> > >
> > > <complexType name="Exception">
> > >
> > > <sequence>
> > >
> > > <element minOccurs="0" name="Exception" nillable="true"
> > > type="xsd:anyType"/>
> > >
> > > </sequence>
> > >
> > > </complexType>
> > >
> > > <element name="SOULException">
> > >
> > > <complexType>
> > >
> > > <sequence>
> > >
> > > <element minOccurs="0" name="SOULException" nillable="true"
> > > type="ns1:SOULException"/>
> > >
> > > </sequence>
> > >
> > > </complexType>
> > >
> > > </element>
> > >
> > > <element name="exec">
> > >
> > > <complexType>
> > >
> > > <sequence>
> > >
> > > <element name="name" type="xsd:anyType" />
> > >
> > > </sequence>
> > >
> > > </complexType>
> > >
> > > </element>
> > >
> > > <element name="execResponse">
> > >
> > > <complexType>
> > >
> > > <sequence>
> > >
> > > <element name="execReturn" type="xsd:anyType" />
> > >
> > > </sequence>
> > >
> > > </complexType>
> > >
> > > </element>
> > >
> > >
> > >
> > > <element name="getName">
> > >
> > > <complexType>
> > >
> > > <sequence>
> > >
> > > <element name="getName" type="xsd:string" />
> > >
> > > </sequence>
> > >
> > > </complexType>
> > >
> > > </element>
> > >
> > > <element name="getNameResponse">
> > >
> > > <complexType>
> > >
> > > <sequence>
> > >
> > > <element name="getNameReturn" type="xsd:string" />
> > >
> > > </sequence>
> > >
> > > </complexType>
> > >
> > > </element>
> > >
> > > <element name="getSessionID">
> > >
> > > <complexType>
> > >
> > > <sequence>
> > >
> > > <element name="getName" type="xsd:string" />
> > >
> > > </sequence>
> > >
> > > </complexType>
> > >
> > > </element>
> > >
> > > <element name="getSessionIDResponse">
> > >
> > > <complexType>
> > >
> > > <sequence>
> > >
> > > <element name="getNameReturn" type="xsd:string" />
> > >
> > > </sequence>
> > >
> > > </complexType>
> > >
> > > </element>
> > >
> > > <element name="getState">
> > >
> > > <complexType>
> > >
> > > <sequence>
> > >
> > > <element name="getState" type="xsd:anyType" />
> > >
> > > </sequence>
> > >
> > > </complexType>
> > >
> > > </element>
> > >
> > > <element name="getStateResponse">
> > >
> > > <complexType>
> > >
> > > <sequence>
> > >
> > > <element name="execReturn" type="xsd:anyType" />
> > >
> > > </sequence>
> > >
> > > </complexType>
> > >
> > > </element>
> > >
> > > <element name="storeState">
> > >
> > > <complexType>
> > >
> > > <sequence>
> > >
> > > <element name="name" type="xsd:anyType" />
> > >
> > > </sequence>
> > >
> > > </complexType>
> > >
> > > </element>
> > >
> > > <element name="storeStateResponse">
> > >
> > > <complexType>
> > >
> > > <sequence>
> > >
> > > <element name="execReturn" type="xsd:anyType" />
> > >
> > > </sequence>
> > >
> > > </complexType>
> > >
> > > </element>
> > >
> > > <!-- NOT NEEDED -->
> > >
> > > <complexType name="Name">
> > >
> > > <sequence>
> > >
> > > <element name="first" type="xsd:anyType" />
> > >
> > > <element name="last" type="xsd:string" />
> > >
> > > </sequence>
> > >
> > > </complexType>
> > >
> > > <xsd:complexType name="LogonDataType">
> > >
> > > <xsd:sequence>
> > >
> > > <xsd:element name="Field"
> > >
> > > type="tns:LogonDataFieldType" maxOccurs="unbounded" />
> > >
> > > </xsd:sequence>
> > >
> > > <xsd:attribute name="SystemID" type="xsd:string" />
> > >
> > > </xsd:complexType>
> > >
> > > <xsd:complexType name="LogonDataFieldType">
> > >
> > > <xsd:attribute name="key" type="xsd:string" />
> > >
> > > <xsd:attribute name="value" type="xsd:string" />
> > >
> > > </xsd:complexType>
> > >
> > > </schema>
> > >
> > > <schema elementFormDefault="qualified" targetNamespace="
> > > http://de_cenit_SOUL_ServiceRuntime";
> > >
> > > xmlns="http://www.w3.org/2001/XMLSchema";>
> > >
> > >
> > >
> > > <complexType name="Exception">
> > >
> > > <sequence>
> > >
> > > <element minOccurs="0" name="Exception" nillable="true"
> > > type="xsd:anyType"/>
> > >
> > > </sequence>
> > >
> > > </complexType>
> > >
> > > <element name="SOULException">
> > >
> > > <complexType>
> > >
> > > <sequence>
> > >
> > > <element minOccurs="0" name="SOULException" nillable="true"
> > > type="ns1:SOULException"/>
> > >
> > > </sequence>
> > >
> > > </complexType>
> > >
> > > </element>
> > >
> > > </schema>
> > >
> > > <schema xmlns:ax21="http://de_cenit_SOUL_ServiceRuntime/xsd";
> > > attributeFormDefault="qualified" elementFormDefault="qualified"
> > > targetNamespace="http://de_cenit_SOUL_ServiceRuntime/xsd"; xmlns="
> > > http://www.w3.org/2001/XMLSchema";>
> > >
> > > <complexType name="SOULException">
> > >
> > > <complexContent>
> > >
> > > <extension base="ns0:Exception">
> > >
> > > <sequence/>
> > >
> > > </extension>
> > >
> > > </complexContent>
> > >
> > > </complexType>
> > >
> > > </schema>
> > >
> > > </wsdl:types>
> > >
> > > <wsdl:message name="execRequest">
> > >
> > > <wsdl:part element="tns:exec" name="parameters" />
> > >
> > > </wsdl:message>
> > >
> > > <wsdl:message name="execResponse">
> > >
> > > <wsdl:part element="tns:execResponse" name="parameters" />
> > >
> > > </wsdl:message>
> > >
> > >
> > >
> > > <wsdl:message name="getNameRequest">
> > >
> > > <wsdl:part element="tns:getName" name="parameters" />
> > >
> > > </wsdl:message>
> > >
> > > <wsdl:message name="getNameResponse">
> > >
> > > <wsdl:part element="tns:getNameResponse" name="parameters" />
> > >
> > > </wsdl:message>
> > >
> > > <wsdl:message name="getSessionIDRequest">
> > >
> > > <wsdl:part element="tns:getSessionID" name="parameters" />
> > >
> > > </wsdl:message>
> > >
> > > <wsdl:message name="getSessionIDResponse">
> > >
> > > <wsdl:part element="tns:getSessionIDResponse" name="parameters" />
> > >
> > > </wsdl:message>
> > >
> > > <wsdl:message name="SOULException">
> > >
> > > <wsdl:part name="parameters" element="ns0:SOULException"/>
> > >
> > > </wsdl:message>
> > >
> > > <wsdl:message name="getStateRequest">
> > >
> > > <wsdl:part name="parameters" element="tns:getState" />
> > >
> > > </wsdl:message>
> > >
> > > <wsdl:message name="getStateResponse">
> > >
> > > <wsdl:part name="paparametersrt1" element="tns:getStateResponse" />
> > >
> > > </wsdl:message>
> > >
> > >
> > >
> > > <wsdl:message name="storeState">
> > >
> > > <wsdl:part name="parameters" element="tns:storeState" />
> > >
> > > </wsdl:message>
> > >
> > > <wsdl:message name="storeStateResponse">
> > >
> > > <wsdl:part name="parameters" element="tns:storeStateResponse" />
> > >
> > > </wsdl:message>
> > >
> > > <wsdl:portType name="HelloWorld" sca:requires="conversational">
> > >
> > > <wsdl:operation name="exec">
> > >
> > > <wsdl:input message="tns:execRequest" name="execRequest" />
> > >
> > > <wsdl:output message="tns:execResponse" name="execResponse" />
> > >
> > > <wsdl:fault message="tns:SOULException" name="SOULException"/>
> > >
> > > </wsdl:operation>
> > >
> > > <wsdl:operation name="getName">
> > >
> > > <wsdl:input message="tns:getNameRequest" name="getNameRequest" />
> > >
> > > <wsdl:output message="tns:getNameResponse" name="getNameResponse" />
> > >
> > > </wsdl:operation>
> > >
> > > <wsdl:operation name="getSessionID">
> > >
> > > <wsdl:input message="tns:getSessionIDRequest"
> name="getSessionIDRequest"
> > > />
> > >
> > > <wsdl:output message="tns:getSessionIDResponse"
> > > name="getSessionIDResponse" />
> > >
> > > </wsdl:operation>
> > >
> > > <wsdl:operation name="getState">
> > >
> > > <wsdl:input message="tns:getStateRequest" name="getStateRequest"/>
> > >
> > > <wsdl:output message="tns:getStateResponse" name="getStateResponse"
> > > />
> > >
> > > </wsdl:operation>
> > >
> > > <wsdl:operation name="storeState">
> > >
> > > <wsdl:input message="tns:storeStateRequest"
> > > name="storeStateRequest"/>
> > >
> > > <wsdl:output message="tns:storeStateResponse"
> name="storeStateResponse"
> > />
> > >
> > > </wsdl:operation>
> > >
> > > </wsdl:portType>
> > >
> > > <wsdl:binding name="HelloWorldSoapBinding" type="tns:HelloWorld">
> > >
> > > <wsdlsoap:binding style="document" transport="
> > > http://schemas.xmlsoap.org/soap/http"; />
> > >
> > > <wsdl:operation name="exec">
> > >
> > > <wsdlsoap:operation soapAction="" />
> > >
> > > <wsdl:input name="execRequest">
> > >
> > > <wsdlsoap:body use="literal" />
> > >
> > > </wsdl:input>
> > >
> > > <wsdl:output name="execResponse">
> > >
> > > <wsdlsoap:body use="literal" />
> > >
> > > </wsdl:output>
> > >
> > > <wsdl:fault name="SOULException">
> > >
> > > <wsdlsoap:fault use="literal" name="SOULException"/>
> > >
> > > </wsdl:fault>
> > >
> > > </wsdl:operation>
> > >
> > > <wsdl:operation name="getName">
> > >
> > > <wsdlsoap:operation soapAction="" />
> > >
> > > <wsdl:input name="getNameRequest">
> > >
> > > <wsdlsoap:body use="literal" />
> > >
> > > </wsdl:input>
> > >
> > > <wsdl:output name="getNameResponse">
> > >
> > > <wsdlsoap:body use="literal" />
> > >
> > > </wsdl:output>
> > >
> > > </wsdl:operation>
> > >
> > > <wsdl:operation name="getSessionID">
> > >
> > > <wsdlsoap:operation soapAction="" />
> > >
> > > <wsdl:input name="getSessionIDRequest">
> > >
> > > <wsdlsoap:body use="literal" />
> > >
> > > </wsdl:input>
> > >
> > > <wsdl:output name="getSessionIDResponse">
> > >
> > > <wsdlsoap:body use="literal" />
> > >
> > > </wsdl:output>
> > >
> > > </wsdl:operation>
> > >
> > > <wsdl:operation name="getState">
> > >
> > > <wsdlsoap:operation soapAction="" />
> > >
> > > <wsdl:input name="getStateRequest">
> > >
> > > <wsdlsoap:body use="literal" />
> > >
> > > </wsdl:input>
> > >
> > > <wsdl:output name="getStateResponse">
> > >
> > > <wsdlsoap:body use="literal" />
> > >
> > > </wsdl:output>
> > >
> > > </wsdl:operation>
> > >
> > > <wsdl:operation name="storeState">
> > >
> > > <wsdlsoap:operation soapAction="" />
> > >
> > > <wsdl:input name="storeStateRequest">
> > >
> > > <wsdlsoap:body use="literal" />
> > >
> > > </wsdl:input>
> > >
> > > <wsdl:output name="storeStateResponse">
> > >
> > > <wsdlsoap:body use="literal" />
> > >
> > > </wsdl:output>
> > >
> > > </wsdl:operation>
> > >
> > > </wsdl:binding>
> > >
> > > <wsdl:service name="HelloWorldService">
> > >
> > > <wsdl:port binding="tns:HelloWorldSoapBinding"
> > name="HelloWorldSoapPort">
> > >
> > > <wsdlsoap:address
> > > location="http://localhost:8080/SOULSessionService"; />
> > >
> > > </wsdl:port>
> > >
> > > </wsdl:service>
> > >
> > > </wsdl:definitions>
> > >
> > > TestClient:
> > >
> > >
> > >
> > > package de.cenit.tests;
> > >
> > > import static org.junit.Assert.*;
> > >
> > > import org.junit.Test;
> > >
> > >
> > >
> > > import commonj.sdo.DataObject;
> > > import commonj.sdo.helper.XMLHelper;
> > >
> > > import de.cenit.SOUL.ServiceRuntime.ISOULService;
> > > import de.cenit.SOUL.ServiceRuntime.SDOTools;
> > > import de.cenit.SOUL.ServiceRuntime.SOULServiceProvider;
> > > import de.cenit.SOUL.ServiceRuntime.ISOULSessionService;
> > > import de_cenit_SOUL_ServiceRuntime.SOULException;
> > >
> > > public class SOULSessionServiceTest {
> > >
> > > @Test
> > > public void testExec() {
> > >
> > >   SOULServiceProvider lServiceProvider=new SOULServiceProvider();
> > >
> > >
> > > SOULServiceProvider lSOULServiceProvider=new SOULServiceProvider();
> > >
> > >       ISOULSessionService SessionService =
> > lSOULServiceProvider.getService
> > > ("SOULSessionServiceClient",ISOULSessionService.class);
> > >
> > >
> > >
> > >       DataObject name = SDOTools.loadSDOFromFile
> > ("LogonData","LogonData");
> > >
> > >
> > >        DataObject value =null;
> > > try {
> > >    SessionService.exec((DataObject)name);
> > >
> > >    System.out.println("GETSTATE");
> > >     System.out.println("SessionID:"+SessionService.getSessionID(""));
> > >    SessionService.exec((DataObject)name);
> > >    System.out.println("SessionID:"+SessionService.getSessionID(""));
> > >       ISOULSessionService SessionService2 =
> > lSOULServiceProvider.getService
> > > ("SOULSessionServiceClient",ISOULSessionService.class);
> > >
> > >     SessionService2.exec((DataObject)name);
> > >
> > > System.out.println("SessionID:"+SessionService2.getSessionID(""));
> > >
> > > } catch (SOULException e) {
> > >    String lmsgString=e.getMessage();
> > >   System.out.println("MSG:"+lmsgString);
> > >
> > >   String ldoString=e.getDOString();
> > >   System.out.println("SDO:"+ldoString);
> > >
> > > }
> > >
> > > }
> > >
> > > }
> > >
> > >
> > >
> > >
> > >
> > >
> > > CENIT AG Systemhaus, Industriestrasse 52-54, 70565 Stuttgart, Tel.:
> > > +49
> > > 711 7825-30, Fax: +49 711 7825-4000, Internet: www.cenit.de
> > > Geschaeftsstellen: Berlin, Duesseldorf, Frankfurt, Hamburg,
> > > Hannover, Muenchen, Saarbruecken
> > > Vorstandsmitglieder: Kurt Bengel, Christian Pusch
> > > Aufsichtsratsmitglieder: Falk Engelmann (Vorsitzender des
> > Aufsichtsrats),
> > > Hubert Leypoldt, Dr. Dirk Lippold
> > > Bankverbindungen: Deutsche Bank (BLZ 600 700 70) Kto. 1661 040,
> > > Commerzbank (BLZ 600 400 71) Kto. 532 015 500, BW-Bank (BLZ 600 501
> > > 01)
> > Kto.
> > > 2 403 313
> > > Registergericht: Amtsgericht Stuttgart
> > > Handelsregister: HRB Nr. 19117
> > > Umsatzsteuer: ID-Nr. DE 147 862 777
> >
> >
> >
> > Hi Bjorn
> >
> > Let me ask a question or two to make sure that I understand you
> scenario.
> >
> > 1/ Without Web Services
> > -----------------------
> >
> > (A)SOULSessionServiceTest  ---Java---> (B)SOULSessionServiceClient
> >                                                              impl =
> > SOULSessionService
> >
> >
> > 2/ With Web Services
> > --------------------
> >
> >
> > (A)SOULSessionServiceTest  ---Java---> (B)SOULSessionServiceClient
> > ---WebService---> (C)HelloWorldService
> >                                                                impl =
> > SOULSessionServiceComponent
> >
> > You observe that in case 1 the conversationId recorded at B is the
> > same every time you call SOULSessionServiceClient through the same
> > proxy.
> >
> > You observe that in case 2 the conversationId recorded at B is
> > different every time you call SOULSessionServiceClient through the
> > same proxy
> >
> > Is it possible to share with the implementation of
> > SOULSessionServiceComponent, or at least it @Scope configuration?
> >
> > Where does the WSDL you included get used?
> >
> >
> > Regards
> >
> > Simon
> >
> >
> >
> > Hi Simon,
> >
> > Yes you are right in case 1 (POJO-binding)  the conversationId
> > recorded at B is the same everytime I use the same proxy.
> >
> > In case 2 (WS-binding) the conversationId is different for every call.
> >
> > From my understanding in case 2 the call oder is like this:
> >
> > SOULSessionServiceTest::testExec
> >
> > calls: SOULSessionServiceComponent::getSessionID
> >
> > calls: getSessionID on a SCA generated PROXY (JAVA Generic
> > /Template-class)
> >
> > uses: WSDL-file and AXIS to generate SOAP-Message
> >
> > calls an serverside: SOULSessionService
> >
> > So the WSDL-file is used by AXIS to generate SOAP-message. I read that
> > the WSDL-file can be generated automatically.
> >
> > I am not sure if this is allready in Version 1.0, which I am currently
> > using.
> >
> > I am not sure if for webservice binding I have to use a policy-set to
> > enable conversational ?
> >
> >
> >
> >
> > Implementation of SOULSessionServiceComponent:
> >
> > I tried with @Scope("CONVERSATION") and also without
> > @Scope("CONVERSATION"). Does not change the behavior.
> >
> > @Scope("CONVERSATION")
> > public class SOULSessionServiceComponent implements
> > ISOULSessionService {
> >
> >     ISOULSessionService helloWorldService;
> >
> > /*   public String exec(String name) {
> >         System.out.println("Called getGreetings");
> >
> >         return helloWorldService.exec(name);
> >     }
> > */
> >   /*  public String exec(DataObject name) {
> >         System.out.println("Called getGreetings");
> >
> >         return helloWorldService.exec(name);
> >     }
> >     */
> >     public DataObject exec(DataObject name)  throws SOULException{
> >         System.out.println("Called getGreetings");
> >
> >         return helloWorldService.exec(name);
> >     }
> >
> >     public String getName(String name)
> >     {
> >      return helloWorldService.getName("test");
> >     }
> >
> >     public ISOULSessionService getHelloWorldService() {
> >         System.out.println("Got Injected helloWorldService");
> >         return helloWorldService;
> >     }
> >
> >     public String getSessionID(String name) {
> >         System.out.println("Called getSessionID");
> >         return helloWorldService.getSessionID(name);
> >     }
> >
> >
> >     public void setHelloWorldService(ISOULSessionService
> > helloWorldService) {
> >         System.out.println("Injected helloWorldService");
> >         this.helloWorldService = helloWorldService;
> >     }
> >
> >     public DataObject storeState(DataObject pObject)
> >     {
> >      return this.helloWorldService.storeState(pObject);
> >     }
> >
> >     public DataObject  getState(DataObject pObjectID)
> >     {
> >      return this.helloWorldService.getState(pObjectID);
> >     }
> >
> > }
> >
> > greetings
> >
> > Björn
> >
> >
> >
> >
> >
> >
> > CENIT AG Systemhaus, Industriestrasse 52-54, 70565 Stuttgart, Tel.:
> > +49
> > 711 7825-30, Fax: +49 711 7825-4000, Internet: www.cenit.de
> > Geschaeftsstellen: Berlin, Duesseldorf, Frankfurt, Hamburg, Hannover,
> > Muenchen, Saarbruecken
> > Vorstandsmitglieder: Kurt Bengel, Christian Pusch
> > Aufsichtsratsmitglieder: Falk Engelmann (Vorsitzender des
> > Aufsichtsrats), Hubert Leypoldt, Dr. Dirk Lippold
> > Bankverbindungen: Deutsche Bank (BLZ 600 700 70) Kto. 1661 040,
> > Commerzbank (BLZ 600 400 71) Kto. 532 015 500, BW-Bank (BLZ 600 501 01)
> Kto.
> > 2 403 313
> > Registergericht: Amtsgericht Stuttgart
> > Handelsregister: HRB Nr. 19117
> > Umsatzsteuer: ID-Nr. DE 147 862 777
> >
> Hi Björn
>
> OK, so the 2nd scenario is not as I originally deduced. It's more like
> this
>
> (A)SOULSessionServiceTest  ---Java---> (B)SOULSessionServiceClient
> ---WebService---> (C)SOULSessionServiceService
>                                                            impl =
> SOULSessionServiceComponent                impl = SOULSessionService
>
> So this then sounds like a potential problem with the code that should be
> taking the conversation ID out of the web service message and setting it on
> the target component. Can you raise a JIRA for this so we can keep track of
> it.
>
> I'll take a look at it and see if I can reproduce it in the Tuscany tests.
>
> Regards
>
> Simon
>
>
> CENIT AG Systemhaus, Industriestrasse 52-54, 70565 Stuttgart, Tel.: +49
> 711 7825-30, Fax: +49 711 7825-4000, Internet: www.cenit.de
> Geschaeftsstellen: Berlin, Duesseldorf, Frankfurt, Hamburg, Hannover,
> Muenchen, Saarbruecken
> Vorstandsmitglieder: Kurt Bengel, Christian Pusch
> Aufsichtsratsmitglieder: Falk Engelmann (Vorsitzender des Aufsichtsrats),
> Hubert Leypoldt, Dr. Dirk Lippold
> Bankverbindungen: Deutsche Bank (BLZ 600 700 70) Kto. 1661 040,
> Commerzbank (BLZ 600 400 71) Kto. 532 015 500, BW-Bank (BLZ 600 501 01) Kto.
> 2 403 313
> Registergericht: Amtsgericht Stuttgart
> Handelsregister: HRB Nr. 19117
> Umsatzsteuer: ID-Nr. DE 147 862 777
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
> That's great Björn. Thanks for creating the JIRA. It looks good to me.
I'll post here and update the JIRA when I make progress.

Regards

Simon

Reply via email to