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: tuscany-user@ws.apache.org
> 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

Reply via email to