以前开发webservice使用IBM工具比较简单,最近重新感觉一下使用AXIS2。
基本步骤:
1 eclipse
2 axis2文件
3 tomcat容器/jetty
创建javaBean,反向为wsdl,同时使用wsdl制作client。
TestCal
Hi there, this is an AXIS service!
Perhaps there will be a form for invoking the service here...
<wsdl:definitions xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://rx.com" xmlns:intf="http://rx.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://rx.com">
<!--
WSDL created by Apache Axis version: 1.4 Built on Apr 22, 2006 (06:55:48 PDT)
-->
<wsdl:types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://rx.com">
<element name="s" type="xsd:string"/>
<element name="sayReturn" type="xsd:string"/>
</schema>
</wsdl:types>
<wsdl:message name="sayResponse">
<wsdl:part element="impl:sayReturn" name="sayReturn"></wsdl:part>
</wsdl:message>
<wsdl:message name="sayRequest">
<wsdl:part element="impl:s" name="s"></wsdl:part>
</wsdl:message>
<wsdl:portType name="TestCal">
<wsdl:operation name="say" parameterOrder="s">
<wsdl:input message="impl:sayRequest" name="sayRequest"></wsdl:input>
<wsdl:output message="impl:sayResponse" name="sayResponse"></wsdl:output>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="TestCalSoapBinding" type="impl:TestCal">
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="say">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="sayRequest">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="sayResponse">
<wsdlsoap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="TestCalService">
<wsdl:port binding="impl:TestCalSoapBinding" name="TestCal">
<wsdlsoap:address location="http://localhost/a/services/TestCal"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
package com.rx;
import java.rmi.RemoteException;
public class MyTest {
/**
* @param args
* @throws RemoteException
*/
public static void main(String[] args) throws RemoteException {
TestCal testCal = new TestCalProxy();
System.out.println(testCal.say("bdfdfa"));
}
}
war部署到容器中。
客户端测试代码
在tomcat和jetty(D:\jetty-6.1.6>java -jar start.jar)下都测试通过。
下面的推荐我没仔细看,瞄了一眼, 感觉还比较全。