axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andy Carlson" <andyslist...@hotmail.com>
Subject lowercase first character of method names
Date Thu, 20 Dec 2001 12:31:26 GMT
Hi all,

I've been experimenting with the nightly Axis builds using WSDL to create a 
service and a client and have come across a problem.

The WSDL was created by a colleague using Microsoft's .net toolkit and a 
snippet of the key area is below:-

  <binding name="Service1Soap" type="s0:Service1Soap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" 
style="rpc" />
    <operation name="DoEcho">
      <soap:operation soapAction="http://tempuri.org/DoEcho" 
style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
  </binding>

As you can see, the operation name starts with an uppercase character. When 
this is put through WSDL2Java, it creates stubs and skeletons etc but uses a 
method name of 'doEcho' (i.e. lowercase first). This all builds and deploys 
just fine but when run, causes an exception in the server...

    <ns2:stackTrace xmlns:ns2="http://xml.apache.org/axis/">Method not found
Method name = DoEcho
Service name = Service1Soap&#xd;
	at 
org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:181)&#xd;
	at 
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:242)&#xd;
	at 
org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:253)&#xd;
	at org.apache.axis.server.AxisServer.invoke(AxisServer.java:288)&#xd;
	at 
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:485)&#xd;
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)&#xd;
(snip)

The generated WSDD indicates an uppercase method name...

  <service name="Service1Soap" provider="java:RPC">
      <parameter name="className" value="org.tempuri.Service1SoapSkeleton"/>
      <parameter name="methodName" value=" DoEcho"/>
  </service>

Just changing the name in the WSDD causes a 'Method names do not match' 
error.

If I manually modify the generated code to use an uppercase 'D', then 
everything works just fine.

Alpha 3, on the other hand generates code with an uppercase 'D' (at least 
the release candidate I fetched on the 12th of December did). Note that this 
was using different WSDL which does not use literal encoding.

The confusing thing is that I cant see why others havent found the same 
problem because its effect on me is pretty fundamental. Maybe everyone else 
is using lowercase in their wsdl? Maybe I just cant find the right messages 
in the mailing list archive?

Is this a bug (and in what?) or a feature?

Any ideas?

Regards, Andy


_________________________________________________________________
Join the world’s largest e-mail service with MSN Hotmail. 
http://www.hotmail.com


Mime
View raw message