I have used the Eclipse WebServices Client wizard to generate axis WS.  The 
tool properly creates bindings that allow me to connect to the web service.

But I want my project to be maven based, so I used the 
axis2-wsdl2code-maven-plugin to generate bindings.  The pom entry is as follows:

<plugin>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-wsdl2code-maven-plugin</artifactId>
<version>1.4.1</version>
<configuration>
<packageName>com.myorg.teamtrack.stubs</packageName>
<generateAllClasses>true</generateAllClasses>
<wsdlFile>src/main/resources/ttwebservices.wsdl</wsdlFile>
<databindingName>adb</databindingName>
</configuration>
<executions>
<execution>
<goals>
<goal>wsdl2code</goal>
</goals>
</execution>
</executions>
</plugin>

When I run a test client that uses the bindings I get the following Exception:

INFO: Unable to sendViaPost to 
url[http://teamtrack.hostname.com/gsoap/ttwebservices.wsdl?wsdl]
org.apache.axis2.AxisFault: Transport error: 405 Error: Method Not Allowed
      at 
org.apache.axis2.transport.http.HTTPSender.handleResponse(HTTPSender.java:296)
      at 
org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:190)
      at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75)
      at 
org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:364)
      at 
org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:208)
      at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:448)
      at ...

Notice the exception that says it is trying to connect via POST method:  I 
believe that the Eclipse generated code is generating GET method calls.

So the question is, how can I either configure the maven plugin to generated 
GET-based calls or how can I programmatically tell Axis to set WS calls via GET?

Thanks in advance for any help.

Adam

Reply via email to