Hi All,

There seems to be a web services deployment problem that is very puzzling and doesn't make sense.

1)  I am developing a web service - puBBSIDService

public class puBBSIDService
{
  Logger log = Logger.getLogger("PU_BB_WS");

  public puBBSIDService()
  {}

etc...

2)  In my web service is an operation "echoInput"

public void setOperationContext (OperationContext opctx)
  {
    log.info( "puBBSIDService(), setOperationContext" );
  }

  public String[] echoInput( String[] inParams )
  {

etc..

3)  The services.xml

<service >
    <description>
    </description>
    <parameter name="ServiceClass" locked="false">edu.princeton.bb.ws.SID.puBBSIDService</parameter>
    <operation name="echoInput">
        <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
    </operation>
 </service>

4)  When I check the available service from the admin panel -

Available operations
  • echoInput

  • Engaged Modules for the Operation
    • addressing-1.0

5)  I compiled, created the puBBSIDService.aar, dropped it in the services directory, and stopped and started Tomcat.

6)  It works fine wonderfully!

7)  When I changed the name of the operation "echoInput" to "echoAuthen" -

  public String[] echoAuthen( String[] inParams )
  {
    String[] yingYang = new String[inParams.length];

etc...

8)  I also changed the services.xml

<service >
    <description>
    </description>
    <parameter name="ServiceClass" locked="false">edu.princeton.bb.ws.SID.puBBSIDService</parameter>
    <operation name="echoAuthen">
        <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
    </operation>
 </service>

8) Then I recompiled, created the aar file, dropped it in the services and stopped and started Tomcat.

9)  I checked the available services and operations on the admin panel -

Available operations
  • echoAuthen

  • Engaged Modules for the Operation
    • addressing-1.0
10)  The automatically generated wsdl is

<wsdl:definitions targetNamespace="http://ws.apache.org/axis2">
    <wsdl:types>
    <xs:schema targetNamespace="http://SID.ws.bb.princeton.edu/xsd" elementFormDefault="unqualified" attributeFormDefault="unqualified">
    <xs:element name="echoAuthen">
    <xs:complexType>
    <xs:sequence>
<xs:element minOccurs="0" type="xs:string" name="inParams" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>

11)  From my php client when I try to access the operation "echoAuthen", Axis2 doesn't acknowledge the request.  The log for "setOperationContext", in 2),  doesn't show.  However with the same client I try to access "echoInput", the "setOperationContext" log shows, even though "echoInput" has changed to "echoAuthen".

12)  This is baffling and make me wonder if stopping and starting Tomcat is the correct way to reload the web service.  What is the correct procedure because it seems like the Axis2 servlet is not resetting and there is some residual memory that isn't getting cleared.

Your help will be greatly appreciated...

Jennifer

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

Reply via email to