locked
CSF :Error ==> Participant does not support action RRS feed

  • Question

  • Hi all,

     

    I have the following code:

     

    [CsfService(Name = "MyService", Namespace = "http://MyServer/ MyService ")]

     public class MyService: CsfService, ISessionManagerAdminResponse

        {

          //…

         

    [Operation(Name = "AboutResponse", Oneway = true, Action = "http://MyServer/MyService/AboutResponse")]

            public void AboutResponse(MessageBody body)

            {

                if (OnRouteCEOResponse != null)

                {

                    OnRouteCEOResponse(body);

                }

            }

                //...

    }

     

    In the manifest file i have the following :

     

    <SessionName>MyCSFSession</SessionName>

        <Participants>

                <Participant timeout="30" role="Service" inChannelResponse="false" type="WebService">

            <ParticipantName>UIParticipant</ParticipantName>

            <ParticipantID>UIParticipantID</ParticipantID>

            <ParticipantUrl>soap.tcp://MyServer:9100/MyService</ParticipantUrl>

                      <PolicyDocument>

                            <Reference>CSFTraceServicePolicy</Reference>>

                      </PolicyDocument>           

                </Participant>

     

     

          </Participants>

        <RoutingTable version="0" timestamp="0001-01-01T00:00:00.0000000-08:00">

        <Routes>

     

                <Route>

                      <Criteria>(ACTION EQ 'http://MyDataNamespace/MyMessage')</Criteria>

                      <Destination>UIParticipant [http://MyServer/ MyService/AboutResponse]</Destination> 

                </Route>

               

          </Routes>

        </RoutingTable>

    </Session>

     

    When i try to create the session i have "The participant 'UIParticipant[http://MyServer/MyService /AboutResponse]' does not support action 'http://MyServer/ MyService /AboutResponse'." (error 20117).

     

     Don't understand why

    Thank's in advance for reply.


    mta38

    Monday, November 19, 2007 12:13 PM

Answers

  • I resolved my problem ... but really want to understand why this run now 


    - First : Remove files  from cache in "Session/Participant/Cache" folder.

    - Second : Modify in Session.config file :
    Replace
    <SessionManagerAdminWSUri>http://MyServer/Session30/SessionManagerAdmin.ashx</SessionManagerAdminWSUri>
                <SessionAdminWSUri>http://MyServer/Session30/SessionAdmin.ashx</SessionAdminWSUri>
                <SessionWSUri>http://MyServer/Session30/Session.ashx</SessionWSUri>

    With
                <SessionManagerAdminWSUri>http://{0}/Session30/SessionManagerAdmin.ashx</SessionManagerAdminWSUri>
                <SessionAdminWSUri>http://{0}/Session30/SessionAdmin.ashx</SessionAdminWSUri>
                <SessionWSUri>http://{0}Session30/Session.ashx</SessionWSUri>

    mta38
    Tuesday, November 20, 2007 3:49 PM
  • Hi,

     

    Good that you could fix the issue yourself.

    Here is the explianation of the two points you mentioned above:

     

    - First : Clearing the participant cache

    There are two config keys under Participant Configuration Section viz. ProxyCacheDirectoryPath and ProxyCacheExpirationTime which are important here. The first key sets the path where Session caches the WSDL of the Participant Services for better performance while the second key is responsible for setting the timeout of the cached WSDL.

     

    So, the thumb rule - "Always clear the participant cache and reset the IIS (optional) if you have changed any of the Participant Service's code and / or configuration."

     

    - Second: Modification of the Session.config for the Server Name

    Here the important key is DNSAddressOfNonClusteredNode, as long as the value of this key and the one you write to replace {0} is same there should not be any issues. But still as the best practice have your Server Name coming from the config key only.

     

    I hope this helps.

     

    Regards,

    Rishabh Kapoor.

    Tuesday, November 20, 2007 7:29 PM

All replies

  • I resolved my problem ... but really want to understand why this run now 


    - First : Remove files  from cache in "Session/Participant/Cache" folder.

    - Second : Modify in Session.config file :
    Replace
    <SessionManagerAdminWSUri>http://MyServer/Session30/SessionManagerAdmin.ashx</SessionManagerAdminWSUri>
                <SessionAdminWSUri>http://MyServer/Session30/SessionAdmin.ashx</SessionAdminWSUri>
                <SessionWSUri>http://MyServer/Session30/Session.ashx</SessionWSUri>

    With
                <SessionManagerAdminWSUri>http://{0}/Session30/SessionManagerAdmin.ashx</SessionManagerAdminWSUri>
                <SessionAdminWSUri>http://{0}/Session30/SessionAdmin.ashx</SessionAdminWSUri>
                <SessionWSUri>http://{0}Session30/Session.ashx</SessionWSUri>

    mta38
    Tuesday, November 20, 2007 3:49 PM
  • Hi,

     

    Good that you could fix the issue yourself.

    Here is the explianation of the two points you mentioned above:

     

    - First : Clearing the participant cache

    There are two config keys under Participant Configuration Section viz. ProxyCacheDirectoryPath and ProxyCacheExpirationTime which are important here. The first key sets the path where Session caches the WSDL of the Participant Services for better performance while the second key is responsible for setting the timeout of the cached WSDL.

     

    So, the thumb rule - "Always clear the participant cache and reset the IIS (optional) if you have changed any of the Participant Service's code and / or configuration."

     

    - Second: Modification of the Session.config for the Server Name

    Here the important key is DNSAddressOfNonClusteredNode, as long as the value of this key and the one you write to replace {0} is same there should not be any issues. But still as the best practice have your Server Name coming from the config key only.

     

    I hope this helps.

     

    Regards,

    Rishabh Kapoor.

    Tuesday, November 20, 2007 7:29 PM
  • Hi MTA,

     

    did you get the answer from what rishabh said.

    If not you can again ask your specific doubt.

    please close the thread in case you are convinced with the answer.

     

     

    Wednesday, November 21, 2007 5:57 AM